Browse Source

feat:买入付款新增节点 网络订单分类修改

snow 2 years ago
parent
commit
17077a3d98
49 changed files with 906 additions and 211 deletions
  1. 1 1
      src/components/ReconciliationForm/src/_details.ts
  2. 3 2
      src/utils/btnList.ts
  3. 2 2
      src/utils/details/purchPay.ts
  4. 1 1
      src/utils/details/reconciliation.ts
  5. 1 1
      src/utils/details/ticket-return.ts
  6. 1 1
      src/views/interest/accountQuery/config/_options.ts
  7. 1 1
      src/views/invoice/query/components/purchase-config/_opitons.ts
  8. 17 56
      src/views/netOrderEnter/netOrderEntry/components/category.vue
  9. 11 11
      src/views/netOrderEnter/netOrderEntry/components/customer.vue
  10. 1 1
      src/views/netOrderEnter/netOrderEntry/config/_options.ts
  11. 16 27
      src/views/netOrderEnter/netOrderEntry/qrd-modal.vue
  12. 1 1
      src/views/parameter/commission/company-select.vue
  13. 1 1
      src/views/purchase/orderRecord/config/_options.ts
  14. 1 1
      src/views/purchase/orderRecord/config/content.config.ts
  15. 0 1
      src/views/purchase/orderRecord/config/search.config.ts
  16. 1 1
      src/views/purchase/orderRecord/detail.vue
  17. 5 6
      src/views/purchase/orderRecord/index.vue
  18. 1 1
      src/views/purchase/porder/config/_details.ts
  19. 0 12
      src/views/purchase/porder/config/content.config.ts
  20. 13 10
      src/views/purchase/purchPay/component/choose-modal.vue
  21. 13 9
      src/views/purchase/purchPay/config/_options.ts
  22. 2 15
      src/views/purchase/purchPay/config/content.config.ts
  23. 26 11
      src/views/purchase/purchPay/detail.vue
  24. 2 2
      src/views/purchase/purchPayRelive/config/_options.ts
  25. 1 1
      src/views/purchase/purchPayRelive/detail.vue
  26. 63 0
      src/views/purchase/purchPay__/component/choose-form.vue
  27. 187 0
      src/views/purchase/purchPay__/component/choose-modal.vue
  28. 135 0
      src/views/purchase/purchPay__/config/_details.ts
  29. 53 0
      src/views/purchase/purchPay__/config/_options.ts
  30. 12 0
      src/views/purchase/purchPay__/config/_rules.ts
  31. 116 0
      src/views/purchase/purchPay__/config/content.config.ts
  32. 36 0
      src/views/purchase/purchPay__/config/search.config.ts
  33. 0 0
      src/views/purchase/purchPay__/config/采购付款.md
  34. 119 0
      src/views/purchase/purchPay__/detail.vue
  35. 33 0
      src/views/purchase/purchPay__/index.vue
  36. 5 5
      src/views/purchase/ticketReturn/components/choose-modal.vue
  37. 2 2
      src/views/purchase/ticketReturn/config/_opitons.ts
  38. 2 2
      src/views/purchase/ticketReturn/detail.vue
  39. 1 1
      src/views/purchase/ticketReturnRelive/config/_opitons.ts
  40. 1 1
      src/views/supply/orderRecord/config/_options.ts
  41. 2 3
      src/views/supply/orderRecord/config/search.config.ts
  42. 1 1
      src/views/supply/porder/config/_details.ts
  43. 8 13
      src/views/supply/purchPay/component/choose-modal.vue
  44. 2 2
      src/views/supply/purchPay/config/_options.ts
  45. 1 1
      src/views/supply/purchPayRelive/config/_options.ts
  46. 2 1
      src/views/supply/ticketReturn/components/choose-modal.vue
  47. 1 1
      src/views/supply/ticketReturn/config/_opitons.ts
  48. 1 1
      src/views/supply/ticketReturn/detail.vue
  49. 1 1
      src/views/system/updates/config/_options.ts

+ 1 - 1
src/components/ReconciliationForm/src/_details.ts

@@ -100,7 +100,7 @@ export const reconciliationColumns: DescriptionColumns = [
 
 export const statusOptions = [
   {
-    label: "买方审核",
+    label: "买方公司财务审核",
     value: "1"
   },
   {

+ 3 - 2
src/utils/btnList.ts

@@ -18,7 +18,7 @@ const btnList = [
   { code: "017", name: "导出回票数据" },
   { code: "018", name: "批量导入认证结果" },
   { code: "019", name: "下载回票批量申请模板" },
-  { code: "020", name: "买方公司审核" },
+  { code: "020", name: "买方公司财务审核" },
   { code: "021", name: "买方公司认证" },
   { code: "022", name: "撤销对账申请" },
   { code: "023", name: "撤销对账付款申请" },
@@ -36,6 +36,7 @@ const btnList = [
   { code: "035", name: "批量导入订单认款数据" },
   { code: "036", name: "下载批量设置类目模板" },
   { code: "037", name: "批量导入设置类目结果" },
-  { code: "038", name: "对账单明细导出" }
+  { code: "038", name: "对账单明细导出" },
+  { code: "039", name: "买方公司业务审核" }
 ];
 export default btnList;

+ 2 - 2
src/utils/details/purchPay.ts

@@ -13,7 +13,7 @@ export const STATUS_OPTIONS = [
   },
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",
@@ -36,7 +36,7 @@ export const STATUS_OPTIONS = [
 export const PAYMENT_STATUS = [
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",

+ 1 - 1
src/utils/details/reconciliation.ts

@@ -106,7 +106,7 @@ export const RECONCILIATION_COLUMNS: DescriptionColumns = [
 export const statusOptions = [
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",

+ 1 - 1
src/utils/details/ticket-return.ts

@@ -28,7 +28,7 @@ export const STATUS_OPTIONS = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 1 - 1
src/views/interest/accountQuery/config/_options.ts

@@ -1,7 +1,7 @@
 export const statusOptions = [
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",

+ 1 - 1
src/views/invoice/query/components/purchase-config/_opitons.ts

@@ -4,7 +4,7 @@ export const statusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 17 - 56
src/views/netOrderEnter/netOrderEntry/components/category.vue

@@ -1,71 +1,32 @@
 <script setup lang="ts">
-import type { CascaderProps } from "element-plus";
 import { httpCategorylist } from "/@/api/netOrderEnter/netOrderEntry";
-import { useResponseHandle } from "/@/hooks/core/useAsync";
 import { useVModel } from "@vueuse/core";
+import RemoteSelect from "/@/components/RemoteSelect";
+import { ref } from "vue";
 
-const emit = defineEmits(["change", "loading"]);
 const props = defineProps<{
-  modelValue?: string;
+  modelValue: string;
 }>();
 
-const responseHandle = useResponseHandle();
 const value = useVModel(props, "modelValue");
 
-const cascaderProps: CascaderProps = {
-  lazy: true,
-  expandTrigger: "hover",
-  async lazyLoad(node, resolve) {
-    const { level, value: id } = node;
+const CategoryRef = ref<InstanceType<typeof RemoteSelect> | null>(null);
 
-    const { data, message, code } = await httpCategorylist({
-      ...(id ? { pid: id } : {})
-    });
-
-    responseHandle({
-      code,
-      message,
-      handler: () => {
-        // categorys.value[level] = data;
-
-        const nodes = data.map(({ cat_name: label, id: value }) => ({
-          value,
-          label,
-          leaf: level >= 2
-        }));
-
-        resolve(nodes);
-      }
-    });
-  }
-};
-
-async function loadCategory(pid?: string) {
-  const { data } = await httpCategorylist({ pid });
-  return data;
-}
-
-const findCategory = (list, target) => list.find(({ id }) => id === target);
-
-async function handleChange(values: Array<string>) {
-  emit("loading", true);
-  const _values: Array<Record<string, string>> = [];
-  const list_1 = await loadCategory();
-  _values.push(findCategory(list_1, values[0]));
-  const list_2 = await loadCategory(values[0]);
-  _values.push(findCategory(list_2, values[1]));
-  const list_3 = await loadCategory(values[1]);
-  _values.push(findCategory(list_3, values[2]));
-  emit("change", _values);
-  emit("loading", false);
-}
+defineExpose({
+  initalData: data => (CategoryRef.value as any).initalData(data)
+});
 </script>
 
 <template>
-  <ElCascader
-    v-model="value"
-    style="width: 100%"
-    :props="cascaderProps"
-    @change="handleChange"
+  <RemoteSelect
+    ref="CategoryRef"
+    v-model:value="value"
+    is-root
+    :api="httpCategorylist"
+    style="width: 95%"
+    placeholder="商品分类"
+    request-prop="search"
+    response-label-prop="search"
+    response-val-prop="id"
   />
 </template>

+ 11 - 11
src/views/netOrderEnter/netOrderEntry/components/customer.vue

@@ -1,30 +1,30 @@
 <script setup lang="ts">
-import { ref } from "vue"
+import { ref } from "vue";
 import { useVModel } from "@vueuse/core";
-import RemoteSelect from '/@/components/RemoteSelect';
+import RemoteSelect from "/@/components/RemoteSelect";
 import { httpCustomerlist } from "/@/api/netOrderEnter/netOrderEntry";
 
 const props = defineProps<{
   modelValue?: string;
 }>();
 
-const value = useVModel(props, 'modelValue');
+const value = useVModel(props, "modelValue");
 
-const RemoteSelectRef = ref<InstanceType<typeof RemoteSelect> | null>(null)
+const RemoteSelectRef = ref<InstanceType<typeof RemoteSelect> | null>(null);
 
 defineExpose({
-  initalData:(data) => (RemoteSelectRef.value as any).initalData(data)
-})
+  initalData: data => (RemoteSelectRef.value as any).initalData(data)
+});
 </script>
 
 <template>
-  <RemoteSelect 
+  <RemoteSelect
     ref="RemoteSelectRef"
-    v-model="value" 
-    style="width:100%;" 
+    v-model="value"
+    style="width: 100%"
     :api="httpCustomerlist"
     requestProp="company"
-    response-label-prop="companyName" 
-    response-val-prop="companyNo" 
+    response-label-prop="companyName"
+    response-val-prop="companyNo"
   />
 </template>

+ 1 - 1
src/views/netOrderEnter/netOrderEntry/config/_options.ts

@@ -258,7 +258,7 @@ export const defaultData = {
   contactor: "",
   buyerid: "",
   sendtime: "",
-  cat: [],
+  cat: "",
   supplierNo: "",
   cgd_tax: "",
   sale_depart: "",

+ 16 - 27
src/views/netOrderEnter/netOrderEntry/qrd-modal.vue

@@ -3,6 +3,14 @@ import { ref, computed, nextTick } from "vue";
 import { ElForm, ElMessage } from "element-plus";
 import { ModalTypes } from "/@/modules/modal";
 import { useAsync } from "/@/hooks/core/useAsync";
+import { useCompany } from "/@/hooks/core/useCompany";
+
+import Company from "./components/company.vue";
+import Customer from "./components/customer.vue";
+import Supplier from "./components/supplier.vue";
+import Category from "./components/category.vue";
+import SaleUser from "./components/sale-user.vue";
+import User from "./components/user.vue";
 
 import {
   httpRatelist,
@@ -10,31 +18,25 @@ import {
   httpUpdate,
   httpDetail
 } from "/@/api/netOrderEnter/netOrderEntry";
+
 import {
   formRules,
   saleDepartOptions,
   purchaseDepartOptions,
   defaultData
 } from "./config/_options";
-import { useCompany } from "/@/hooks/core/useCompany";
-
-import Company from "./components/company.vue";
-import Customer from "./components/customer.vue";
-import Supplier from "./components/supplier.vue";
-import Category from "./components/category.vue";
-import SaleUser from "./components/sale-user.vue";
-import User from "./components/user.vue";
 
 const emit = defineEmits(["reload"]);
 
 const visible = ref(false);
+const loading = ref(false);
 const modalType = ref<ModalTypes>(ModalTypes.create);
 const customerRef = ref<InstanceType<typeof Customer> | null>(null);
 const supplierRef = ref<InstanceType<typeof Supplier> | null>(null);
 const companyRef = ref<InstanceType<typeof Company> | null>(null);
 const saleUserRef = ref<InstanceType<typeof User> | null>(null);
 const buyerUserRef = ref<InstanceType<typeof User> | null>(null);
-const loading = ref(false);
+const categoryRef = ref<InstanceType<typeof Category> | null>(null);
 
 const disabledDate = (time: Date) => time.getTime() > new Date().valueOf();
 
@@ -59,15 +61,15 @@ function onRequsetDetailSuccess(data: Record<string, string>) {
 
   const { companyNo, supplierNo, khNo, cat, sale_name, buyer } = formData.value;
 
-  categoryData.value = cat;
-  formData.value.cat = categoryData.value.map(({ id }) => (id ? id : ""));
+  const _cat = cat ? cat[cat.length - 1].id : "";
+  formData.value.cat = _cat;
   requsetRatelist();
 
   //回显数据
   companyRef.value.initalData({ companyNo });
   supplierRef.value.initalData({ companyNo: supplierNo });
   customerRef.value.initalData({ companyNo: khNo });
-
+  categoryRef.value.initalData({ cat: _cat });
   buyerUserRef.value.initalData({ nickname: buyer, companyNo });
   saleUserRef.value.initalData({ nickname: sale_name, companyNo });
 }
@@ -101,8 +103,6 @@ const { run: runDetail, loading: detailLoading } = useAsync({
   success: data => onRequsetDetailSuccess(data)
 });
 
-const categoryData = ref<Array<Record<string, string>>>([]);
-
 const title = computed(() => {
   const baseTitle = "确认单";
   const isPreview = modalType.value === ModalTypes.preview;
@@ -151,15 +151,8 @@ function handleConfirm() {
   formRef.value.validate(isValid => {
     if (!isValid) return null;
     const isUpdate = modalType.value === ModalTypes.update;
-
-    const params = {
-      ...formData.value,
-      cat: categoryData.value
-    };
-
     const requsetFunc = isUpdate ? requsetUpdateQrd : requsetCreateQrd;
-
-    requsetFunc(params);
+    requsetFunc(formData.value);
   });
 }
 
@@ -370,11 +363,7 @@ defineExpose({ onDisplay });
 
         <ElCol :span="12">
           <ElFormItem label="商品分类" prop="cat">
-            <Category
-              v-model="formData.cat"
-              @loading="_loading => (loading = _loading)"
-              @change="categorys => (categoryData = categorys)"
-            />
+            <Category v-model="formData.cat" ref="categoryRef" />
           </ElFormItem>
         </ElCol>
 

+ 1 - 1
src/views/parameter/commission/company-select.vue

@@ -1,6 +1,6 @@
 <script setup lang="ts">
-import { httpList } from "/@/api/parameter/finance";
 import { useVModel } from "@vueuse/core";
+import { httpList } from "/@/api/parameter/finance";
 import RemoteSelect from "/@/components/RemoteSelect";
 
 const props = defineProps<{

+ 1 - 1
src/views/purchase/orderRecord/config/_options.ts

@@ -1,7 +1,7 @@
 export const statusOptions = [
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",

+ 1 - 1
src/views/purchase/orderRecord/config/content.config.ts

@@ -26,7 +26,7 @@ const columns = [
   {
     label: "状态",
     prop: "status",
-    width: 120,
+    width: 140,
     transform: status =>
       statusOptions.find(s => status === s.value)?.label || "--",
     ...renderProp(statusOptions)

+ 0 - 1
src/views/purchase/orderRecord/config/search.config.ts

@@ -8,7 +8,6 @@ const searchFormConfig: FormConfig = {
       type: "input_group",
       otherOptions: {
         inputGroupOptions: [
-          { value: "sequenceNo", label: "采购单编号" },
           { value: "supplierNo", label: "卖方公司编号" },
           { value: "supplierName", label: "卖方公司名称" },
           { value: "payNo", label: "对账编号" }

+ 1 - 1
src/views/purchase/orderRecord/detail.vue

@@ -19,7 +19,7 @@ const status = computed(() => formRef.value?.detail.status || "");
 const pageName = "orderRecordDetail";
 const _loading = ref(false);
 
-// { code: "020", name: "买方公司审核" }
+// { code: "020", name: "买方公司财务审核" }
 const { hasPermissionWithCode } = usePermission(pageName);
 const { id, title, isDetail, collapses } = useDetail({
   baseName: "订单对账",

+ 5 - 6
src/views/purchase/orderRecord/index.vue

@@ -1,16 +1,15 @@
 <script setup lang="ts">
 import { ref } from "vue";
 import { useRouter } from "vue-router";
+import { ElMessage } from "element-plus";
 import contentConfig from "./config/content.config";
-import searchConfig from "./config/search.config";
 import { usePageSearch, type PageHooks, type PageEvents } from "/@/hooks/page";
 import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
-import { useAsync } from "/@/hooks/core/useAsync";
-
+import { usePermission } from "/@/hooks/core/usePermission";
 import { httpStatus } from "/@/api/purchase/orderRecord";
 import { httpRequsetExport } from "/@/utils/export";
-import { ElMessage } from "element-plus";
-import { usePermission } from "/@/hooks/core/usePermission";
+import { useAsync } from "/@/hooks/core/useAsync";
+import searchConfig from "./config/search.config";
 
 const PageName = "orderRecord";
 const baseUrl = "/purchase/orderRecordDetail";
@@ -82,7 +81,7 @@ async function onDownloadPayInfo() {
     >
       <template #content_header>
         <ElButton
-          type="small"
+          size="small"
           v-if="hasPermissionWithCode('038')"
           :loading="loading"
           @click="() => onDownloadPayInfo()"

+ 1 - 1
src/views/purchase/porder/config/_details.ts

@@ -166,7 +166,7 @@ export const PURCHAS_COLUMNS: DescriptionColumns = [
   },
   {
     label: "商品类型",
-    field: "goodType",
+    field: "cgdType",
     render(type) {
       return h(ElTag, null, {
         default: () => cg_order_type_options.find(c => c.value == type)?.label

+ 0 - 12
src/views/purchase/porder/config/content.config.ts

@@ -8,18 +8,6 @@ import { CG_ORDER_SOURCE_OPTIONS } from "/@/config/status";
 import { cg_order_type_options } from "/@/utils/status";
 
 const columns = [
-  // {
-  //   type: "selection",
-  //   width: 55,
-  //   hide: ({ checkList }) => !checkList.includes("勾选列")
-  // },
-  // {
-  //   label: "序号",
-  //   type: "index",
-  //   width: 70,
-  //   hide: ({ checkList }) => !checkList.includes("序号列")
-  // },
-
   {
     label: "采购单编号",
     prop: "sequenceNo",

+ 13 - 10
src/views/purchase/purchPay/component/choose-modal.vue

@@ -23,7 +23,7 @@ const pagination = reactive({
 });
 
 const formData = ref<Record<string, string>>({
-  pay_status: "",
+  pay_status: "0",
   currentValue: ""
 });
 
@@ -84,7 +84,13 @@ function handleSizeChange() {
 }
 
 function handleSearch(_isReset?: boolean) {
-  if (_isReset) formData.value = {};
+  if (_isReset) {
+    formData.value = {
+      pay_status: "0",
+      currentValue: ""
+    };
+  }
+
   pagination.page = 1;
   requestPaymentList();
 }
@@ -107,21 +113,18 @@ defineExpose({
         <el-input
           clearable
           v-model="formData.currentValue"
-          placeholder="对账编号"
+          placeholder="请输入"
         >
           <template #prepend>
             <el-select v-model="currentKey" style="width: 130px">
               <el-option label="对账编号" value="payNo" />
-              <el-option label="买方公司编号" value="companyNo" />
+              <el-option label="卖方公司编号" value="supplierNo" />
+              <el-option label="卖方公司名称" value="supplierName" />
             </el-select>
           </template>
         </el-input>
-        <el-select
-          clearable
-          w-80
-          v-model="formData.pay_status"
-          placeholder="付款状态"
-        >
+        <el-select w-80 v-model="formData.pay_status" placeholder="付款状态">
+          <el-option value="0" label="未付款或部分付款" />
           <el-option value="1" label="未付款" />
           <el-option value="2" label="部分付款" />
         </el-select>

+ 13 - 9
src/views/purchase/purchPay/config/_options.ts

@@ -1,27 +1,31 @@
 export const statusOptions = [
-  {
-    value: "0",
-    label: "待发起"
-  },
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司业务审核"
   },
   {
     value: "2",
-    label: "待付款回执"
+    label: "买方公司财务审核"
   },
   {
     value: "3",
-    label: "付款成功"
+    label: "待付款回执"
   },
   {
     value: "4",
-    label: "买方公司驳回"
+    label: "付款成功"
   },
   {
     value: "5",
     label: "付款已退"
+  },
+  {
+    value: "6",
+    label: "买方公司业务驳回"
+  },
+  {
+    value: "7",
+    label: "买方公司财务驳回"
   }
 ];
 
@@ -31,7 +35,7 @@ export const paymentStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 2 - 15
src/views/purchase/purchPay/config/content.config.ts

@@ -1,25 +1,11 @@
 import { ContentConfig } from "/@/components/PageContent";
 import { httpList, httpDelete } from "/@/api/purchase/orderPay";
 
-import dayjs from "dayjs";
 import { h } from "vue";
 import { ElTag } from "element-plus";
 import { statusOptions } from "./_options";
 
 const columns = [
-  // {
-  //   type: "selection",
-  //   minWidth: 55,
-  //   align: "left",
-  //   hide: ({ checkList }) => !checkList.includes("勾选列")
-  // },
-  // {
-  //   label: "序号",
-  //   type: "index",
-  //   minWidth: 60,
-  //   align: "left",
-  //   hide: ({ checkList }) => !checkList.includes("序号列")
-  // },
   {
     label: "对账付款编号",
     prop: "dzNo",
@@ -34,7 +20,7 @@ const columns = [
   {
     label: "状态",
     prop: "dstatus",
-    minWidth: 120,
+    minWidth: 140,
     transform: dstatus =>
       statusOptions.find(s => String(dstatus) === s.value)?.label,
     cellRenderer: ({ row, props }) =>
@@ -105,6 +91,7 @@ const contentConfig: ContentConfig = {
   title: "采购付款",
   columns,
   deleteProp: "dzNo",
+  superUserNoAction: true,
   showDelete: ({ dstatus }) => Number(dstatus) === 1,
   apis: {
     httpList,

+ 26 - 11
src/views/purchase/purchPay/detail.vue

@@ -1,25 +1,26 @@
 <script setup lang="ts">
 import { ref } from "vue";
+import { useRouter } from "vue-router";
 import { useDetail } from "/@/hooks/core/useDetail";
 import { useAsync } from "/@/hooks/core/useAsync";
 import { purchpayColumns } from "./config/_details";
-import { httpDetail, httpAdd, httpStatus } from "/@/api/purchase/orderPay";
-import BasicDescriptions from "/@/components/BasicDescriptions";
-import ReconciliationForm from "/@/components/ReconciliationForm";
 import ChooseForm from "./component/choose-form.vue";
 import { useUserInfo } from "/@/hooks/core/useUser";
-import { useRouter } from "vue-router";
+import { usePermission } from "/@/hooks/core/usePermission";
+import BasicDescriptions from "/@/components/BasicDescriptions";
+import ReconciliationForm from "/@/components/ReconciliationForm";
+import { httpDetail, httpAdd, httpStatus } from "/@/api/purchase/orderPay";
 
 import {
   DefaultApprovalNode,
   ReceiptApprovalNode
 } from "/@/components/ApprovalNode";
-import { usePermission } from "/@/hooks/core/usePermission";
 
 const { push } = useRouter();
 const pageName = "purchPayDetail";
 
-// { code: "020", name: "买方公司审核" },
+// { code: "020", name: "买方公司财务审核" },
+// { code: "039", name: "买方公司业务审核" }
 const { hasPermissionWithCode } = usePermission(pageName);
 
 const formRef = ref<InstanceType<typeof ReconciliationForm> | null>(null);
@@ -88,14 +89,28 @@ if (isDetail.value) requesetDetail();
             <template v-if="!isSuperUser">
               <ElCollapseItem
                 name="3"
-                title="买方公司审核"
+                title="买方公司业务审核"
                 v-if="
-                  String(data.status) === '1' && hasPermissionWithCode('020')
+                  String(data.status) === '1' && hasPermissionWithCode('039')
                 "
               >
                 <DefaultApprovalNode
                   approve-value="2"
-                  reject-value="4"
+                  reject-value="6"
+                  @approval="handleApproval"
+                />
+              </ElCollapseItem>
+
+              <ElCollapseItem
+                name="4"
+                title="买方公司财务审核"
+                v-if="
+                  String(data.status) === '2' && hasPermissionWithCode('020')
+                "
+              >
+                <DefaultApprovalNode
+                  approve-value="3"
+                  reject-value="7"
                   @approval="handleApproval"
                 />
               </ElCollapseItem>
@@ -103,10 +118,10 @@ if (isDetail.value) requesetDetail();
               <ElCollapseItem
                 name="5"
                 title="上传回执"
-                v-if="String(data.status) === '2'"
+                v-if="String(data.status) === '3'"
               >
                 <ReceiptApprovalNode
-                  approve-value="3"
+                  approve-value="4"
                   @approval="handleApproval"
                 />
               </ElCollapseItem>

+ 2 - 2
src/views/purchase/purchPayRelive/config/_options.ts

@@ -20,7 +20,7 @@ export const payStatusOptions = [
   },
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",
@@ -46,7 +46,7 @@ export const paymentStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 1 - 1
src/views/purchase/purchPayRelive/detail.vue

@@ -20,7 +20,7 @@ import {
 const { push } = useRouter();
 const pageName = "purchPayReliveDetail";
 
-// { code: "020", name: "买方公司审核" },
+// { code: "020", name: "买方公司财务审核" },
 const { hasPermissionWithCode } = usePermission(pageName);
 
 const { isSuperUser } = useUserInfo();

+ 63 - 0
src/views/purchase/purchPay__/component/choose-form.vue

@@ -0,0 +1,63 @@
+<script setup lang="ts">
+import { ref, unref } from "vue";
+import ReconciliationForm from "/@/components/ReconciliationForm";
+import { ElForm, ElMessage } from "element-plus";
+import { createRules } from "../config/_rules";
+import ChooseModal from "./choose-modal.vue";
+
+const emit = defineEmits(["create"]);
+
+const formRef = ref<InstanceType<typeof ElForm> | null>(null);
+const chooseModalRef = ref<InstanceType<typeof ChooseModal> | null>(null);
+const reconciliationRef = ref<InstanceType<typeof ReconciliationForm> | null>(
+  null
+);
+
+const formData = ref({
+  payNo: "",
+  pay_fee: ""
+});
+
+const handleChoose = () => chooseModalRef.value.onDisplay();
+
+function handleCreate() {
+  const { detail } = reconciliationRef.value;
+
+  if (Number(formData.value.pay_fee) > Number(detail?.wpay_fee)) {
+    return ElMessage.error("付款金额不能超过未付款金额");
+  }
+
+  formRef.value.validate(isValid => isValid && emit("create", unref(formData)));
+}
+</script>
+
+<template>
+  <div w-full>
+    <ElForm ref="formRef" :model="formData" :rules="createRules">
+      <ElFormItem label="订单对账" prop="payNo">
+        <ReconciliationForm
+          ref="reconciliationRef"
+          isPurchPay
+          :id="formData.payNo"
+          :readonly="!!formData.payNo"
+          @choose="handleChoose"
+        />
+      </ElFormItem>
+
+      <ElFormItem label="付款金额" prop="pay_fee">
+        <ElInput v-model="formData.pay_fee" placeholder="请输入付款金额" />
+      </ElFormItem>
+
+      <ElFormItem>
+        <div class="flex w-full justify-end">
+          <ElButton type="primary" @click="handleCreate">保存</ElButton>
+        </div>
+      </ElFormItem>
+    </ElForm>
+
+    <ChooseModal
+      ref="chooseModalRef"
+      @choose="payNo => (formData.payNo = payNo)"
+    />
+  </div>
+</template>

+ 187 - 0
src/views/purchase/purchPay__/component/choose-modal.vue

@@ -0,0 +1,187 @@
+<script setup lang="ts">
+import { ref, unref, reactive } from "vue";
+import { ElMessage, ElTable } from "element-plus";
+import { columns } from "../config/_details";
+import { useResponseHandle } from "/@/hooks";
+import { pay_status } from "/@/utils/details/reconciliation";
+import { httpList } from "/@/api/purchase/orderRecord";
+import { useCompany } from "/@/hooks/core/useCompany";
+
+const emit = defineEmits(["choose"]);
+
+const visible = ref(false);
+const paymentList = ref<Array<Record<string, string>>>([]);
+const selects = ref<Array<Record<string, string>>>([]);
+
+const { currentCompany } = useCompany();
+
+const pagination = reactive({
+  total: 0,
+  size: 15,
+  page: 1,
+  background: true
+});
+
+const formData = ref<Record<string, string>>({
+  pay_status: "",
+  currentValue: ""
+});
+
+const tableRef = ref<InstanceType<typeof ElTable>>(null);
+const currentKey = ref("payNo");
+const loading = ref(false);
+const responseHandle = useResponseHandle();
+
+//初始化订单对账列表
+async function requestPaymentList() {
+  const { size, page } = pagination;
+  loading.value = true;
+
+  const { currentValue, ...otherParams } = formData.value;
+
+  const { code, message, data } = await httpList({
+    pay_status: "0",
+    status: "2",
+    [currentKey.value]: currentValue,
+    companyNo: currentCompany.value.companyNo,
+    ...otherParams,
+    page,
+    size
+  });
+
+  responseHandle({
+    code,
+    message,
+    handler: () => {
+      pagination.total = data.count;
+      paymentList.value = data.list;
+    }
+  });
+  loading.value = false;
+}
+
+function handleConfirm() {
+  const [order] = selects.value;
+  if (!order) return ElMessage.warning("请选择一个对账单");
+  emit("choose", unref(order.payNo));
+  visible.value = false;
+}
+
+function handleSelectionChange(values) {
+  if (values.length > 1) {
+    const value = values.pop();
+    tableRef.value.clearSelection();
+    tableRef.value.toggleRowSelection(value, true);
+    selects.value = [value];
+  } else {
+    selects.value = [values[0]];
+  }
+}
+
+function handleSizeChange() {
+  pagination.page = 1;
+  requestPaymentList();
+}
+
+function handleSearch(_isReset?: boolean) {
+  if (_isReset) formData.value = {};
+  pagination.page = 1;
+  requestPaymentList();
+}
+
+defineExpose({
+  onDisplay: () => (visible.value = true)
+});
+</script>
+
+<template>
+  <el-dialog
+    v-model="visible"
+    title="订单对账"
+    center
+    width="1040px"
+    @open="() => requestPaymentList()"
+  >
+    <div flex justify-between mb-2>
+      <div flex gap-2>
+        <el-input
+          clearable
+          v-model="formData.currentValue"
+          placeholder="对账编号"
+        >
+          <template #prepend>
+            <el-select v-model="currentKey" style="width: 130px">
+              <el-option label="对账编号" value="payNo" />
+              <el-option label="买方公司编号" value="companyNo" />
+            </el-select>
+          </template>
+        </el-input>
+        <el-select
+          clearable
+          w-80
+          v-model="formData.pay_status"
+          placeholder="付款状态"
+        >
+          <el-option value="1" label="未付款" />
+          <el-option value="2" label="部分付款" />
+        </el-select>
+      </div>
+
+      <div>
+        <el-button type="primary" @click="() => handleSearch()">搜索</el-button>
+        <el-button @click="() => handleSearch(true)">重置</el-button>
+      </div>
+    </div>
+    <el-table
+      border
+      ref="tableRef"
+      :data="paymentList"
+      size="small"
+      row-key="id"
+      @selection-change="handleSelectionChange"
+      mb-2
+      v-loading="loading"
+      max-height="520px"
+    >
+      <el-table-column type="selection" width="55" />
+      <el-table-column
+        v-for="(col, index) in columns"
+        :key="index"
+        v-bind="col"
+        show-overflow-tooltip
+      >
+        <template #="{ row }">
+          <el-tag v-if="col.prop === 'pay_status'">{{
+            pay_status.find(p => p.value === String(row.pay_status))?.label
+          }}</el-tag>
+
+          <span v-else>{{ row[col.prop] }}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <div flex>
+      <el-pagination
+        v-model:current-page="pagination.page"
+        v-model:page-size="pagination.size"
+        :total="pagination.total"
+        :page-sizes="[15, 50, 100]"
+        layout="sizes, prev, pager, next"
+        @current-change="requestPaymentList"
+        @size-change="handleSizeChange"
+      />
+
+      <div w-full flex justify-end mt-2>
+        <el-button type="primary" @click="handleConfirm">保存</el-button>
+      </div>
+    </div>
+  </el-dialog>
+</template>
+
+<style lang="scss" scoped>
+:deep(.el-table__header) {
+  .el-checkbox {
+    display: none;
+  }
+}
+</style>

+ 135 - 0
src/views/purchase/purchPay__/config/_details.ts

@@ -0,0 +1,135 @@
+import { h } from "vue";
+import { ElImage, ElTag } from "element-plus";
+import { statusOptions } from "./_options";
+import { DescriptionColumns } from "/@/components/BasicDescriptions";
+
+export const purchpayColumns: DescriptionColumns = [
+  {
+    field: "dzNo",
+    span: 6,
+    label: "对账付款编号"
+  },
+  {
+    field: "status",
+    label: "状态",
+    span: 6,
+    render(status) {
+      return h(ElTag, null, {
+        default: () =>
+          statusOptions.find(s => String(status) === String(s.value))?.label ||
+          "--"
+      });
+    }
+  },
+
+  {
+    field: "payNo",
+    span: 7,
+    label: "对账申请编号"
+  },
+
+  {
+    field: "apply_name",
+    span: 5,
+    label: "申请人"
+    // render: (apply_name, { apply_id }) =>
+    //   createTooltip(apply_name, "申请人ID : " + apply_id, 90)
+  },
+
+  {
+    field: "pay_fee",
+    span: 6,
+    label: "付款额度"
+  },
+  {
+    field: "return_time",
+    span: 6,
+    label: "回执时间"
+  },
+
+  {
+    field: "return_img",
+    label: "付款回执",
+    span: 12,
+    render(return_img) {
+      const chunks = return_img?.split(",");
+      if (!chunks) return null;
+
+      return chunks.map(src => {
+        return h(ElImage, {
+          src,
+          previewSrcList: [src],
+          style: {
+            height: "20px"
+          }
+        });
+      });
+    }
+  },
+
+  {
+    field: "remark",
+    label: "备注",
+    span: 24
+  }
+];
+
+export const columns = [
+  {
+    label: "对账编号",
+    prop: "payNo",
+    minWidth: 160,
+    align: "left"
+  },
+  {
+    label: "供应商编号",
+    prop: "supplierNo",
+    minWidth: 150,
+    align: "left"
+  },
+  {
+    label: "供应商名称",
+    prop: "supplierName",
+    minWidth: 180,
+    align: "left"
+  },
+  {
+    label: "业务公司编号",
+    prop: "companyNo",
+    minWidth: 150
+  },
+  {
+    label: "业务公司名称",
+    prop: "companyName",
+    minWidth: 180
+  },
+  {
+    label: "付款状态",
+    prop: "pay_status",
+    minWidth: 100
+  },
+  {
+    label: "总额款",
+    prop: "total_fee",
+    minWidth: 110,
+    align: "total_fee"
+  },
+  {
+    label: "付款标签金额",
+    prop: "pay_tag_fee",
+    minWidth: 110,
+    align: "left"
+  },
+  {
+    label: "已付款金额",
+    prop: "apay_fee",
+    minWidth: 110,
+    align: "left"
+  },
+  {
+    label: "申请人",
+    prop: "apply_name",
+    minWidth: 90,
+    align: "total_fee"
+  }
+];

+ 53 - 0
src/views/purchase/purchPay__/config/_options.ts

@@ -0,0 +1,53 @@
+export const statusOptions = [
+  {
+    value: "1",
+    label: "买方公司财务审核"
+  },
+  {
+    value: "2",
+    label: "待付款回执"
+  },
+  {
+    value: "3",
+    label: "付款成功"
+  },
+  {
+    value: "4",
+    label: "买方公司驳回"
+  },
+  {
+    value: "5",
+    label: "付款已退"
+  }
+];
+
+export const paymentStatusOptions = [
+  {
+    label: "待系统查票",
+    value: "1"
+  },
+  {
+    label: "买方公司财务审核",
+    value: "2"
+  },
+  {
+    label: "验证失败",
+    value: "3"
+  },
+  {
+    label: "待买方公司认证",
+    value: "4"
+  },
+  {
+    label: "买方公司驳回",
+    value: "5"
+  },
+  {
+    label: "认证成功",
+    value: "6"
+  },
+  {
+    label: "认证失败",
+    value: "7"
+  }
+];

+ 12 - 0
src/views/purchase/purchPay__/config/_rules.ts

@@ -0,0 +1,12 @@
+import { FormRules } from "element-plus";
+
+export const createRules: FormRules = {
+  pay_fee: [{ required: true, trigger: "change", message: "请输入付款金额" }],
+  payNo: [
+    {
+      required: true,
+      trigger: "change",
+      message: "请选择付款订单"
+    }
+  ]
+};

+ 116 - 0
src/views/purchase/purchPay__/config/content.config.ts

@@ -0,0 +1,116 @@
+import { ContentConfig } from "/@/components/PageContent";
+import { httpList, httpDelete } from "/@/api/purchase/orderPay";
+
+import dayjs from "dayjs";
+import { h } from "vue";
+import { ElTag } from "element-plus";
+import { statusOptions } from "./_options";
+
+const columns = [
+  // {
+  //   type: "selection",
+  //   minWidth: 55,
+  //   align: "left",
+  //   hide: ({ checkList }) => !checkList.includes("勾选列")
+  // },
+  // {
+  //   label: "序号",
+  //   type: "index",
+  //   minWidth: 60,
+  //   align: "left",
+  //   hide: ({ checkList }) => !checkList.includes("序号列")
+  // },
+  {
+    label: "对账付款编号",
+    prop: "dzNo",
+    width: 160,
+    align: "left"
+  },
+  {
+    label: "对账编号",
+    prop: "payNo",
+    width: 160
+  },
+  {
+    label: "状态",
+    prop: "dstatus",
+    minWidth: 120,
+    transform: dstatus =>
+      statusOptions.find(s => String(dstatus) === s.value)?.label,
+    cellRenderer: ({ row, props }) =>
+      h(
+        ElTag,
+        {
+          size: props.size
+        },
+        {
+          default: () =>
+            statusOptions.find(s => String(row.dstatus) === s.value)?.label
+        }
+      )
+  },
+  {
+    label: "对账总金额",
+    prop: "total_fee",
+    width: 110
+  },
+  {
+    label: "本次付款金额",
+    prop: "dpay_fee",
+    width: 110,
+    align: "left"
+  },
+  {
+    label: "卖方公司编号",
+    prop: "supplierNo",
+    width: 160,
+    align: "left"
+  },
+  {
+    label: "卖方公司名称",
+    prop: "supplierName",
+    minWidth: 180
+  },
+  {
+    label: "买方公司编号",
+    prop: "companyNo",
+    width: 160
+  },
+  {
+    label: "买方公司名称",
+    prop: "companyName",
+    minWidth: 180
+  },
+
+  {
+    label: "申请人",
+    prop: "apply_name",
+    minWidth: 90,
+    align: "left"
+  },
+  {
+    label: "申请时间",
+    width: 160,
+    prop: "addtime"
+  },
+  {
+    label: "操作",
+    fixed: "right",
+    width: 100,
+    slot: "operation"
+  }
+];
+
+const contentConfig: ContentConfig = {
+  title: "采购付款",
+  columns,
+  deleteProp: "dzNo",
+  showDelete: ({ dstatus }) => Number(dstatus) === 1,
+  apis: {
+    httpList,
+    httpDelete,
+    httpAdd: true
+  }
+};
+
+export default contentConfig;

+ 36 - 0
src/views/purchase/purchPay__/config/search.config.ts

@@ -0,0 +1,36 @@
+import { FormConfig } from "/@/components/PageSearch";
+import { statusOptions } from "./_options";
+
+const searchFormConfig: FormConfig = {
+  formItems: [
+    {
+      field: "dzNo",
+      type: "input",
+      placeholder: "对账付款编号"
+    },
+    {
+      field: "payNo",
+      type: "input",
+      placeholder: "对账编号"
+    },
+    {
+      field: "timer",
+      type: "date_picker",
+      otherOptions: {
+        type: "daterange",
+        startProp: "startTime",
+        endProp: "endTime",
+        startPlaceholder: "开始日期",
+        endPlaceholder: "结束日期"
+      }
+    },
+    {
+      field: "status",
+      type: "select",
+      placeholder: "审核状态",
+      options: statusOptions
+    }
+  ]
+};
+
+export default searchFormConfig;

+ 0 - 0
src/views/purchase/purchPay__/config/采购付款.md


+ 119 - 0
src/views/purchase/purchPay__/detail.vue

@@ -0,0 +1,119 @@
+<script setup lang="ts">
+import { ref } from "vue";
+import { useDetail } from "/@/hooks/core/useDetail";
+import { useAsync } from "/@/hooks/core/useAsync";
+import { purchpayColumns } from "./config/_details";
+import { httpDetail, httpAdd, httpStatus } from "/@/api/purchase/orderPay";
+import BasicDescriptions from "/@/components/BasicDescriptions";
+import ReconciliationForm from "/@/components/ReconciliationForm";
+import ChooseForm from "./component/choose-form.vue";
+import { useUserInfo } from "/@/hooks/core/useUser";
+import { useRouter } from "vue-router";
+import { usePermission } from "/@/hooks/core/usePermission";
+
+import {
+  DefaultApprovalNode,
+  ReceiptApprovalNode
+} from "/@/components/ApprovalNode";
+
+const { push } = useRouter();
+const pageName = "purchPayDetail";
+
+// { code: "020", name: "买方公司财务审核" },
+const { hasPermissionWithCode } = usePermission(pageName);
+
+const formRef = ref<InstanceType<typeof ReconciliationForm> | null>(null);
+
+const { isSuperUser } = useUserInfo();
+
+const { id, isDetail, title, collapses } = useDetail({
+  baseName: "采购付款",
+  collapseLen: 5
+});
+
+const { run: detail, data } = useAsync<Record<string, string>>({
+  initalData: {}
+});
+
+const { run: create } = useAsync({
+  success: () => push("/purchase/purchPay")
+});
+
+const { run: approval } = useAsync({
+  success: () => refresh()
+});
+
+function refresh() {
+  requesetDetail();
+  formRef.value && formRef.value.refresh();
+}
+
+const requesetDetail = () => detail(httpDetail({ DzNo: id.value }));
+const handleCreate = data => create(httpAdd(data));
+
+function handleApproval(data) {
+  const params = {
+    ...data,
+    dzNo: id.value
+  };
+
+  approval(httpStatus(params));
+}
+
+if (isDetail.value) requesetDetail();
+</script>
+
+<template>
+  <div class="padding__container">
+    <ElTabs>
+      <ElTabPane :label="title">
+        <ElCollapse v-model="collapses">
+          <ElCollapseItem name="1" :title="title">
+            <!-- 付款详情 -->
+            <BasicDescriptions
+              v-if="isDetail"
+              :columns="purchpayColumns"
+              :data="data"
+            />
+            <!-- 创建:选择对账单 -->
+            <ChooseForm v-else @create="handleCreate" />
+          </ElCollapseItem>
+
+          <div v-if="isDetail">
+            <ElCollapseItem name="2" title="对账详情">
+              <ReconciliationForm ref="formRef" readonly :id="data.payNo" />
+            </ElCollapseItem>
+
+            <!-- 审批节点 -->
+            <template v-if="!isSuperUser">
+              <ElCollapseItem
+                name="3"
+                title="买方公司财务审核"
+                v-if="
+                  String(data.status) === '1' && hasPermissionWithCode('020')
+                "
+              >
+                <DefaultApprovalNode
+                  approve-value="2"
+                  reject-value="4"
+                  @approval="handleApproval"
+                />
+              </ElCollapseItem>
+
+              <ElCollapseItem
+                name="5"
+                title="上传回执"
+                v-if="String(data.status) === '2'"
+              >
+                <ReceiptApprovalNode
+                  approve-value="3"
+                  @approval="handleApproval"
+                />
+              </ElCollapseItem>
+            </template>
+          </div>
+        </ElCollapse>
+      </ElTabPane>
+    </ElTabs>
+  </div>
+</template>

+ 33 - 0
src/views/purchase/purchPay__/index.vue

@@ -0,0 +1,33 @@
+<script setup lang="ts">
+import { useRouter } from "vue-router";
+import contentConfig from "./config/content.config";
+import searchConfig from "./config/search.config";
+import { usePageSearch, type PageHooks, type PageEvents } from "/@/hooks/page";
+
+const PageName = "purchPay";
+const baseUrl = "/purchase/purchPayDetail";
+
+const { push } = useRouter();
+
+const hooks: PageHooks = {
+  pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
+};
+
+const events: PageEvents = {
+  content: {
+    preview: ({ dzNo }) => push(`${baseUrl}?id=${dzNo}`),
+    create: () => push(baseUrl)
+  }
+};
+</script>
+
+<template>
+  <PageAuth :pageName="PageName">
+    <PageContainer
+      :hooks="hooks"
+      :events="events"
+      :contentConfig="contentConfig"
+      :search-config="searchConfig"
+    />
+  </PageAuth>
+</template>

+ 5 - 5
src/views/purchase/ticketReturn/components/choose-modal.vue

@@ -1,11 +1,11 @@
 <script setup lang="ts">
 import { ref, unref, reactive } from "vue";
-import { ElMessage, ElTable } from "element-plus";
-import { columns } from "../config/_details";
-import { useResponseHandle } from "/@/hooks";
 import { pay_status } from "/@/utils/details/reconciliation";
 import { httpList } from "/@/api/purchase/orderRecord";
 import { useCompany } from "/@/hooks/core/useCompany";
+import { ElMessage, ElTable } from "element-plus";
+import { columns } from "../config/_details";
+import { useResponseHandle } from "/@/hooks";
 
 const emit = defineEmits(["choose"]);
 
@@ -107,8 +107,8 @@ defineExpose({
           <template #prepend>
             <el-select v-model="currentKey" style="width: 130px">
               <el-option label="对账编号" value="payNo" />
-              <el-option label="业务公司编号" value="companyNo" />
-              <el-option label="供应商编号" value="supplierNo" />
+              <el-option label="卖方公司编号" value="supplierNo" />
+              <el-option label="卖方公司名称" value="supplierName" />
             </el-select>
           </template>
         </el-input>

+ 2 - 2
src/views/purchase/ticketReturn/config/_opitons.ts

@@ -4,11 +4,11 @@ export const statusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {
-    label: "买方公司认证",
+    label: "买方公司认证",
     value: "3"
   },
   {

+ 2 - 2
src/views/purchase/ticketReturn/detail.vue

@@ -14,7 +14,7 @@ import { useUserInfo } from "/@/hooks/core/useUser";
 import { usePermission } from "/@/hooks/core/usePermission";
 
 const pageName = "ticketReturnDetail";
-// { code: "020", name: "买方公司审核" },
+// { code: "020", name: "买方公司财务审核" },
 const { hasPermissionWithCode, permissions } = usePermission(pageName);
 
 console.log(permissions.value);
@@ -93,7 +93,7 @@ if (isDetail.value) requesetDetail();
                 v-if="
                   String(data.status) === '2' && hasPermissionWithCode('020')
                 "
-                title="买方公司审核"
+                title="买方公司财务审核"
                 name="4"
               >
                 <DefaultApprovalNode

+ 1 - 1
src/views/purchase/ticketReturnRelive/config/_opitons.ts

@@ -49,7 +49,7 @@ export const returnStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 1 - 1
src/views/supply/orderRecord/config/_options.ts

@@ -1,7 +1,7 @@
 export const statusOptions = [
   {
     value: "1",
-    label: "买方审核"
+    label: "买方公司财务审核"
   },
   {
     value: "2",

+ 2 - 3
src/views/supply/orderRecord/config/search.config.ts

@@ -9,9 +9,8 @@ const searchFormConfig: FormConfig = {
       type: "input_group",
       otherOptions: {
         inputGroupOptions: [
-          { value: "sequenceNo", label: "采购单编号" },
-          { value: "supplierNo", label: "卖方公司编号" },
-          { value: "supplierName", label: "卖方公司名称" },
+          { value: "companyNo", label: "买方公司编号" },
+          { value: "companyName", label: "买方公司名称" },
           { value: "payNo", label: "对账编号" }
         ]
       }

+ 1 - 1
src/views/supply/porder/config/_details.ts

@@ -165,7 +165,7 @@ export const PURCHAS_COLUMNS: DescriptionColumns = [
   },
   {
     label: "商品类型",
-    field: "goodType",
+    field: "cgdType",
     render(type) {
       return h(ElTag, null, {
         default: () => cg_order_type_options.find(c => c.value == type)?.label

+ 8 - 13
src/views/supply/purchPay/component/choose-modal.vue

@@ -21,7 +21,7 @@ const pagination = reactive({
 });
 
 const formData = ref<Record<string, string>>({
-  pay_status: "",
+  pay_status: "0",
   currentValue: ""
 });
 
@@ -83,7 +83,9 @@ function handleSizeChange() {
 }
 
 function handleSearch(_isReset?: boolean) {
-  if (_isReset) formData.value = {};
+  if (_isReset) {
+    formData.value = { pay_status: "0", currentValue: "" };
+  }
   pagination.page = 1;
   requestPaymentList();
 }
@@ -103,24 +105,17 @@ defineExpose({
   >
     <div flex justify-between mb-2>
       <div flex gap-2>
-        <el-input
-          clearable
-          v-model="formData.currentValue"
-          placeholder="对账编号"
-        >
+        <el-input v-model="formData.currentValue" placeholder="请输入">
           <template #prepend>
             <el-select v-model="currentKey" style="width: 130px">
               <el-option label="对账编号" value="payNo" />
               <el-option label="买方公司编号" value="companyNo" />
+              <el-option label="买方公司名称" value="companyName" />
             </el-select>
           </template>
         </el-input>
-        <el-select
-          clearable
-          w-80
-          v-model="formData.pay_status"
-          placeholder="付款状态"
-        >
+        <el-select w-80 v-model="formData.pay_status" placeholder="付款状态">
+          <el-option value="0" label="未付款或部分付款" />
           <el-option value="1" label="未付款" />
           <el-option value="2" label="部分付款" />
         </el-select>

+ 2 - 2
src/views/supply/purchPay/config/_options.ts

@@ -4,7 +4,7 @@ export const statusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {
@@ -47,7 +47,7 @@ export const paymentStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 1 - 1
src/views/supply/purchPayRelive/config/_options.ts

@@ -19,7 +19,7 @@ export const paymentStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 2 - 1
src/views/supply/ticketReturn/components/choose-modal.vue

@@ -112,7 +112,8 @@ defineExpose({
           <template #prepend>
             <el-select v-model="currentKey" style="width: 130px">
               <el-option label="对账编号" value="payNo" />
-              <el-option label="买方司编号" value="companyNo" />
+              <el-option label="买方公司编号" value="companyNo" />
+              <el-option label="买方公司名称" value="companyName" />
             </el-select>
           </template>
         </el-input>

+ 1 - 1
src/views/supply/ticketReturn/config/_opitons.ts

@@ -4,7 +4,7 @@ export const statusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {

+ 1 - 1
src/views/supply/ticketReturn/detail.vue

@@ -39,7 +39,7 @@ if (isDetail.value) requesetDetail();
         <ElCollapse v-model="collapses">
           <ElCollapseItem name="1" :title="title">
             <!-- 回票详情 -->
-            <BasicDescriptions
+            <basic-descriptions
               v-if="isDetail"
               :columns="ticketReturnColumns"
               :data="data"

+ 1 - 1
src/views/system/updates/config/_options.ts

@@ -19,7 +19,7 @@ export const paymentStatusOptions = [
     value: "1"
   },
   {
-    label: "买方公司审核",
+    label: "买方公司财务审核",
     value: "2"
   },
   {