瀏覽代碼

费控部分bug解决

cz 1 年之前
父節點
當前提交
0cbefa7f77

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

@@ -50,9 +50,9 @@
               label: i.propsTreeLabel || 'label',
               children: i.propsTreeChildren || 'children',
               disabled:i.propsTreeDisabled || 'disabled'
-            }" value-key="id" :filterable="i.filterable ? true : true" :placeholder="i.placeholder || $t('common.pleaseSelect')"
-                          :disabled="i.disabled ? i.disabled : false" check-strictly :style="i.style?i.style:{width:'100%'}" default-expand-all
-                          @change="(e) => commonsEmit(e, i)" />
+            }" value-key="id" :filterable="i.filterable ? true : true" :clearable="i.clearable ? i.clearable : false"
+                          :placeholder="i.placeholder || $t('common.pleaseSelect')" :disabled="i.disabled ? i.disabled : false" check-strictly
+                          :style="i.style?i.style:{width:'100%'}" default-expand-all @change="(e) => commonsEmit(e, i)" />
           <el-date-picker v-model="formData[i.prop]" :readonly="i.readonly ? i.readonly : false" v-else-if="i.type == 'date'" :type="i.itemType"
                           :placeholder="i.placeholder || $t('common.pleaseSelectTime')" @change="(e) => commonsEmit(e, i)"
                           :disabled="i.disabled ? i.disabled : false" :format="i.format ? i.format : dateFormatInit(i.itemType)"

+ 108 - 63
src/components/process/SF/CostControl.vue

@@ -168,7 +168,7 @@
                               :inline-message="true" class="margin-b-0">
                   <el-input-number onmousewheel="return false;" v-model="row.accountPeriodAmountTax" placeholder="请输入" style="width: 100%"
                                    :precision="2" :controls="false" :min="0" @change="(val)=>handleChangeMoney(val,$index,'accountPeriodAmountTax')"
-                                   disabled />
+                                   :disabled="accountPeriodDisabled" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -177,7 +177,8 @@
                 <el-form-item :prop="'costControlDetailList.' + $index + '.accountPeriodAmount'" :rules="rules.accountPeriodAmount"
                               :inline-message="true" class="margin-b-0">
                   <el-input-number onmousewheel="return false;" v-model="row.accountPeriodAmount" placeholder="请输入" style="width: 100%" :precision="2"
-                                   :controls="false" :min="0" @change="(val)=>handleChangeMoney(val,$index,'accountPeriodAmount')" disabled />
+                                   :controls="false" :min="0" @change="(val)=>handleChangeMoney(val,$index,'accountPeriodAmount')"
+                                   :disabled="accountPeriodDisabled" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -321,7 +322,7 @@
                 <el-form-item :prop="'costControlDetailList.' + $index + '.currentPayableDeduction'" :rules="rules.currentPayableDeduction"
                               :inline-message="true" class="margin-b-0">
                   <el-input-number onmousewheel="return false;" v-model="row.currentPayableDeduction" placeholder="请输入" style="width: 100%"
-                                   :precision="2" :controls="false" :min="0" :disabled="isDisabled" />
+                                   :precision="2" :controls="false" :disabled="isDisabled" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -330,7 +331,7 @@
                 <el-form-item :prop="'costControlDetailList.' + $index + '.currentPayable'" :rules="rules.currentPayable" :inline-message="true"
                               class="margin-b-0">
                   <el-input-number onmousewheel="return false;" v-model="row.currentPayable" placeholder="请输入" style="width: 100%" :precision="2"
-                                   :controls="false" :min="0" @change="handleGetRemark($index)" :disabled="getCurrentPayableDisabled" />
+                                   :controls="false" @change="handleGetRemark($index)" :disabled="getCurrentPayableDisabled" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -373,7 +374,7 @@
             </el-table-column>
             <el-table-column prop="paymentAccountNumber" label="汇款账号" width="150" v-if="isShowAtt('paymentAccountNumber','detailObj')">
               <template #default="{ row, $index }">
-                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountNumber'" :rules="rules.paymentAccountNumber"
+                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountNumber'" :rules="rulesTwo.paymentAccountNumber"
                               :inline-message="true" class="margin-b-0">
                   <el-input v-model="row.paymentAccountNumber" placeholder="请输入" type="text" :disabled="isDisabled" />
                 </el-form-item>
@@ -381,7 +382,7 @@
             </el-table-column>
             <el-table-column prop="paymentAccountName" label="汇款账户名" width="150" v-if="isShowAtt('paymentAccountName','detailObj')">
               <template #default="{ row, $index }">
-                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountName'" :rules="rules.paymentAccountName"
+                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountName'" :rules="rulesTwo.paymentAccountName"
                               :inline-message="true" class="margin-b-0">
                   <el-input v-model="row.paymentAccountName" placeholder="请输入" type="text" :disabled="isDisabled" />
                 </el-form-item>
@@ -389,7 +390,7 @@
             </el-table-column>
             <el-table-column prop="paymentAccountBank" label="汇款银行" width="150" v-if="isShowAtt('paymentAccountBank','detailObj')">
               <template #default="{ row, $index }">
-                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountBank'" :rules="rules.paymentAccountBank"
+                <el-form-item :prop="'costControlDetailList.' + $index + '.paymentAccountBank'" :rules="rulesTwo.paymentAccountBank"
                               :inline-message="true" class="margin-b-0">
                   <el-input v-model="row.paymentAccountBank" placeholder="请输入" type="text" :disabled="isDisabled" />
                 </el-form-item>
@@ -398,10 +399,11 @@
             <el-table-column prop="accountSubjectsId" label="记账科目" width="200" v-if="isShowAtt('accountSubjectsId','detailObj')">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
+                  <!-- :disabled="getAccountSubjectsId" -->
                   <el-form-item :prop="'costControlDetailList.' + $index + '.accountSubjectsId'" :rules="rules.accountSubjectsId"
                                 :inline-message="true" class="margin-b-0">
                     <el-tree-select v-model="row.accountSubjectsId" :data="accountSubjectsData" check-strictly :render-after-expand="false"
-                                    node-key="id" :props="defaultProps" style="width:100%" :disabled="getAccountSubjectsId" filterable
+                                    node-key="id" :props="defaultProps" style="width:100%" filterable
                                     @change="(val)=>changeAccountSubjectsId(val,$index)" />
                   </el-form-item>
                 </div>
@@ -410,7 +412,7 @@
             <el-table-column label="核算项目名称" width="200" prop="subjectsCalculateItemName" v-if="isShowAtt('accountSubjectsId','detailObj')">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-input v-model="row.subjectsCalculateItemName" placeholder=" " :disabled="getAccountSubjectsId">
+                  <el-input v-model="row.subjectsCalculateItemName" placeholder=" ">
                   </el-input>
                 </div>
               </template>
@@ -422,14 +424,13 @@
                        :style="{ marginBottom:row.subjectsCalculateItemNameList.length > index+1  ? '10px' : '' }">
                     <el-tree-select v-model="row.submitMapData[key]" :data="selectDataMap[key]" check-strictly node-key="deptId"
                                     :props="defaultPropsDept" :placeholder="'请选择'+key" style="width:100%" filterable
-                                    v-if="['核算中心', '部门' ].includes(key)" :disabled="getAccountSubjectsId" />
+                                    v-if="['核算中心', '部门' ].includes(key)" />
                     <div v-else-if="['客户'].includes(key)">
                       <el-button type="primary" @click="handleOpenSelectCustomer($index)" plain v-if="getAccountSubjectsId"
                                  style="margin-bottom:10px">选择客户</el-button>
                       <el-input v-model="row.customerName" placeholder="请选择客户" disabled></el-input>
                     </div>
-                    <el-select v-model="row.submitMapData[key]" :placeholder="'请选择'+key" style="width: 100%" filterable v-else
-                               :disabled="getAccountSubjectsId">
+                    <el-select v-model="row.submitMapData[key]" :placeholder="'请选择'+key" style="width: 100%" filterable v-else>
                       <el-option v-for="item in selectDataMap[key]" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                   </div>
@@ -441,7 +442,7 @@
                 <div style="width: 100%">
                   <el-form-item :prop="'costControlDetailList.' + $index + '.money'" :rules="rules.money" :inline-message="true" class="margin-b-0">
                     <el-input-number onmousewheel="return false;" v-model="row.money" placeholder=" " style="width: 100%" :precision="2"
-                                     :controls="false" :min="0" :disabled="getAccountSubjectsId" />
+                                     :controls="false" :min="0" />
                   </el-form-item>
                 </div>
               </template>
@@ -524,11 +525,11 @@ const supplierList = ref([]);
 const isAfterSubmit = ref([
   {
     label: "是",
-    value: "1",
+    value: 1,
   },
   {
     label: "否",
-    value: "0",
+    value: 0,
   },
 ]);
 const isAfterSubmitOne = ref([
@@ -840,7 +841,7 @@ const formConfig = computed(() => {
           formData.data.costControlDetailList.length > 0
         ) {
           formData.data.shopName =
-            formData.data.costControlDetailList[0].labelName;
+            formData.data.costControlDetailList[0].businessName;
         }
       },
     },
@@ -872,7 +873,7 @@ const formConfig = computed(() => {
       label: "开户行",
       placeholder: "请输入开户行",
       itemWidth: 25,
-      disabled: isDisabled.value,
+      disabled: !isHaveFinance.value,
       isShow: isShowAtt("paymentAccountId", "mainObj"),
     },
     {
@@ -881,7 +882,7 @@ const formConfig = computed(() => {
       label: "开户名",
       placeholder: "请输入开户名",
       itemWidth: 25,
-      disabled: isDisabled.value,
+      disabled: !isHaveFinance.value,
       isShow: isShowAtt("paymentAccountId", "mainObj"),
     },
     {
@@ -890,7 +891,7 @@ const formConfig = computed(() => {
       label: "账号",
       placeholder: "请输入账号",
       itemWidth: 25,
-      disabled: isDisabled.value,
+      disabled: !isHaveFinance.value,
       isShow: isShowAtt("paymentAccountId", "mainObj"),
     },
     {
@@ -966,15 +967,15 @@ const rules = ref({
   accountBank: [{ required: true, message: "请输入开户行", trigger: "blur" }],
   accountName: [{ required: true, message: "请输入开户名", trigger: "blur" }],
   accountNumber: [{ required: true, message: "请输入账号", trigger: "blur" }],
-  paymentAccountBank: [
-    { required: true, message: "请输入开户行", trigger: "blur" },
-  ],
-  paymentAccountName: [
-    { required: true, message: "请输入开户名", trigger: "blur" },
-  ],
-  paymentAccountNumber: [
-    { required: true, message: "请输入账号", trigger: "blur" },
-  ],
+  // paymentAccountBank: [
+  //   { required: true, message: "请输入开户行", trigger: "blur" },
+  // ],
+  // paymentAccountName: [
+  //   { required: true, message: "请输入开户名", trigger: "blur" },
+  // ],
+  // paymentAccountNumber: [
+  //   { required: true, message: "请输入账号", trigger: "blur" },
+  // ],
 
   // 明细
   remark: [{ required: true, message: "请输入收付款说明", trigger: "blur" }],
@@ -1035,9 +1036,9 @@ const rules = ref({
   //  currentPayable: [
   //   { required: true, message: "请输入本期应付(抵扣)", trigger: "blur" },
   // ],
-  currentPayable: [
-    { required: true, message: "请输入本期应付", trigger: "blur" },
-  ],
+  // currentPayable: [
+  //   { required: true, message: "请输入本期应付", trigger: "blur" },
+  // ],
   currentPayableDeduction: [
     { required: true, message: "请输入本期应付(抵扣后)", trigger: "blur" },
   ],
@@ -1057,6 +1058,8 @@ const rules = ref({
   costMoneySum: [
     { required: true, message: "请输入费用合计", trigger: "blur" },
   ],
+});
+const rulesTwo = ref({
   paymentAccountNumber: [
     { required: true, message: "请输入汇款账号", trigger: "blur" },
   ],
@@ -1161,6 +1164,8 @@ const getRemarkDisabled = ref(false);
 const getCurrentPayableDisabled = ref(false);
 // 记账科目
 const getAccountSubjectsId = ref(false);
+// 账期金额
+const accountPeriodDisabled = ref(true);
 // 记帐科目一些字段
 const accountSubjectsId = ref("");
 const subjectsCalculateItemName = ref("");
@@ -1245,10 +1250,15 @@ const getCorrespondSelectData = () => {
 };
 
 const checkDisabled = () => {
+  // 账期金额
+  if (currentCostTypeData.value.name.indexOf("快递") != -1) {
+    accountPeriodDisabled.value = false;
+  }
   // 本期应付
   if (
     currentCostTypeData.value.name.indexOf("备用金申请") != -1 ||
-    currentCostTypeData.value.name.indexOf("借款") != -1
+    currentCostTypeData.value.name.indexOf("借款") != -1 ||
+    currentCostTypeData.value.name.indexOf("店铺") != -1
   ) {
     getCurrentPayableDisabled.value = false;
     if (route.query.processType) {
@@ -1342,7 +1352,7 @@ const changeCostType = (val) => {
   formData.data.companyId = proxy.useUserStore().user.companyId;
   formData.data.deptId = proxy.useUserStore().user.dept.deptId;
   formData.data.apapplyUserIdplyTime = proxy.useUserStore().user.userId;
-  formData.data.isAdvance = "0";
+  formData.data.isAdvance = 0;
   formData.data.costControlDetailList = [];
   formData.data.fileList = [];
   formData.data.invoiceFileList = [];
@@ -1350,9 +1360,9 @@ const changeCostType = (val) => {
     currentCostTypeData.value &&
     currentCostTypeData.value.name.indexOf("预付") != -1
   ) {
-    formData.data.isAdvance = "1";
+    formData.data.isAdvance = 1;
   } else {
-    formData.data.isAdvance = "0";
+    formData.data.isAdvance = 0;
   }
 };
 
@@ -1476,6 +1486,7 @@ const handleChangeMoney = (val, index, att) => {
                 row.accountPeriodAmount - row.deductionPrepaid
               ).toFixed(2)
             );
+      row.currentPayable = row.currentPayable > 0 ? row.currentPayable : 0;
     } else if (currentCostTypeData.value.name.indexOf("采购货款") != -1) {
       // 是否预付
       if (formData.data.isAdvance == "1") {
@@ -1503,7 +1514,11 @@ const handleChangeMoney = (val, index, att) => {
                 ).toFixed(2)
               );
       }
-    } else if (currentCostTypeData.value.name.indexOf("其他费用") != -1) {
+      row.currentPayable = row.currentPayable > 0 ? row.currentPayable : 0;
+    }
+    handleGetRemark(index);
+  } else {
+    if (currentCostTypeData.value.name.indexOf("其他费用") != -1) {
       // 是否预付
       if (formData.data.isAdvance == "1") {
         row.currentPayable =
@@ -1516,8 +1531,9 @@ const handleChangeMoney = (val, index, att) => {
             : Number(
                 parseFloat(row.balancePrepaid - row.currentPrepaid).toFixed(2)
               );
+        row.currentPayable = row.currentPayable > 0 ? row.currentPayable : 0;
       } else {
-        row.currentPayable =
+        row.currentPayableDeduction =
           formData.data.isPublicTransfer == "1"
             ? Number(
                 parseFloat(
@@ -1527,9 +1543,11 @@ const handleChangeMoney = (val, index, att) => {
             : Number(
                 parseFloat(row.balancePrepaid - row.deductionPrepaid).toFixed(2)
               );
+        row.currentPayableDeduction =
+          row.currentPayableDeduction > 0 ? row.currentPayableDeduction : 0;
+        row.currentPayable = row.currentPayableDeduction;
       }
     }
-
     handleGetRemark(index);
   }
 };
@@ -1571,13 +1589,13 @@ const changeSelectData = (val, index, type) => {
           current.balancePrepaid;
         formData.data.costControlDetailList[index].balancePrepaidTax =
           current.balancePrepaidTax;
-        formData.data.costControlDetailList[index].labelName = current.label;
+        formData.data.costControlDetailList[index].businessName = current.label;
       }
       break;
     case "2":
       current = shopList.value.find((x) => x.value == val);
       if (current) {
-        formData.data.costControlDetailList[index].labelName = current.label;
+        formData.data.costControlDetailList[index].businessName = current.label;
       }
       break;
     case "3":
@@ -1589,7 +1607,7 @@ const changeSelectData = (val, index, type) => {
           current.balancePrepaid;
         formData.data.costControlDetailList[index].balancePrepaidTax =
           current.balancePrepaidTax;
-        formData.data.costControlDetailList[index].labelName = current.label;
+        formData.data.costControlDetailList[index].businessName = current.label;
       }
       if (row.accountPeriod && row.supplierId) {
         getAccountPeriodAmountTax(row.accountPeriod, row.supplierId, index);
@@ -1606,7 +1624,7 @@ const changeSelectData = (val, index, type) => {
           current.balancePrepaid;
         formData.data.costControlDetailList[index].balancePrepaidTax =
           current.balancePrepaidTax;
-        formData.data.costControlDetailList[index].labelName = current.label;
+        formData.data.costControlDetailList[index].businessName = current.label;
       }
       break;
     default:
@@ -1621,26 +1639,27 @@ const changeSelectData = (val, index, type) => {
 };
 
 const getDict = () => {
-  proxy.post("/paymentType/page", { pageNum: 1, pageSize: 999 }).then((res) => {
-    paymentTypeData.value = res.rows.map((item) => {
-      return {
-        ...item,
-        name: item.name,
-        label: item.name,
-        value: item.id,
-      };
-    });
-    if (res.rows && res.rows.length > 0 && !route.query.businessId) {
-      formData.data.costType = res.rows[0].id;
-      changeCostType(formData.data.costType);
-    }
-  });
-
   proxy
     .post("/accountSubjects/list", { pageNum: 1, pageSize: 999 })
     .then((res) => {
       accountSubjectsList.value = res;
       accountSubjectsData.value = proxy.handleTree(res, "id");
+      proxy
+        .post("/paymentType/page", { pageNum: 1, pageSize: 999 })
+        .then((res) => {
+          paymentTypeData.value = res.rows.map((item) => {
+            return {
+              ...item,
+              name: item.name,
+              label: item.name,
+              value: item.id,
+            };
+          });
+          if (res.rows && res.rows.length > 0 && !route.query.businessId) {
+            formData.data.costType = res.rows[0].id;
+            changeCostType(formData.data.costType);
+          }
+        });
     });
 
   proxy.post("/payeeInfo/page", { pageNum: 1, pageSize: 999 }).then((res) => {
@@ -1758,15 +1777,15 @@ const handleGetRemark = (index) => {
   } else if (currentCostTypeData.value.name.indexOf("快递") != -1) {
     formData.data.costControlDetailList[
       index
-    ].remark = `支付${row.labelName}${currentCostTypeData.value.name}${money}`;
+    ].remark = `支付${row.businessName}${currentCostTypeData.value.name}${money}`;
   } else if (currentCostTypeData.value.name.indexOf("店铺") != -1) {
     formData.data.costControlDetailList[
       index
-    ].remark = `支付${row.labelName}${currentCostTypeData.value.name}${money}`;
+    ].remark = `支付${row.businessName}${currentCostTypeData.value.name}${money}`;
   } else if (currentCostTypeData.value.name.indexOf("采购") != -1) {
     formData.data.costControlDetailList[
       index
-    ].remark = `支付${row.labelName}供应商${currentCostTypeData.value.name}${money}`;
+    ].remark = `支付${row.businessName}供应商${currentCostTypeData.value.name}${money}`;
   } else if (currentCostTypeData.value.name.indexOf("订单") != -1) {
     formData.data.costControlDetailList[index].money = parseFloat(
       Number(row.costMoneySum)
@@ -1811,7 +1830,7 @@ const clickAdd = () => {
       taxation: null,
       fileList: [],
       invoiceFileList: [],
-      labelName: "",
+      businessName: "",
     });
   } else {
     formData.data.costControlDetailList = [
@@ -1847,7 +1866,7 @@ const clickAdd = () => {
         taxation: null,
         fileList: [],
         invoiceFileList: [],
-        labelName: "",
+        businessName: "",
       },
     ];
   }
@@ -2087,6 +2106,32 @@ const getAllData = (businessId) => {
       formData.data[key] = res[key];
     }
 
+    if (formData.data.isPublicTransfer != undefined) {
+      proxy
+        .post("/accountManagement/page", {
+          pageNum: 1,
+          pageSize: 999,
+          type: formData.data.isPublicTransfer == 1 ? "10" : "20",
+        })
+        .then((res) => {
+          accountList.value = res.rows.map((item) => {
+            return {
+              ...item,
+              label: item.alias,
+              value: item.id,
+            };
+          });
+        });
+    }
+
+    if (
+      formData.data.paymentMethod != undefined &&
+      formData.data.paymentMethod == "1"
+    ) {
+      formData.data.shopName =
+        formData.data.costControlDetailList[0].businessName;
+    }
+
     if (
       formData.data.contractOutboundInfoList &&
       formData.data.contractOutboundInfoList.length > 0
@@ -2101,7 +2146,7 @@ const getAllData = (businessId) => {
         );
         checkDisabled();
       }
-    }, 500);
+    }, 1000);
 
     getDeptData(formData.data.companyId);
     getCheckBoxMap(formData.data.costType);

+ 105 - 88
src/components/process/SF/Purchase.vue

@@ -15,49 +15,53 @@
               <el-option v-for="item in corporationList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
-          <el-form-item label="地址" class="wid100">
-            <el-row style="width:100%">
-              <el-col :span="8">
-                <el-form-item label="" prop="buyCountryName" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyCountryName" placeholder="请输入国家" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="" prop="buyProvinceName" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyProvinceName" placeholder="请输入省/州" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="" prop="buyCityName" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyCityName" placeholder="请输入城市" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form-item>
+          <div v-show="isShowOther">
+            <el-form-item label="地址" class="wid100">
+              <el-row style="width:100%">
+                <el-col :span="8">
+                  <el-form-item label="" prop="buyCountryName" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.buyCountryName" placeholder="请输入国家" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="" prop="buyProvinceName" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.buyProvinceName" placeholder="请输入省/州" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="" prop="buyCityName" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.buyCityName" placeholder="请输入城市" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form-item>
 
-          <el-form-item label="详细地址" prop="buyAddress" class="wid100">
-            <el-input v-model="formData.data.buyAddress" type="textarea">
-            </el-input>
-          </el-form-item>
+            <el-form-item label="详细地址" prop="buyAddress" class="wid100">
+              <el-input v-model="formData.data.buyAddress" type="textarea">
+              </el-input>
+            </el-form-item>
+
+            <el-form-item label="联系人" class="wid100">
+              <el-row style="width:100%">
+                <el-col :span="8">
+                  <el-form-item label="" prop="buyContactName" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.buyContactName" placeholder="请输入联系人" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="16">
+                  <el-form-item label="" prop="buyContactNumber" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form-item>
+          </div>
 
-          <el-form-item label="联系人" class="wid100">
-            <el-row style="width:100%">
-              <el-col :span="8">
-                <el-form-item label="" prop="buyContactName" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyContactName" placeholder="请输入联系人" />
-                </el-form-item>
-              </el-col>
-              <el-col :span="16">
-                <el-form-item label="" prop="buyContactNumber" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form-item>
         </div>
       </template>
       <template #buyer>
-        <div style="width: 100%">
+        <div style="width: 100%;position:relative">
+
           <el-form-item label="卖方信息" prop="sellCorporationId" class="wid100">
             <el-select v-model="formData.data.sellCorporationId" filterable remote reserve-keyword placeholder="请输入关键字" remote-show-suffix
                        :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" style="width: 100%" @change="changeSupplier" v-if="
@@ -69,56 +73,68 @@
             <el-select v-model="formData.data.sellCorporationName" disabled v-else style="width: 100%">
             </el-select>
           </el-form-item>
-          <el-form-item label="地址" class="wid100" required>
-            <el-row style="width: 100%">
-              <el-col :span="6">
-                <el-form-item label="" prop="countryId" class="margin-b-0">
-                  <el-select v-model="formData.data.countryId" placeholder="国家" filterable @change="(val) => getCityData(val, '20', true)">
-                    <el-option v-for="item in countryData" :label="item.name" :value="item.id">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="6">
-                <el-form-item label="" prop="provinceName" class="margin-b-0">
-                  <selectCity placeholder="省/洲" @change="(val) => getCityData(val, '30', true)" addressId="provinceId" addressName="provinceName"
-                              v-model="formData.data" :data="provinceData">
-                  </selectCity>
-                </el-form-item>
-              </el-col>
-              <el-col :span="6">
-                <el-form-item label="" prop="cityName" class="margin-b-0">
-                  <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData">
-                  </selectCity>
-                </el-form-item>
-              </el-col>
-              <el-col :span="6">
-                <el-form-item label="" prop="sellPostalCode" class="margin-b-0">
-                  <el-input v-model="formData.data.sellPostalCode" placeholder="请输入邮编" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form-item>
 
-          <el-form-item label="详细地址" prop="sellAddress" class="wid100">
-            <el-input v-model="formData.data.sellAddress" type="textarea">
-            </el-input>
-          </el-form-item>
-          <el-form-item label="联系人" class="wid100" required>
-            <el-row style="width: 100%">
-              <el-col :span="8">
-                <el-form-item label="" prop="sellContactName" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.sellContactName" clearable placeholder="请输入联系人">
-                  </el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="16">
-                <el-form-item label="" prop="sellContactNumber" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form-item>
+          <div style="position:absolute;top:0px;right:-20px;cursor:pointer" @click="isShowOther =!isShowOther">
+            <el-icon v-if="!isShowOther">
+              <ArrowDownBold />
+            </el-icon>
+            <el-icon v-else>
+              <ArrowUpBold />
+            </el-icon>
+          </div>
+
+          <div v-show="isShowOther">
+            <el-form-item label="地址" class="wid100" required>
+              <el-row style="width: 100%">
+                <el-col :span="6">
+                  <el-form-item label="" prop="countryId" class="margin-b-0">
+                    <el-select v-model="formData.data.countryId" placeholder="国家" filterable @change="(val) => getCityData(val, '20', true)">
+                      <el-option v-for="item in countryData" :label="item.name" :value="item.id">
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="" prop="provinceName" class="margin-b-0">
+                    <selectCity placeholder="省/洲" @change="(val) => getCityData(val, '30', true)" addressId="provinceId" addressName="provinceName"
+                                v-model="formData.data" :data="provinceData">
+                    </selectCity>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="" prop="cityName" class="margin-b-0">
+                    <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData">
+                    </selectCity>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="" prop="sellPostalCode" class="margin-b-0">
+                    <el-input v-model="formData.data.sellPostalCode" placeholder="请输入邮编" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form-item>
+
+            <el-form-item label="详细地址" prop="sellAddress" class="wid100">
+              <el-input v-model="formData.data.sellAddress" type="textarea">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="联系人" class="wid100" required>
+              <el-row style="width: 100%">
+                <el-col :span="8">
+                  <el-form-item label="" prop="sellContactName" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.sellContactName" clearable placeholder="请输入联系人">
+                    </el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="16">
+                  <el-form-item label="" prop="sellContactNumber" label-width="0px" class="margin-b-0 wid100">
+                    <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form-item>
+          </div>
         </div>
       </template>
 
@@ -370,10 +386,10 @@ const customerUserList = ref([]);
 const countryData = ref([]);
 const provinceData = ref([]);
 const cityData = ref([]);
-
 const openProductCompany = ref(false);
 const copyType = ref(1);
 const copyContract = ref(false);
+const isShowOther = ref(false);
 const formData = reactive({
   data: {
     fileList: [],
@@ -1185,6 +1201,7 @@ const handleSubmit = async () => {
     //   const errorDiv = document.getElementsByClassName("is-error");
     //   errorDiv[0].scrollIntoView();
     // }, 0);
+    isShowOther.value = true;
   }
   return flag;
 };

+ 1 - 1
src/views/EHSD/procurement/purchasedEHSD/index.vue

@@ -153,7 +153,7 @@
       </el-tabs>
       <template #footer>
         <el-button @click="arrivalDialog = false" size="defualt" v-debounce>取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="defualt" v-debounce>
+        <el-button type="primary" @click="submitForm()" size="defualt" v-if="activeName=='1'" v-debounce>
           确 定
         </el-button>
       </template>

+ 11 - 2
src/views/EHSD/saleContract/accountingSubjects/index.vue

@@ -9,8 +9,9 @@
       ]" @get-list="getList">
     </byTable>
     <div style="padding: 0 20px 20px 20px; background-color: white">
-      <el-table v-loading="loading" :data="sourceList.data" row-key="id" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
-                default-expand-all>
+      <!-- default-expand-all -->
+      <el-table v-loading="loading" :height="tableHeight" :data="sourceList.data" row-key="id"
+                :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
         <el-table-column prop="subjectsName" label="名称" />
         <el-table-column prop="calculateItemName" label="核算项目名称" />
         <el-table-column prop="remark" label="备注" />
@@ -68,6 +69,14 @@ import byForm from "@/components/byForm/index";
 import useUserStore from "@/store/modules/user";
 
 const { proxy } = getCurrentInstance();
+const tableHeight = ref(0);
+const getTableHeight = () => {
+  tableHeight.value = window.innerHeight - 208;
+};
+getTableHeight();
+window.addEventListener("resize", () => {
+  getTableHeight();
+});
 const accountingSubjects = computed(
   () => proxy.useUserStore().allDict["accounting_subjects"]
 );

+ 1 - 0
src/views/finance/fundManage/paymentType/index.vue

@@ -215,6 +215,7 @@ const formConfig = computed(() => {
       prop: "accountSubjectsId",
       label: "记帐科目",
       data: accountSubjectsData.value,
+      clearable: true,
       propsTreeLabel: "subjectsName",
       propsTreeValue: "id",
       itemWidth: 50,