فهرست منبع

部分0.5需求

cz 1 سال پیش
والد
کامیت
cb248a9ffd

+ 3 - 4
src/components/byForm/index.vue

@@ -308,7 +308,6 @@ const handleSuccess = (res, file, files) => {
   emit("update:modelValue", formData.value);
 };
 
-
 const handleRemove = (file) => {
   const index = fileListCopy.value.findIndex(
     (x) => x.uid === file.uid || x.id === file.id
@@ -336,10 +335,10 @@ const formData = computed(() => {
 });
 const formDataReset = ref({ ...proxy.modelValue });
 const commonsEmit = (prop, item) => {
-  if(item.type == 'input' && item.itemType == 'number'){
-    console.log(formData.value)
+  if (item.type == "input" && item.itemType == "number") {
+    console.log(formData.value);
   }
-    
+
   if (item.fn) {
     item.fn(prop);
   }

+ 1 - 1
src/components/process/SendFunds.vue

@@ -1362,7 +1362,7 @@ const changeType = () => {
       type: "1",
       writeOffStatus: "0",
       corporationId: formData.data.corporationId,
-      status: "30,10",
+      status: "30",
       createUser: useUserStore().user.userId,
     })
     .then((res) => {

+ 356 - 41
src/views/finance/fundManage/accountStatement/index.vue

@@ -14,11 +14,16 @@
           //   action: () => deriveExcel(),
           // },
           {
+            text: '退税登记',
+            action: () => openModalOne('add'),
+          },
+          {
             text: '添加流水',
             action: () => openModal('add'),
           },
         ]"
-        @get-list="getList">
+        @get-list="getList"
+      >
         <!-- <template #amount="{ item }">
           <div :style="'color: ' + (item.status === '10' ? '#04cb04;' : 'red;')">
             <span style="padding-right: 4px">{{ item.currency }}</span>
@@ -39,11 +44,28 @@
       </byTable>
     </div>
 
-    <el-dialog :title="modalType == 'add' ? '添加流水' : '编辑流水'" v-if="dialogVisible" v-model="dialogVisible" width="600" v-loading="loadingDialog">
-      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
+    <el-dialog
+      :title="modalType == 'add' ? '添加流水' : '编辑流水'"
+      v-if="dialogVisible"
+      v-model="dialogVisible"
+      width="600"
+    >
+      <byForm
+        :formConfig="formConfig"
+        :formOption="formOption"
+        v-model="formData.data"
+        :rules="rules"
+        ref="submit"
+        v-loading="loadingDialog"
+      >
         <template #transactionTime>
           <div>
-            <el-date-picker v-model="formData.data.transactionTime" type="datetime" placeholder="请选择交易时间" value-format="YYYY-MM-DD HH:mm:ss" />
+            <el-date-picker
+              v-model="formData.data.transactionTime"
+              type="datetime"
+              placeholder="请选择交易时间"
+              value-format="YYYY-MM-DD HH:mm:ss"
+            />
           </div>
         </template>
         <template #money>
@@ -51,15 +73,34 @@
             <el-row :gutter="10">
               <el-col :span="6">
                 <el-form-item prop="status">
-                  <el-select v-model="formData.data.status" placeholder="请选择" style="width: 100%" @change="changeStatus()">
-                    <el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value" />
+                  <el-select
+                    v-model="formData.data.status"
+                    placeholder="请选择"
+                    style="width: 100%"
+                    @change="changeStatus()"
+                  >
+                    <el-option
+                      v-for="item in status"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item prop="currency">
-                  <el-select v-model="formData.data.currency" placeholder="请选择" style="width: 100%">
-                    <el-option v-for="item in accountCurrency" :key="item.value" :label="item.label" :value="item.value" />
+                  <el-select
+                    v-model="formData.data.currency"
+                    placeholder="请选择"
+                    style="width: 100%"
+                  >
+                    <el-option
+                      v-for="item in accountCurrency"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    />
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -72,7 +113,8 @@
                     style="width: 100%"
                     :precision="2"
                     :controls="false"
-                    :min="0" />
+                    :min="0"
+                  />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -82,7 +124,13 @@
           <div>
             <el-form-item prop="received">
               <el-radio-group v-model="formData.data.received">
-                <el-radio v-for="item in received" :key="item.value" :label="item.value" border>{{ item.label }}</el-radio>
+                <el-radio
+                  v-for="item in received"
+                  :key="item.value"
+                  :label="item.value"
+                  border
+                  >{{ item.label }}</el-radio
+                >
               </el-radio-group>
             </el-form-item>
           </div>
@@ -90,7 +138,95 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
+        <el-button type="primary" @click="submitForm()" size="large"
+          >确 定</el-button
+        >
+      </template>
+    </el-dialog>
+
+    <el-dialog
+      :title="'退税登记'"
+      v-if="dialogVisibleOne"
+      v-model="dialogVisibleOne"
+      width="600"
+    >
+      <byForm
+        :formConfig="formConfigOne"
+        :formOption="formOption"
+        v-model="formData.dataOne"
+        :rules="rulesOne"
+        ref="submitOne"
+        v-loading="loadingDialog"
+      >
+        <template #details>
+          <div style="width: 100%">
+            <el-button
+              type="primary"
+              @click="handleAddRow"
+              style="margin: 10px 0"
+            >
+              添加
+            </el-button>
+            <el-table :data="formData.dataOne.taxRefundDetailsList">
+              <el-table-column prop="count" label="合同编号" min-width="150">
+                <template #default="{ row, $index }">
+                  <el-form-item
+                    :prop="'taxRefundDetailsList.' + $index + '.contractId'"
+                    :rules="rulesOne.contractId"
+                    :inline-message="true"
+                  >
+                    <el-select
+                      v-model="row.contractId"
+                      placeholder="请选择"
+                      filterable
+                      style="width: 100%"
+                    >
+                      <el-option
+                        v-for="item in contractList"
+                        :label="item.code"
+                        :value="item.id"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column prop="amount" label="关联金额" min-width="150">
+                <template #default="{ row, $index }">
+                  <el-form-item
+                    :prop="'taxRefundDetailsList.' + $index + '.amount'"
+                    :rules="rulesOne.amount"
+                    :inline-message="true"
+                  >
+                    <el-input-number
+                      onmousewheel="return false;"
+                      v-model="row.amount"
+                      :precision="2"
+                      :controls="false"
+                      :min="0"
+                      style="width: 100%"
+                    />
+                  </el-form-item>
+                </template>
+              </el-table-column>
+              <el-table-column prop="zip" label="操作" width="80">
+                <template #default="{ $index }">
+                  <el-button type="primary" link @click="handleRemove($index)"
+                    >删除</el-button
+                  >
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </template>
+      </byForm>
+      <template #footer>
+        <el-button @click="dialogVisibleOne = false" size="large"
+          >取 消</el-button
+        >
+        <el-button type="primary" @click="submitFormOne()" size="large"
+          >确 定</el-button
+        >
       </template>
     </el-dialog>
   </div>
@@ -107,6 +243,7 @@ import moment from "moment";
 const { proxy } = getCurrentInstance();
 const accountCurrency = ref([]);
 const accountList = ref([]);
+const contractList = ref([]);
 const status = ref([
   {
     label: "收入",
@@ -267,11 +404,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy
                   .post("/accountRunningWater/delete", {
                     id: row.id,
@@ -312,19 +453,29 @@ const getCurrency = () => {
     });
 };
 const getAccountList = () => {
-  return proxy.post("/accountManagement/page", { pageNum: 1, pageSize: 999 }).then((res) => {
-    if (res.rows && res.rows.length > 0) {
-      accountList.value = res.rows.map((item) => {
-        return {
-          label: item.alias,
-          value: item.id,
-        };
-      });
-      sourceList.value.pagination.accountManagementId = accountList.value[0].value;
-    }
-  });
+  return proxy
+    .post("/accountManagement/page", { pageNum: 1, pageSize: 999 })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        accountList.value = res.rows.map((item) => {
+          return {
+            label: item.alias,
+            value: item.id,
+          };
+        });
+        sourceList.value.pagination.accountManagementId =
+          accountList.value[0].value;
+      }
+    });
 };
 const getDict = () => {
+  // 关联合同
+  proxy
+    .post("/contract/page", { pageNum: 1, pageSize: 9999, status: 30 })
+    .then((res) => {
+      contractList.value = res.rows;
+    });
+
   Promise.all([getCurrency(), getAccountList()]).then(() => {
     getList();
   });
@@ -332,19 +483,23 @@ const getDict = () => {
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  proxy.post("/accountRunningWater/page1", sourceList.value.pagination).then((res) => {
-    sourceList.value.data = res.rows;
-    sourceList.value.pagination.total = res.total;
-    setTimeout(() => {
-      loading.value = false;
-    }, 200);
-  });
+  proxy
+    .post("/accountRunningWater/page1", sourceList.value.pagination)
+    .then((res) => {
+      sourceList.value.data = res.rows;
+      sourceList.value.pagination.total = res.total;
+      setTimeout(() => {
+        loading.value = false;
+      }, 200);
+    });
 };
 getDict();
 const modalType = ref("add");
 const dialogVisible = ref(false);
+const dialogVisibleOne = ref(false);
 const loadingDialog = ref(false);
 const submit = ref(null);
+const submitOne = ref(null);
 const formOption = reactive({
   inline: true,
   labelWidth: 100,
@@ -353,11 +508,15 @@ const formOption = reactive({
 });
 const formData = reactive({
   data: {},
+  dataOne: {
+    taxRefundDetailsList: [],
+  },
 });
 const formConfig = computed(() => {
   return [
     {
-      label: "账户信息",
+      type: "title",
+      title: "账户信息",
     },
     {
       type: "select",
@@ -366,7 +525,8 @@ const formConfig = computed(() => {
       data: accountList.value,
     },
     {
-      label: "交易信息",
+      type: "title",
+      title: "交易信息",
     },
     {
       type: "slot",
@@ -389,7 +549,8 @@ const formConfig = computed(() => {
         }
       : {},
     {
-      label: "对方信息",
+      type: "title",
+      title: "对方信息",
     },
     {
       type: "input",
@@ -410,7 +571,8 @@ const formConfig = computed(() => {
       itemType: "text",
     },
     {
-      label: "其他信息",
+      type: "title",
+      title: "其他信息",
     },
     {
       type: "input",
@@ -420,17 +582,105 @@ const formConfig = computed(() => {
     },
   ];
 });
+const formConfigOne = computed(() => {
+  return [
+    {
+      type: "title",
+      title: "账户信息",
+    },
+    {
+      type: "select",
+      prop: "accountManagementId",
+      label: "选择账户",
+      data: accountList.value,
+    },
+    {
+      type: "title",
+      title: "退税信息",
+    },
+    {
+      type: "date",
+      itemType: "datetime",
+      prop: "transactionTime",
+      label: "退税时间",
+    },
+    {
+      type: "selectInput",
+      prop: "amount",
+      selectProp: "currency",
+      label: "退税金额",
+      data: accountCurrency.value,
+    },
+    {
+      type: "title",
+      title: "对方信息",
+    },
+    {
+      type: "input",
+      prop: "name",
+      label: "账户名称",
+      itemType: "text",
+    },
+    {
+      type: "input",
+      prop: "openingBank",
+      label: "开户银行",
+      itemType: "text",
+    },
+    {
+      type: "input",
+      prop: "accountOpening",
+      label: "银行账号",
+      itemType: "text",
+    },
+    {
+      type: "slot",
+      slotName: "details",
+      label: "关联合同",
+    },
+    {
+      type: "title",
+      title: "其他信息",
+    },
+    {
+      type: "input",
+      prop: "remarks",
+      label: "摘要",
+      itemType: "textarea",
+    },
+  ];
+});
+
 const rules = ref({
-  accountManagementId: [{ required: true, message: "请选择账户", trigger: "change" }],
-  transactionTime: [{ required: true, message: "请选择交易时间", trigger: "change" }],
+  accountManagementId: [
+    { required: true, message: "请选择账户", trigger: "change" },
+  ],
+  transactionTime: [
+    { required: true, message: "请选择交易时间", trigger: "change" },
+  ],
   status: [{ required: true, message: "请选择收支类型", trigger: "change" }],
   currency: [{ required: true, message: "请选择币种", trigger: "change" }],
-  received: [{ required: true, message: "请选择合同是否到账", trigger: "change" }],
+  received: [
+    { required: true, message: "请选择合同是否到账", trigger: "change" },
+  ],
   amount: [{ required: true, message: "请输入金额", trigger: "blur" }],
   // name: [{ required: true, message: "请输入账户名称", trigger: "blur" }],
   // openingBank: [{ required: true, message: "请输入开户银行", trigger: "blur" }],
   // accountOpening: [{ required: true, message: "请输入银行账号", trigger: "blur" }],
 });
+const rulesOne = ref({
+  accountManagementId: [
+    { required: true, message: "请选择账户", trigger: "change" },
+  ],
+  transactionTime: [
+    { required: true, message: "请选择退税时间", trigger: "change" },
+  ],
+  currency: [{ required: true, message: "请选择币种", trigger: "change" }],
+  // amount: [{ required: true, message: "请输入退税金额", trigger: "blur" }],
+  contractId: [{ required: true, message: "请选择合同", trigger: "change" }],
+  amount: [{ required: true, message: "请输入金额", trigger: "blur" }],
+});
+
 const openModal = (val) => {
   modalType.value = val;
   formData.data = {
@@ -439,6 +689,15 @@ const openModal = (val) => {
   loadingDialog.value = false;
   dialogVisible.value = true;
 };
+const openModalOne = () => {
+  modalType.value = "add";
+  formData.dataOne = {
+    transactionTime: moment().format("yyyy-MM-DD HH:mm:ss"),
+    currency: accountCurrency.value[0].value,
+  };
+  dialogVisibleOne.value = true;
+};
+
 const changeStatus = () => {
   formData.data.received = "";
 };
@@ -464,6 +723,62 @@ const submitForm = () => {
     );
   });
 };
+
+const handleAddRow = () => {
+  formData.dataOne.taxRefundDetailsList.push({
+    contractId: "",
+    amount: null,
+  });
+};
+const handleRemove = (index) => {
+  formData.dataOne.taxRefundDetailsList.splice(index, 1);
+};
+
+const submitFormOne = () => {
+  submitOne.value.handleSubmit(() => {
+    if (!formData.dataOne.taxRefundDetailsList.length > 0) {
+      return ElMessage({
+        message: "请关联合同",
+        type: "info",
+      });
+    }
+    const submitData = { ...formData.dataOne };
+    for (let i = 0; i < submitData.taxRefundDetailsList.length; i++) {
+      const e = submitData.taxRefundDetailsList[i];
+      if (e.amount === 0) {
+        return ElMessage({
+          message: "关联金额不能为0",
+          type: "info",
+        });
+      }
+    }
+    const total = submitData.taxRefundDetailsList.reduce(
+      (sum, crr) => (sum += crr.amount),
+      0
+    );
+    if (total !== Number(submitData.amount)) {
+      return ElMessage({
+        message: "关联合同明细的关联金额总合必须等于退税金额",
+        type: "info",
+      });
+    }
+    loadingDialog.value = true;
+    proxy.post("/accountRunningWater/taxRefund", submitData).then(
+      () => {
+        ElMessage({
+          message: modalType.value == "add" ? "添加成功" : "编辑成功",
+          type: "success",
+        });
+        dialogVisibleOne.value = false;
+        getList();
+      },
+      (err) => {
+        console.log(err);
+        loadingDialog.value = false;
+      }
+    );
+  });
+};
 const update = (row) => {
   modalType.value = "edit";
   loadingDialog.value = true;

+ 227 - 57
src/views/purchaseManage/purchaseManage/handoverSlip/index.vue

@@ -6,6 +6,7 @@
       :config="config"
       :loading="loading"
       highlight-current-row
+      :selectConfig="selectConfig"
       :row-class-name="getRowClass"
       :table-events="{
         select: selectRow,
@@ -22,7 +23,8 @@
           action: () => start(),
         },
       ]"
-      @get-list="getList">
+      @get-list="getList"
+    >
       <template #claimTime="{ item }">
         <div>
           <span v-if="item.claimTime">{{ item.claimTime }}</span>
@@ -31,40 +33,118 @@
       </template>
       <template #details="{ item }">
         <div>
-          <el-button type="primary" link v-if="item.expendQuantity >= 0" @click="handleClickDetails(item)">查看</el-button>
-          <el-button type="primary" link style="color: #f54a45" v-else @click="handleClickDetails(item)">查看</el-button>
+          <el-button
+            type="primary"
+            link
+            v-if="item.expendQuantity >= 0"
+            @click="handleClickDetails(item)"
+            >查看</el-button
+          >
+          <el-button
+            type="primary"
+            link
+            style="color: #f54a45"
+            v-else
+            @click="handleClickDetails(item)"
+            >查看</el-button
+          >
         </div>
       </template>
       <template #btn="{ item }">
         <div v-if="item.expendQuantity > 0">
-          <el-button type="primary" link @click="start(10, item)">采购</el-button>
-          <el-button type="primary" link @click="transferToProduction(item)">转生产</el-button>
+          <el-button type="primary" link @click="start(10, item)"
+            >采购</el-button
+          >
+          <el-button type="primary" link @click="transferToProduction(item)"
+            >转生产</el-button
+          >
         </div>
         <div v-else-if="item.expendQuantity == 0">
-          <el-button type="primary" link @click="handleFollow(item)">跟进</el-button>
-          <el-button type="primary" link @click="lookRecords(item)">跟进记录</el-button>
+          <el-button type="primary" link @click="handleFollow(item)"
+            >跟进</el-button
+          >
+          <el-button type="primary" link @click="lookRecords(item)"
+            >跟进记录</el-button
+          >
         </div>
         <div v-else>
-          <el-button type="primary" link style="color: #f54a45" @click="handleFollow(item)">跟进</el-button>
-          <el-button type="primary" link style="color: #f54a45" @click="lookRecords(item)">跟进记录</el-button>
+          <el-button
+            type="primary"
+            link
+            style="color: #f54a45"
+            @click="handleFollow(item)"
+            >跟进</el-button
+          >
+          <el-button
+            type="primary"
+            link
+            style="color: #f54a45"
+            @click="lookRecords(item)"
+            >跟进记录</el-button
+          >
         </div>
       </template>
     </byTable>
 
-    <el-dialog title="转生产" v-if="dialogVisible" v-model="dialogVisible" width="1200" v-loading="loadingDialog">
-      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
+    <el-dialog
+      title="转生产"
+      v-if="dialogVisible"
+      v-model="dialogVisible"
+      width="1200"
+      v-loading="loadingDialog"
+    >
+      <byForm
+        :formConfig="formConfig"
+        :formOption="formOption"
+        v-model="formData.data"
+        :rules="rules"
+        ref="submit"
+      >
         <template #details>
           <div style="width: 100%">
-            <el-table :data="formData.data.list" style="width: 100%; margin-top: 16px">
-              <el-table-column prop="productCode" label="物品编码" width="140" />
-              <el-table-column prop="productName" label="物品名称" min-width="220" />
-              <el-table-column prop="productUnit" label="单位" width="100" :formatter="(row) => dictValueLabel(row.productUnit, productUnit)" />
-              <el-table-column prop="expendQuantity" label="待处理数量" width="120" />
+            <el-table
+              :data="formData.data.list"
+              style="width: 100%; margin-top: 16px"
+            >
+              <el-table-column
+                prop="productCode"
+                label="物品编码"
+                width="140"
+              />
+              <el-table-column
+                prop="productName"
+                label="物品名称"
+                min-width="220"
+              />
+              <el-table-column
+                prop="productUnit"
+                label="单位"
+                width="100"
+                :formatter="
+                  (row) => dictValueLabel(row.productUnit, productUnit)
+                "
+              />
+              <el-table-column
+                prop="expendQuantity"
+                label="待处理数量"
+                width="120"
+              />
               <el-table-column label="转生产数量" width="160">
                 <template #default="{ row, $index }">
                   <div style="width: 100%">
-                    <el-form-item :prop="'list.' + $index + '.quantity'" :rules="rules.quantity" :inline-message="true">
-                      <el-input-number v-model="row.quantity" placeholder="请输入数量" style="width: 100%" :precision="0" :controls="false" :min="0" />
+                    <el-form-item
+                      :prop="'list.' + $index + '.quantity'"
+                      :rules="rules.quantity"
+                      :inline-message="true"
+                    >
+                      <el-input-number
+                        v-model="row.quantity"
+                        placeholder="请输入数量"
+                        style="width: 100%"
+                        :precision="0"
+                        :controls="false"
+                        :min="0"
+                      />
                     </el-form-item>
                   </div>
                 </template>
@@ -72,15 +152,31 @@
               <el-table-column label="完工期限" width="180">
                 <template #default="{ row, $index }">
                   <div style="width: 100%">
-                    <el-form-item :prop="'list.' + $index + '.time'" :rules="rules.time" :inline-message="true">
-                      <el-date-picker v-model="row.time" type="date" placeholder="请选择" value-format="YYYY-MM-DD" />
+                    <el-form-item
+                      :prop="'list.' + $index + '.time'"
+                      :rules="rules.time"
+                      :inline-message="true"
+                    >
+                      <el-date-picker
+                        v-model="row.time"
+                        type="date"
+                        placeholder="请选择"
+                        value-format="YYYY-MM-DD"
+                      />
                     </el-form-item>
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column align="center" label="操作" width="80" fixed="right">
+              <el-table-column
+                align="center"
+                label="操作"
+                width="80"
+                fixed="right"
+              >
                 <template #default="{ row, $index }">
-                  <el-button type="primary" link @click="handleDelete($index)">删除</el-button>
+                  <el-button type="primary" link @click="handleDelete($index)"
+                    >删除</el-button
+                  >
                 </template>
               </el-table-column>
             </el-table>
@@ -89,21 +185,45 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
+        <el-button type="primary" @click="submitForm()" size="large"
+          >确 定</el-button
+        >
       </template>
     </el-dialog>
-    <el-dialog title="填写跟进" v-if="dialogVisibleOne" v-model="dialogVisibleOne" width="500" v-loading="loadingDialog">
-      <byForm :formConfig="formConfigOne" :formOption="formOption" v-model="formData.dataOne" :rules="rulesOne" ref="submitOne"> </byForm>
+    <el-dialog
+      title="填写跟进"
+      v-if="dialogVisibleOne"
+      v-model="dialogVisibleOne"
+      width="500"
+      v-loading="loadingDialog"
+    >
+      <byForm
+        :formConfig="formConfigOne"
+        :formOption="formOption"
+        v-model="formData.dataOne"
+        :rules="rulesOne"
+        ref="submitOne"
+      >
+      </byForm>
       <template #footer>
-        <el-button @click="dialogVisibleOne = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitFormOne()" size="large">确 定</el-button>
+        <el-button @click="dialogVisibleOne = false" size="large"
+          >取 消</el-button
+        >
+        <el-button type="primary" @click="submitFormOne()" size="large"
+          >确 定</el-button
+        >
       </template>
     </el-dialog>
 
     <el-dialog title="跟进记录" v-model="dialogVisibleTwo" width="500">
       <div style="width: 100%">
         <el-timeline :reverse="false">
-          <el-timeline-item placement="top" v-for="(activity, index) in activities" :key="index" :timestamp="activity.followUpTime">
+          <el-timeline-item
+            placement="top"
+            v-for="(activity, index) in activities"
+            :key="index"
+            :timestamp="activity.followUpTime"
+          >
             <div>
               跟进结果:
               <span>{{ activity.resultType ? "已处理" : "处理中" }}</span>
@@ -114,11 +234,24 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="交接单" v-if="openHandover" v-model="openHandover" width="800">
-      <byForm :formConfig="formHandoverConfig" :formOption="formOption" v-model="productRow.data">
+    <el-dialog
+      title="交接单"
+      v-if="openHandover"
+      v-model="openHandover"
+      width="800"
+    >
+      <byForm
+        :formConfig="formHandoverConfig"
+        :formOption="formOption"
+        v-model="productRow.data"
+      >
         <template #remark>
           <div style="width: 100%">
-            <Editor ref="remarkEditor" :readOnly="true" :value="productRow.data.remark" />
+            <Editor
+              ref="remarkEditor"
+              :readOnly="true"
+              :value="productRow.data.remark"
+            />
           </div>
         </template>
         <template #file>
@@ -127,7 +260,8 @@
               v-model:fileList="productRow.data.fileList"
               action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
               multiple
-              :on-preview="onPreviewFile">
+              :on-preview="onPreviewFile"
+            >
             </el-upload>
           </div>
         </template>
@@ -157,6 +291,23 @@ const sourceList = ref({
     status: "15",
   },
 });
+const isReceivedArr = ref([
+  { label: "是", value: "1" },
+  { label: "否", value: "0" },
+]);
+const corporationArr = ref([]);
+const selectConfig = computed(() => [
+  {
+    label: "归属公司",
+    prop: "corporationId",
+    data: corporationArr.value,
+  },
+  {
+    label: "是否到账",
+    prop: "isReceived",
+    data: isReceivedArr.value,
+  },
+]);
 const config = computed(() => {
   return [
     {
@@ -252,20 +403,31 @@ const config = computed(() => {
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  proxy.post("/contractProduct/page", sourceList.value.pagination).then((message) => {
-    sourceList.value.data = message.rows.map((x) => ({
-      ...x,
-      isCheck: true,
-    }));
-    sourceList.value.pagination.total = message.total;
-    setTimeout(() => {
-      loading.value = false;
-    }, 200);
-  });
+  proxy
+    .post("/contractProduct/page", sourceList.value.pagination)
+    .then((message) => {
+      sourceList.value.data = message.rows.map((x) => ({
+        ...x,
+        isCheck: true,
+      }));
+      sourceList.value.pagination.total = message.total;
+      setTimeout(() => {
+        loading.value = false;
+      }, 200);
+    });
 };
 getList();
 const productUnit = ref([]);
 const getDict = () => {
+  proxy
+    .post("/corporation/page", { pageNum: 1, pageSize: 9999 })
+    .then((res) => {
+      corporationArr.value = res.rows.map((x) => ({
+        ...x,
+        label: x.name,
+        value: x.id,
+      }));
+    });
   proxy.getDictOne(["unit"]).then((res) => {
     productUnit.value = res["unit"].map((x) => ({
       label: x.dictValue,
@@ -380,8 +542,12 @@ const formConfigOne = computed(() => {
 });
 
 const rulesOne = ref({
-  resultType: [{ required: true, message: "请选择跟进结果", trigger: "change" }],
-  followUpTime: [{ required: true, message: "请选择跟进时间", trigger: "change" }],
+  resultType: [
+    { required: true, message: "请选择跟进结果", trigger: "change" },
+  ],
+  followUpTime: [
+    { required: true, message: "请选择跟进时间", trigger: "change" },
+  ],
   remark: [{ required: true, message: "请输入跟进记录", trigger: "blur" }],
 });
 
@@ -555,19 +721,23 @@ const formHandoverConfig = computed(() => {
 });
 const remarkEditor = ref(null);
 const handleClickDetails = (row) => {
-  proxy.post("/flowProcess/getStartData", { flowId: row.flowId }).then(async (res) => {
-    const current = res.contractProductList.find((x) => x.productId === row.productId);
-    productRow.data = current || {};
-    productRow.data.fileList =
-      current.fileList.map((x) => ({
-        raw: x,
-        name: x.fileName,
-        url: x.fileUrl,
-      })) || [];
-    openHandover.value = true;
-    await nextTick();
-    remarkEditor.value.changeHtml(productRow.data.remark);
-  });
+  proxy
+    .post("/flowProcess/getStartData", { flowId: row.flowId })
+    .then(async (res) => {
+      const current = res.contractProductList.find(
+        (x) => x.productId === row.productId
+      );
+      productRow.data = current || {};
+      productRow.data.fileList =
+        current.fileList.map((x) => ({
+          raw: x,
+          name: x.fileName,
+          url: x.fileUrl,
+        })) || [];
+      openHandover.value = true;
+      await nextTick();
+      remarkEditor.value.changeHtml(productRow.data.remark);
+    });
 };
 const onPreviewFile = (file) => {
   window.open(file.raw.fileUrl, "_blank");

+ 1 - 1
src/views/purchaseManage/purchaseManage/purchase/index.vue

@@ -156,7 +156,7 @@ const sourceList = ref({
     total: 3,
     pageNum: 1,
     pageSize: 10,
-    status: "15",
+    status: "15,30",
   },
 });
 let dialogVisible = ref(false);