Преглед изворни кода

新需求以及部分页面字段更改

cz пре 1 година
родитељ
комит
adc1e9ce3d

+ 129 - 477
src/components/process/EHSD/Purchase.vue

@@ -1,95 +1,53 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <byForm
-      :formConfig="formConfig"
-      :formOption="formOption"
-      v-model="formData.data"
-      :rules="rules"
-      ref="submit"
-    >
+    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
       <template #btn>
         <div>
-          <el-button
-            type="primary"
-            v-if="
+          <el-button type="primary" v-if="
               [30].includes(route.query.processType) || !route.query.processType
-            "
-            @click="clickCopy"
-            >复制采购合同</el-button
-          >
+            " @click="clickCopy">复制采购合同</el-button>
         </div>
       </template>
       <template #buyer>
         <div style="width: 100%">
           <el-form-item prop="buyCorporationId">
-            <el-select
-              v-model="formData.data.buyCorporationId"
-              style="width: 100%"
-              @change="changeBuyCorporation"
-            >
-              <el-option
-                v-for="item in corporationList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
+            <el-select v-model="formData.data.buyCorporationId" style="width: 100%" @change="changeBuyCorporation">
+              <el-option v-for="item in corporationList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="地址" prop="buyCountryName">
-                <el-input
-                  v-model="formData.data.buyCountryName"
-                  placeholder="请输入国家"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyCountryName" placeholder="请输入国家" @change="changeAddress" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label=" " prop="buyProvinceName">
-                <el-input
-                  v-model="formData.data.buyProvinceName"
-                  placeholder="请输入省/州"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyProvinceName" placeholder="请输入省/州" @change="changeAddress" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label=" " prop="buyCityName">
-                <el-input
-                  v-model="formData.data.buyCityName"
-                  placeholder="请输入城市"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyCityName" placeholder="请输入城市" @change="changeAddress" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="24">
               <el-form-item prop="buyAddress">
-                <el-input
-                  v-model="formData.data.buyAddress"
-                  type="textarea"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyAddress" type="textarea" @change="changeAddress" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="联系人" prop="buyContactName">
-                <el-input
-                  v-model="formData.data.buyContactName"
-                  placeholder="请输入联系人"
-                />
+                <el-input v-model="formData.data.buyContactName" placeholder="请输入联系人" />
               </el-form-item>
             </el-col>
             <el-col :span="16">
               <el-form-item label=" " prop="buyContactNumber">
-                <el-input
-                  v-model="formData.data.buyContactNumber"
-                  placeholder="请输入联系人电话"
-                />
+                <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" />
               </el-form-item>
             </el-col>
           </el-row>
@@ -99,117 +57,62 @@
         <div style="width: 100%">
           <div style="width: 100%">
             <el-form-item prop="sellCorporationId">
-              <el-select
-                v-model="formData.data.sellCorporationId"
-                style="width: 100%"
-                filterable
-                remote
-                reserve-keyword
-                placeholder="请输入关键字"
-                remote-show-suffix
-                :remote-method="remoteMethod"
-                :loading="loadingSearch"
-                @input="remoteMethod"
-                @change="changeSupplier"
-                v-if="
+              <el-select v-model="formData.data.sellCorporationId" style="width: 100%" filterable remote reserve-keyword placeholder="请输入关键字"
+                         remote-show-suffix :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" @change="changeSupplier"
+                         v-if="
                   [30].includes(route.query.processType) ||
                   !route.query.processType
-                "
-              >
-                <el-option
-                  v-for="item in supplierList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                />
+                ">
+                <el-option v-for="item in supplierList" :key="item.value" :label="item.label" :value="item.value" />
               </el-select>
-              <el-select
-                v-model="formData.data.sellCorporationName"
-                disabled
-                v-else
-                style="width: 100%"
-              >
+              <el-select v-model="formData.data.sellCorporationName" disabled v-else style="width: 100%">
               </el-select>
             </el-form-item>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="6">
                 <el-form-item label="地址" prop="countryId">
-                  <el-select
-                    v-model="formData.data.countryId"
-                    placeholder="国家"
-                    filterable
-                    @change="(val) => changeSellAddress(val, '20')"
-                  >
-                    <el-option
-                      v-for="item in countryData"
-                      :label="item.chineseName"
-                      :value="item.id"
-                    >
+                  <el-select v-model="formData.data.countryId" placeholder="国家" filterable @change="(val) => changeSellAddress(val, '20')">
+                    <el-option v-for="item in countryData" :label="item.chineseName" :value="item.id">
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label=" " prop="provinceName">
-                  <selectCity
-                    placeholder="省/洲"
-                    @change="(val) => changeSellAddress(val, '30')"
-                    addressId="provinceId"
-                    addressName="provinceName"
-                    v-model="formData.data"
-                    :data="provinceData"
-                  >
+                  <selectCity placeholder="省/洲" @change="(val) => changeSellAddress(val, '30')" 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">
-                  <selectCity
-                    placeholder="城市"
-                    addressId="cityId"
-                    addressName="cityName"
-                    v-model="formData.data"
-                    :data="cityData"
-                    @change="changeAddress"
-                  >
+                  <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData"
+                              @change="changeAddress">
                   </selectCity>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label=" " prop="sellPostalCode">
-                  <el-input
-                    v-model="formData.data.sellPostalCode"
-                    placeholder="请输入邮编"
-                  />
+                  <el-input v-model="formData.data.sellPostalCode" placeholder="请输入邮编" />
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="24">
                 <el-form-item prop="sellAddress">
-                  <el-input
-                    v-model="formData.data.sellAddress"
-                    type="textarea"
-                    @change="changeAddress"
-                  />
+                  <el-input v-model="formData.data.sellAddress" type="textarea" @change="changeAddress" />
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="8">
                 <el-form-item label="联系人" prop="sellContactName">
-                  <el-input
-                    v-model="formData.data.sellContactName"
-                    placeholder="请输入联系人"
-                  />
+                  <el-input v-model="formData.data.sellContactName" placeholder="请输入联系人" />
                 </el-form-item>
               </el-col>
               <el-col :span="16">
                 <el-form-item label=" " prop="sellContactNumber">
-                  <el-input
-                    v-model="formData.data.sellContactNumber"
-                    placeholder="请输入联系人电话"
-                  />
+                  <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -221,33 +124,15 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="6">
               <el-form-item label="付款方式" prop="paymentMethod">
-                <el-select
-                  v-model="formData.data.paymentMethod"
-                  placeholder="请选择付款方式"
-                  style="width: 100%"
-                >
-                  <el-option
-                    v-for="item in fundsPaymentMethod"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.paymentMethod" placeholder="请选择付款方式" style="width: 100%">
+                  <el-option v-for="item in fundsPaymentMethod" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="发票类型" prop="invoiceType">
-                <el-select
-                  v-model="formData.data.invoiceType"
-                  placeholder="请选择发票类型"
-                  style="width: 100%"
-                >
-                  <el-option
-                    v-for="item in invoiceType"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.invoiceType" placeholder="请选择发票类型" style="width: 100%">
+                  <el-option v-for="item in invoiceType" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -259,17 +144,8 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="12">
               <el-form-item label="交货类型" prop="deliveryType">
-                <el-radio-group
-                  v-model="formData.data.deliveryType"
-                  @change="changeAddress"
-                >
-                  <el-radio
-                    v-for="(item, index) in deliveryType"
-                    :key="index"
-                    :label="item.value"
-                    border
-                    >{{ item.label }}</el-radio
-                  >
+                <el-radio-group v-model="formData.data.deliveryType" @change="changeAddress">
+                  <el-radio v-for="(item, index) in deliveryType" :key="index" :label="item.value" border>{{ item.label }}</el-radio>
                 </el-radio-group>
               </el-form-item>
             </el-col>
@@ -277,85 +153,48 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="12">
               <el-form-item label="详细地址" prop="address">
-                <el-input
-                  v-model="formData.data.address"
-                  :rows="2"
-                  type="textarea"
-                  placeholder="请输入详细地址"
-                />
+                <el-input v-model="formData.data.address" :rows="2" type="textarea" placeholder="请输入详细地址" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="6">
               <el-form-item label="交付日期" prop="deliveryTime">
-                <el-date-picker
-                  v-model="formData.data.deliveryTime"
-                  type="date"
-                  placeholder="请选择交付日期"
-                  value-format="YYYY-MM-DD"
-                />
+                <el-date-picker v-model="formData.data.deliveryTime" type="date" placeholder="请选择交付日期" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="质保期 (天)" prop="warranty">
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="formData.data.warranty"
-                  placeholder="请输入质保期"
-                  style="width: 100%"
-                  :precision="0"
-                  :controls="false"
-                  :min="0"
-                />
+                <el-input-number onmousewheel="return false;" v-model="formData.data.warranty" placeholder="请输入质保期" style="width: 100%" :precision="0"
+                                 :controls="false" :min="0" />
               </el-form-item>
             </el-col>
           </el-row>
         </div>
       </template>
       <template #commodity>
-        <div
-          style="width: 100%"
-          v-if="
+        <div style="width: 100%" v-if="
             formData.data.purchaseProductList &&
             formData.data.purchaseProductList.length > 0
-          "
-        >
-          <div
-            :style="
+          ">
+          <div :style="
               index !== formData.data.purchaseProductList.length - 1
                 ? 'margin-bottom: 20px'
                 : ''
-            "
-            v-for="(item, index) in formData.data.purchaseProductList"
-            :key="item.dataResourceId"
-          >
-            <div
-              style="
+            " v-for="(item, index) in formData.data.purchaseProductList" :key="item.dataResourceId">
+            <div style="
                 border: 1px solid #ccc;
                 padding: 20px 10px 0 10px;
                 width: 100%;
-              "
-            >
-              <el-row
-                style="
+              ">
+              <el-row style="
                   width: 100%;
                   font-weight: 700;
                   background: #eee;
                   padding: 10px 0px;
-                "
-                :gutter="5"
-                type="flex"
-                align="middle"
-              >
+                " :gutter="5" type="flex" align="middle">
                 <el-col :span="1" style="text-align: center">
-                  <img
-                    v-if="item.fileUrl"
-                    :src="item.fileUrl"
-                    class="pic"
-                    style="width: 30px; height: 30px"
-                    @click="onPicture(item.fileUrl)"
-                  />
+                  <img v-if="item.fileUrl" :src="item.fileUrl" class="pic" style="width: 30px; height: 30px" @click="onPicture(item.fileUrl)" />
                 </el-col>
                 <el-col :span="4">
                   <span>产品名称: {{ item.productName }}</span>
@@ -380,38 +219,21 @@
                     @click="handleHandover(item, index)"
                     >编辑备注</el-button
                   > -->
-                  <div
-                    style="color: #409eff; cursor: pointer"
-                    @click="handleHandover(item, index)"
-                  >
+                  <div style="color: #409eff; cursor: pointer" @click="handleHandover(item, index)">
                     编辑备注
                   </div>
                 </el-col>
                 <el-col :span="2">
-                  <el-button type="primary" text @click="handleMaterial(index)"
-                    >添加配件</el-button
-                  >
+                  <el-button type="primary" text @click="handleMaterial(index)">添加配件</el-button>
                 </el-col>
               </el-row>
-              <el-collapse
-                v-model="item.activeName"
-                class="hideCollapse"
-                accordion
-              >
+              <el-collapse v-model="item.activeName" class="hideCollapse" accordion>
                 <el-collapse-item title="" :name="true">
                   <div style="padding: 0 40px">
-                    <el-table
-                      :data="item.purchaseProductMountingsList"
-                      style="width: 100%"
-                    >
+                    <el-table :data="item.purchaseProductMountingsList" style="width: 100%">
                       <el-table-column label="图片" align="center" width="80">
                         <template #default="{ row }">
-                          <img
-                            v-if="row.fileUrl"
-                            :src="row.fileUrl"
-                            class="pic"
-                            @click="onPicture(row.fileUrl)"
-                          />
+                          <img v-if="row.fileUrl" :src="row.fileUrl" class="pic" @click="onPicture(row.fileUrl)" />
                         </template>
                       </el-table-column>
                       <el-table-column label="类型" align="center" width="80">
@@ -421,43 +243,24 @@
                           </div>
                         </template>
                       </el-table-column>
-                      <el-table-column
-                        label="产品名称"
-                        prop="productName"
-                        min-width="180"
-                      />
-                      <el-table-column
-                        label="尺寸"
-                        prop="productModel"
-                        min-width="140"
-                      />
+                      <el-table-column label="产品名称" prop="productName" min-width="180" />
+                      <el-table-column label="尺寸" prop="productModel" min-width="140" />
                       <el-table-column label="单价" width="140">
                         <template #default="{ row, $index }">
                           <div style="width: 100%" class="removePadding">
-                            <el-form-item
-                              :prop="
+                            <el-form-item :prop="
                                 'purchaseProductList.' +
                                 index +
                                 '.purchaseProductMountingsList.' +
                                 $index +
                                 '.price'
-                              "
-                              :rules="rules.price"
-                              :inline-message="true"
-                              @change="
+                              " :rules="rules.price" :inline-message="true" @change="
                                 () => {
                                   return changeProductMaterial(index, $index);
                                 }
-                              "
-                            >
-                              <el-input-number
-                                onmousewheel="return false;"
-                                v-model="row.price"
-                                placeholder="请输入单价"
-                                :precision="2"
-                                :controls="false"
-                                :min="0"
-                              />
+                              ">
+                              <el-input-number onmousewheel="return false;" v-model="row.price" placeholder="请输入单价" :precision="2" :controls="false"
+                                               :min="0" />
                             </el-form-item>
                           </div>
                         </template>
@@ -465,49 +268,27 @@
                       <el-table-column label="数量" width="140">
                         <template #default="{ row, $index }">
                           <div style="width: 100%" class="removePadding">
-                            <el-form-item
-                              :prop="
+                            <el-form-item :prop="
                                 'purchaseProductList.' +
                                 index +
                                 '.purchaseProductMountingsList.' +
                                 $index +
                                 '.quantity'
-                              "
-                              :rules="rules.quantity"
-                              :inline-message="true"
-                              @change="
+                              " :rules="rules.quantity" :inline-message="true" @change="
                                 () => {
                                   return changeProductMaterial(index, $index);
                                 }
-                              "
-                            >
-                              <el-input-number
-                                onmousewheel="return false;"
-                                v-model="row.quantity"
-                                placeholder="请输入数量"
-                                :precision="0"
-                                :controls="false"
-                                :min="0"
-                              />
+                              ">
+                              <el-input-number onmousewheel="return false;" v-model="row.quantity" placeholder="请输入数量" :precision="0"
+                                               :controls="false" :min="0" />
                             </el-form-item>
                           </div>
                         </template>
                       </el-table-column>
                       <el-table-column label="金额" prop="amount" width="100" />
-                      <el-table-column
-                        label="操作"
-                        align="center"
-                        width="80"
-                        fixed="right"
-                      >
+                      <el-table-column label="操作" align="center" width="80" fixed="right">
                         <template #default="{ $index }">
-                          <el-button
-                            type="primary"
-                            v-if="$index !== 0"
-                            link
-                            @click="handleRemove(index, $index)"
-                            >删除</el-button
-                          >
+                          <el-button type="primary" v-if="$index !== 0" link @click="handleRemove(index, $index)">删除</el-button>
                         </template>
                       </el-table-column>
                     </el-table>
@@ -515,33 +296,26 @@
                 </el-collapse-item>
               </el-collapse>
               <div style="text-align: center; margin-top: -18px">
-                <el-button
-                  type="primary"
-                  @click="item.activeName = !item.activeName"
-                  style="margin-bottom: -28px; background: #fff"
-                  text
-                >
+                <el-button type="primary" @click="item.activeName = !item.activeName" style="margin-bottom: -28px; background: #fff" text>
                   <span v-if="item.activeName">
                     <span style="vertical-align: middle">收起明细</span>
-                    <el-icon
-                      style="
+                    <el-icon style="
                         margin-left: 8px;
                         transform: rotate(-90deg);
                         vertical-align: middle;
-                      "
-                      ><DArrowRight
-                    /></el-icon>
+                      ">
+                      <DArrowRight />
+                    </el-icon>
                   </span>
                   <span v-else>
                     <span style="vertical-align: middle">查看明细</span>
-                    <el-icon
-                      style="
+                    <el-icon style="
                         margin-left: 8px;
                         transform: rotate(90deg);
                         vertical-align: middle;
-                      "
-                      ><DArrowRight
-                    /></el-icon>
+                      ">
+                      <DArrowRight />
+                    </el-icon>
                   </span>
                 </el-button>
               </div>
@@ -552,25 +326,13 @@
       <template #otherCharge>
         <div style="width: 100%">
           <el-button type="primary" @click="clickAdd()">添加行</el-button>
-          <el-table
-            :data="formData.data.purchaseProjectList"
-            style="width: 100%; margin-top: 16px"
-          >
+          <el-table :data="formData.data.purchaseProjectList" style="width: 100%; margin-top: 16px">
             <el-table-column label="收费项目" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.payName'"
-                    :rules="rules.payName"
-                    :inline-message="true"
-                  >
-                    <el-autocomplete
-                      v-model="row.payName"
-                      :fetch-suggestions="querySearch"
-                      clearable
-                      class="inline-input w-50"
-                      placeholder="请输入收费项目"
-                    />
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.payName'" :rules="rules.payName" :inline-message="true">
+                    <el-autocomplete v-model="row.payName" :fetch-suggestions="querySearch" clearable class="inline-input w-50"
+                                     placeholder="请输入收费项目" />
                   </el-form-item>
                 </div>
               </template>
@@ -578,9 +340,7 @@
             <el-table-column label="备注">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.remark'"
-                  >
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.remark'">
                     <el-input v-model="row.remark" placeholder="请输入备注" />
                   </el-form-item>
                 </div>
@@ -589,35 +349,17 @@
             <el-table-column label="金额" width="130">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.amount'"
-                    :rules="rules.amount"
-                    :inline-message="true"
-                    class="shrinkPadding"
-                    @change="changeProject"
-                  >
-                    <el-input-number
-                      onmousewheel="return false;"
-                      v-model="row.amount"
-                      placeholder="请输入金额"
-                      style="width: 100%"
-                      :precision="2"
-                      :controls="false"
-                    />
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.amount'" :rules="rules.amount" :inline-message="true" class="shrinkPadding"
+                                @change="changeProject">
+                    <el-input-number onmousewheel="return false;" v-model="row.amount" placeholder="请输入金额" style="width: 100%" :precision="2"
+                                     :controls="false" />
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="操作"
-              width="60"
-              align="center"
-              fixed="right"
-            >
+            <el-table-column label="操作" width="60" align="center" fixed="right">
               <template #default="{ $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>
@@ -627,16 +369,8 @@
         <div style="width: 100%; display: flex">
           <div style="width: calc(100% - 190px)"></div>
           <div style="width: 130px; padding: 0 12px">
-            <el-form-item
-              label="合同总金额"
-              prop="amount"
-              class="shrinkPadding"
-            >
-              <el-input
-                v-model="formData.data.amount"
-                placeholder="合同总金额"
-                disabled
-              />
+            <el-form-item label="合同总金额" prop="amount" class="shrinkPadding">
+              <el-input v-model="formData.data.amount" placeholder="合同总金额" disabled />
             </el-form-item>
           </div>
         </div>
@@ -646,17 +380,8 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="合同模板" prop="contractTemplateId">
-                <el-select
-                  v-model="formData.data.contractTemplateId"
-                  style="width: 100%"
-                  @change="changeContractTemplate"
-                >
-                  <el-option
-                    v-for="item in templateList"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.contractTemplateId" style="width: 100%" @change="changeContractTemplate">
+                  <el-option v-for="item in templateList" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -666,39 +391,21 @@
               <!-- <div v-if="judgeStatus()">
                 <div v-html="getHtmlVal(formData.data.remark)"></div>
               </div> -->
-              <Editor
-                style="width: 100%"
-                :value="formData.data.remark"
-                @updateValue="updateContent"
-                :readOnly="judgeStatus()"
-                ref="remarkEditor"
-              />
+              <Editor style="width: 100%" :value="formData.data.remark" @updateValue="updateContent" :readOnly="judgeStatus()" ref="remarkEditor" />
             </el-form-item>
           </div>
         </div>
       </template>
       <template #shipment>
         <div style="width: 100%">
-          <el-table
-            :data="formData.data.purchaseArrivalList"
-            style="width: 100%; margin-top: 16px"
-          >
+          <el-table :data="formData.data.purchaseArrivalList" style="width: 100%; margin-top: 16px">
             <el-table-column prop="productCode" label="商品编码" width="120" />
             <el-table-column prop="productName" label="商品名称" />
             <el-table-column label="到货日期" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseArrivalList.' + $index + '.arrivalTime'"
-                    :rules="rules.arrivalTime"
-                    :inline-message="true"
-                  >
-                    <el-date-picker
-                      v-model="row.arrivalTime"
-                      type="date"
-                      placeholder="请选择到货日期"
-                      value-format="YYYY-MM-DD"
-                    />
+                  <el-form-item :prop="'purchaseArrivalList.' + $index + '.arrivalTime'" :rules="rules.arrivalTime" :inline-message="true">
+                    <el-date-picker v-model="row.arrivalTime" type="date" placeholder="请选择到货日期" value-format="YYYY-MM-DD" />
                   </el-form-item>
                 </div>
               </template>
@@ -706,36 +413,17 @@
             <el-table-column label="到货数量" width="160">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseArrivalList.' + $index + '.quantity'"
-                    :inline-message="true"
-                  >
-                    <el-input-number
-                      onmousewheel="return false;"
-                      v-model="row.quantity"
-                      placeholder="请输入到货数量"
-                      style="width: 100%"
-                      :precision="0"
-                      :controls="false"
-                      :min="0"
-                    />
+                  <el-form-item :prop="'purchaseArrivalList.' + $index + '.quantity'" :inline-message="true">
+                    <el-input-number onmousewheel="return false;" v-model="row.quantity" placeholder="请输入到货数量" style="width: 100%" :precision="0"
+                                     :controls="false" :min="0" />
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              align="center"
-              label="操作"
-              width="120"
-              fixed="right"
-            >
+            <el-table-column align="center" label="操作" width="120" fixed="right">
               <template #default="{ row, $index }">
-                <el-button type="primary" link @click="clickSplit(row)"
-                  >拆分</el-button
-                >
-                <el-button type="primary" link @click="clickDelete($index)"
-                  >删除</el-button
-                >
+                <el-button type="primary" link @click="clickSplit(row)">拆分</el-button>
+                <el-button type="primary" link @click="clickDelete($index)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -743,69 +431,33 @@
       </template>
     </byForm>
 
-    <el-dialog
-      v-if="openMaterialCompany"
-      v-model="openMaterialCompany"
-      title="公司产品库"
-      width="90%"
-      append-to-body
-    >
-      <ProductMaterial
-        :selectStatus="true"
-        @selectMaterial="selectMaterial"
-      ></ProductMaterial>
+    <el-dialog v-if="openMaterialCompany" v-model="openMaterialCompany" title="公司产品库" width="90%" append-to-body>
+      <ProductMaterial :selectStatus="true" @selectMaterial="selectMaterial"></ProductMaterial>
     </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 #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              multiple
-              :before-upload="uploadFile"
-              :on-success="handleSuccess"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData" multiple
+                       :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
         </template>
         <template #remark>
           <div style="width: 100%">
-            <Editor
-              :value="productRow.data.remark"
-              @updateValue="updateHandover"
-            />
+            <Editor :value="productRow.data.remark" @updateValue="updateHandover" />
           </div>
         </template>
       </byForm>
       <template #footer>
         <el-button @click="openHandover = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitHandoverForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitHandoverForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      v-if="copyContract"
-      v-model="copyContract"
-      title="采购合同选择"
-      width="90%"
-      append-to-body
-    >
+    <el-dialog v-if="copyContract" v-model="copyContract" title="采购合同选择" width="90%" append-to-body>
       <SelectPurchase @select="selectPurchase"></SelectPurchase>
     </el-dialog>
   </div>
@@ -1421,27 +1073,27 @@ const handleSubmit = async () => {
         }
       }
     }
-    if (
-      formData.data.purchaseArrivalList &&
-      formData.data.purchaseArrivalList.length > 0
-    ) {
-      for (let i = 0; i < formData.data.purchaseProductList.length; i++) {
-        let data = formData.data.purchaseArrivalList.filter(
-          (item) =>
-            item.productId === formData.data.purchaseProductList[i].productId
-        );
-        if (data && data.length > 0) {
-          let quantity = 0;
-          for (let j = 0; j < data.length; j++) {
-            quantity = parseFloat(Number(quantity) + Number(data[j].quantity));
-          }
-          if (quantity > formData.data.purchaseProductList[i].quantity) {
-            ElMessage("到货数量不能大于采购数量");
-            return false;
-          }
-        }
-      }
-    }
+    // if (
+    //   formData.data.purchaseArrivalList &&
+    //   formData.data.purchaseArrivalList.length > 0
+    // ) {
+    //   for (let i = 0; i < formData.data.purchaseProductList.length; i++) {
+    //     let data = formData.data.purchaseArrivalList.filter(
+    //       (item) =>
+    //         item.productId === formData.data.purchaseProductList[i].productId
+    //     );
+    //     if (data && data.length > 0) {
+    //       let quantity = 0;
+    //       for (let j = 0; j < data.length; j++) {
+    //         quantity = parseFloat(Number(quantity) + Number(data[j].quantity));
+    //       }
+    //       if (quantity > formData.data.purchaseProductList[i].quantity) {
+    //         ElMessage("到货数量不能大于采购数量");
+    //         return false;
+    //       }
+    //     }
+    //   }
+    // }
     return true;
   } else {
     setTimeout(() => {

+ 126 - 465
src/components/process/EHSD/PurchaseChange.vue

@@ -1,83 +1,46 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <byForm
-      :formConfig="formConfig"
-      :formOption="formOption"
-      v-model="formData.data"
-      :rules="rules"
-      ref="submit"
-    >
+    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
       <template #buyer>
         <div style="width: 100%">
           <el-form-item prop="buyCorporationId">
-            <el-select
-              v-model="formData.data.buyCorporationId"
-              style="width: 100%"
-              @change="changeBuyCorporation"
-            >
-              <el-option
-                v-for="item in corporationList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
+            <el-select v-model="formData.data.buyCorporationId" style="width: 100%" @change="changeBuyCorporation">
+              <el-option v-for="item in corporationList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="地址" prop="buyCountryName">
-                <el-input
-                  v-model="formData.data.buyCountryName"
-                  placeholder="请输入国家"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyCountryName" placeholder="请输入国家" @change="changeAddress" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label=" " prop="buyProvinceName">
-                <el-input
-                  v-model="formData.data.buyProvinceName"
-                  placeholder="请输入省/州"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyProvinceName" placeholder="请输入省/州" @change="changeAddress" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label=" " prop="buyCityName">
-                <el-input
-                  v-model="formData.data.buyCityName"
-                  placeholder="请输入城市"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyCityName" placeholder="请输入城市" @change="changeAddress" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="24">
               <el-form-item prop="buyAddress">
-                <el-input
-                  v-model="formData.data.buyAddress"
-                  type="textarea"
-                  @change="changeAddress"
-                />
+                <el-input v-model="formData.data.buyAddress" type="textarea" @change="changeAddress" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="联系人" prop="buyContactName">
-                <el-input
-                  v-model="formData.data.buyContactName"
-                  placeholder="请输入联系人"
-                />
+                <el-input v-model="formData.data.buyContactName" placeholder="请输入联系人" />
               </el-form-item>
             </el-col>
             <el-col :span="16">
               <el-form-item label=" " prop="buyContactNumber">
-                <el-input
-                  v-model="formData.data.buyContactNumber"
-                  placeholder="请输入联系人电话"
-                />
+                <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" />
               </el-form-item>
             </el-col>
           </el-row>
@@ -87,117 +50,62 @@
         <div style="width: 100%">
           <div style="width: 100%">
             <el-form-item prop="sellCorporationId">
-              <el-select
-                v-model="formData.data.sellCorporationId"
-                style="width: 100%"
-                filterable
-                remote
-                reserve-keyword
-                placeholder="请输入关键字"
-                remote-show-suffix
-                :remote-method="remoteMethod"
-                :loading="loadingSearch"
-                @input="remoteMethod"
-                @change="changeSupplier"
-                v-if="
+              <el-select v-model="formData.data.sellCorporationId" style="width: 100%" filterable remote reserve-keyword placeholder="请输入关键字"
+                         remote-show-suffix :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" @change="changeSupplier"
+                         v-if="
                   [30].includes(route.query.processType) ||
                   !route.query.processType
-                "
-              >
-                <el-option
-                  v-for="item in supplierList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                />
+                ">
+                <el-option v-for="item in supplierList" :key="item.value" :label="item.label" :value="item.value" />
               </el-select>
-              <el-select
-                v-model="formData.data.sellCorporationName"
-                disabled
-                v-else
-                style="width: 100%"
-              >
+              <el-select v-model="formData.data.sellCorporationName" disabled v-else style="width: 100%">
               </el-select>
             </el-form-item>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="6">
                 <el-form-item label="地址" prop="countryId">
-                  <el-select
-                    v-model="formData.data.countryId"
-                    placeholder="国家"
-                    filterable
-                    @change="(val) => changeSellAddress(val, '20')"
-                  >
-                    <el-option
-                      v-for="item in countryData"
-                      :label="item.chineseName"
-                      :value="item.id"
-                    >
+                  <el-select v-model="formData.data.countryId" placeholder="国家" filterable @change="(val) => changeSellAddress(val, '20')">
+                    <el-option v-for="item in countryData" :label="item.chineseName" :value="item.id">
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label=" " prop="provinceName">
-                  <selectCity
-                    placeholder="省/洲"
-                    @change="(val) => changeSellAddress(val, '30')"
-                    addressId="provinceId"
-                    addressName="provinceName"
-                    v-model="formData.data"
-                    :data="provinceData"
-                  >
+                  <selectCity placeholder="省/洲" @change="(val) => changeSellAddress(val, '30')" 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">
-                  <selectCity
-                    placeholder="城市"
-                    addressId="cityId"
-                    addressName="cityName"
-                    v-model="formData.data"
-                    :data="cityData"
-                    @change="changeAddress"
-                  >
+                  <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData"
+                              @change="changeAddress">
                   </selectCity>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label=" " prop="sellPostalCode">
-                  <el-input
-                    v-model="formData.data.sellPostalCode"
-                    placeholder="请输入邮编"
-                  />
+                  <el-input v-model="formData.data.sellPostalCode" placeholder="请输入邮编" />
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="24">
                 <el-form-item prop="sellAddress">
-                  <el-input
-                    v-model="formData.data.sellAddress"
-                    type="textarea"
-                    @change="changeAddress"
-                  />
+                  <el-input v-model="formData.data.sellAddress" type="textarea" @change="changeAddress" />
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row style="margin-top: 20px; width: 100%">
               <el-col :span="8">
                 <el-form-item label="联系人" prop="sellContactName">
-                  <el-input
-                    v-model="formData.data.sellContactName"
-                    placeholder="请输入联系人"
-                  />
+                  <el-input v-model="formData.data.sellContactName" placeholder="请输入联系人" />
                 </el-form-item>
               </el-col>
               <el-col :span="16">
                 <el-form-item label=" " prop="sellContactNumber">
-                  <el-input
-                    v-model="formData.data.sellContactNumber"
-                    placeholder="请输入联系人电话"
-                  />
+                  <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -209,33 +117,15 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="6">
               <el-form-item label="付款方式" prop="paymentMethod">
-                <el-select
-                  v-model="formData.data.paymentMethod"
-                  placeholder="请选择付款方式"
-                  style="width: 100%"
-                >
-                  <el-option
-                    v-for="item in fundsPaymentMethod"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.paymentMethod" placeholder="请选择付款方式" style="width: 100%">
+                  <el-option v-for="item in fundsPaymentMethod" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="发票类型" prop="invoiceType">
-                <el-select
-                  v-model="formData.data.invoiceType"
-                  placeholder="请选择发票类型"
-                  style="width: 100%"
-                >
-                  <el-option
-                    v-for="item in invoiceType"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.invoiceType" placeholder="请选择发票类型" style="width: 100%">
+                  <el-option v-for="item in invoiceType" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -247,17 +137,8 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="12">
               <el-form-item label="交货类型" prop="deliveryType">
-                <el-radio-group
-                  v-model="formData.data.deliveryType"
-                  @change="changeAddress"
-                >
-                  <el-radio
-                    v-for="(item, index) in deliveryType"
-                    :key="index"
-                    :label="item.value"
-                    border
-                    >{{ item.label }}</el-radio
-                  >
+                <el-radio-group v-model="formData.data.deliveryType" @change="changeAddress">
+                  <el-radio v-for="(item, index) in deliveryType" :key="index" :label="item.value" border>{{ item.label }}</el-radio>
                 </el-radio-group>
               </el-form-item>
             </el-col>
@@ -265,85 +146,48 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="12">
               <el-form-item label="详细地址" prop="address">
-                <el-input
-                  v-model="formData.data.address"
-                  :rows="2"
-                  type="textarea"
-                  placeholder="请输入详细地址"
-                />
+                <el-input v-model="formData.data.address" :rows="2" type="textarea" placeholder="请输入详细地址" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="6">
               <el-form-item label="交付日期" prop="deliveryTime">
-                <el-date-picker
-                  v-model="formData.data.deliveryTime"
-                  type="date"
-                  placeholder="请选择交付日期"
-                  value-format="YYYY-MM-DD"
-                />
+                <el-date-picker v-model="formData.data.deliveryTime" type="date" placeholder="请选择交付日期" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="质保期 (天)" prop="warranty">
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="formData.data.warranty"
-                  placeholder="请输入质保期"
-                  style="width: 100%"
-                  :precision="0"
-                  :controls="false"
-                  :min="0"
-                />
+                <el-input-number onmousewheel="return false;" v-model="formData.data.warranty" placeholder="请输入质保期" style="width: 100%" :precision="0"
+                                 :controls="false" :min="0" />
               </el-form-item>
             </el-col>
           </el-row>
         </div>
       </template>
       <template #commodity>
-        <div
-          style="width: 100%"
-          v-if="
+        <div style="width: 100%" v-if="
             formData.data.purchaseProductList &&
             formData.data.purchaseProductList.length > 0
-          "
-        >
-          <div
-            :style="
+          ">
+          <div :style="
               index !== formData.data.purchaseProductList.length - 1
                 ? 'margin-bottom: 20px'
                 : ''
-            "
-            v-for="(item, index) in formData.data.purchaseProductList"
-            :key="item.dataResourceId"
-          >
-            <div
-              style="
+            " v-for="(item, index) in formData.data.purchaseProductList" :key="item.dataResourceId">
+            <div style="
                 border: 1px solid #ccc;
                 padding: 20px 10px 0 10px;
                 width: 100%;
-              "
-            >
-              <el-row
-                style="
+              ">
+              <el-row style="
                   width: 100%;
                   font-weight: 700;
                   background: #eee;
                   padding: 10px 0px;
-                "
-                :gutter="5"
-                type="flex"
-                align="middle"
-              >
+                " :gutter="5" type="flex" align="middle">
                 <el-col :span="1" style="text-align: center">
-                  <img
-                    v-if="item.fileUrl"
-                    :src="item.fileUrl"
-                    class="pic"
-                    style="width: 30px; height: 30px"
-                    @click="onPicture(item.fileUrl)"
-                  />
+                  <img v-if="item.fileUrl" :src="item.fileUrl" class="pic" style="width: 30px; height: 30px" @click="onPicture(item.fileUrl)" />
                 </el-col>
                 <el-col :span="4">
                   <span>产品名称: {{ item.productName }}</span>
@@ -362,38 +206,19 @@
                   <span>金额小计: {{ item.amount }}</span>
                 </el-col>
                 <el-col :span="2">
-                  <el-button
-                    type="primary"
-                    text
-                    @click="handleHandover(item, index)"
-                    >编辑备注</el-button
-                  >
+                  <el-button type="primary" text @click="handleHandover(item, index)">编辑备注</el-button>
                 </el-col>
                 <el-col :span="2">
-                  <el-button type="primary" text @click="handleMaterial(index)"
-                    >添加配件</el-button
-                  >
+                  <el-button type="primary" text @click="handleMaterial(index)">添加配件</el-button>
                 </el-col>
               </el-row>
-              <el-collapse
-                v-model="item.activeName"
-                class="hideCollapse"
-                accordion
-              >
+              <el-collapse v-model="item.activeName" class="hideCollapse" accordion>
                 <el-collapse-item title="" :name="true">
                   <div style="padding: 0 40px">
-                    <el-table
-                      :data="item.purchaseProductMountingsList"
-                      style="width: 100%"
-                    >
+                    <el-table :data="item.purchaseProductMountingsList" style="width: 100%">
                       <el-table-column label="图片" align="center" width="80">
                         <template #default="{ row }">
-                          <img
-                            v-if="row.fileUrl"
-                            :src="row.fileUrl"
-                            class="pic"
-                            @click="onPicture(row.fileUrl)"
-                          />
+                          <img v-if="row.fileUrl" :src="row.fileUrl" class="pic" @click="onPicture(row.fileUrl)" />
                         </template>
                       </el-table-column>
                       <el-table-column label="类型" align="center" width="80">
@@ -403,43 +228,24 @@
                           </div>
                         </template>
                       </el-table-column>
-                      <el-table-column
-                        label="产品名称"
-                        prop="productName"
-                        min-width="180"
-                      />
-                      <el-table-column
-                        label="尺寸"
-                        prop="productModel"
-                        min-width="140"
-                      />
+                      <el-table-column label="产品名称" prop="productName" min-width="180" />
+                      <el-table-column label="尺寸" prop="productModel" min-width="140" />
                       <el-table-column label="单价" width="140">
                         <template #default="{ row, $index }">
                           <div style="width: 100%" class="removePadding">
-                            <el-form-item
-                              :prop="
+                            <el-form-item :prop="
                                 'purchaseProductList.' +
                                 index +
                                 '.purchaseProductMountingsList.' +
                                 $index +
                                 '.price'
-                              "
-                              :rules="rules.price"
-                              :inline-message="true"
-                              @change="
+                              " :rules="rules.price" :inline-message="true" @change="
                                 () => {
                                   return changeProductMaterial(index, $index);
                                 }
-                              "
-                            >
-                              <el-input-number
-                                onmousewheel="return false;"
-                                v-model="row.price"
-                                placeholder="请输入单价"
-                                :precision="2"
-                                :controls="false"
-                                :min="0"
-                              />
+                              ">
+                              <el-input-number onmousewheel="return false;" v-model="row.price" placeholder="请输入单价" :precision="2" :controls="false"
+                                               :min="0" />
                             </el-form-item>
                           </div>
                         </template>
@@ -447,49 +253,27 @@
                       <el-table-column label="数量" width="140">
                         <template #default="{ row, $index }">
                           <div style="width: 100%" class="removePadding">
-                            <el-form-item
-                              :prop="
+                            <el-form-item :prop="
                                 'purchaseProductList.' +
                                 index +
                                 '.purchaseProductMountingsList.' +
                                 $index +
                                 '.quantity'
-                              "
-                              :rules="rules.quantity"
-                              :inline-message="true"
-                              @change="
+                              " :rules="rules.quantity" :inline-message="true" @change="
                                 () => {
                                   return changeProductMaterial(index, $index);
                                 }
-                              "
-                            >
-                              <el-input-number
-                                onmousewheel="return false;"
-                                v-model="row.quantity"
-                                placeholder="请输入数量"
-                                :precision="0"
-                                :controls="false"
-                                :min="0"
-                              />
+                              ">
+                              <el-input-number onmousewheel="return false;" v-model="row.quantity" placeholder="请输入数量" :precision="0"
+                                               :controls="false" :min="0" />
                             </el-form-item>
                           </div>
                         </template>
                       </el-table-column>
                       <el-table-column label="金额" prop="amount" width="100" />
-                      <el-table-column
-                        label="操作"
-                        align="center"
-                        width="80"
-                        fixed="right"
-                      >
+                      <el-table-column label="操作" align="center" width="80" fixed="right">
                         <template #default="{ $index }">
-                          <el-button
-                            type="primary"
-                            v-if="$index !== 0"
-                            link
-                            @click="handleRemove(index, $index)"
-                            >删除</el-button
-                          >
+                          <el-button type="primary" v-if="$index !== 0" link @click="handleRemove(index, $index)">删除</el-button>
                         </template>
                       </el-table-column>
                     </el-table>
@@ -497,33 +281,26 @@
                 </el-collapse-item>
               </el-collapse>
               <div style="text-align: center; margin-top: -18px">
-                <el-button
-                  type="primary"
-                  @click="item.activeName = !item.activeName"
-                  style="margin-bottom: -28px; background: #fff"
-                  text
-                >
+                <el-button type="primary" @click="item.activeName = !item.activeName" style="margin-bottom: -28px; background: #fff" text>
                   <span v-if="item.activeName">
                     <span style="vertical-align: middle">收起明细</span>
-                    <el-icon
-                      style="
+                    <el-icon style="
                         margin-left: 8px;
                         transform: rotate(-90deg);
                         vertical-align: middle;
-                      "
-                      ><DArrowRight
-                    /></el-icon>
+                      ">
+                      <DArrowRight />
+                    </el-icon>
                   </span>
                   <span v-else>
                     <span style="vertical-align: middle">查看明细</span>
-                    <el-icon
-                      style="
+                    <el-icon style="
                         margin-left: 8px;
                         transform: rotate(90deg);
                         vertical-align: middle;
-                      "
-                      ><DArrowRight
-                    /></el-icon>
+                      ">
+                      <DArrowRight />
+                    </el-icon>
                   </span>
                 </el-button>
               </div>
@@ -534,25 +311,13 @@
       <template #otherCharge>
         <div style="width: 100%">
           <el-button type="primary" @click="clickAdd()">添加行</el-button>
-          <el-table
-            :data="formData.data.purchaseProjectList"
-            style="width: 100%; margin-top: 16px"
-          >
+          <el-table :data="formData.data.purchaseProjectList" style="width: 100%; margin-top: 16px">
             <el-table-column label="收费项目" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.payName'"
-                    :rules="rules.payName"
-                    :inline-message="true"
-                  >
-                    <el-autocomplete
-                      v-model="row.payName"
-                      :fetch-suggestions="querySearch"
-                      clearable
-                      class="inline-input w-50"
-                      placeholder="请输入收费项目"
-                    />
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.payName'" :rules="rules.payName" :inline-message="true">
+                    <el-autocomplete v-model="row.payName" :fetch-suggestions="querySearch" clearable class="inline-input w-50"
+                                     placeholder="请输入收费项目" />
                   </el-form-item>
                 </div>
               </template>
@@ -560,9 +325,7 @@
             <el-table-column label="备注">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.remark'"
-                  >
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.remark'">
                     <el-input v-model="row.remark" placeholder="请输入备注" />
                   </el-form-item>
                 </div>
@@ -571,35 +334,17 @@
             <el-table-column label="金额" width="130">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseProjectList.' + $index + '.amount'"
-                    :rules="rules.amount"
-                    :inline-message="true"
-                    class="shrinkPadding"
-                    @change="changeProject"
-                  >
-                    <el-input-number
-                      onmousewheel="return false;"
-                      v-model="row.amount"
-                      placeholder="请输入金额"
-                      style="width: 100%"
-                      :precision="2"
-                      :controls="false"
-                    />
+                  <el-form-item :prop="'purchaseProjectList.' + $index + '.amount'" :rules="rules.amount" :inline-message="true" class="shrinkPadding"
+                                @change="changeProject">
+                    <el-input-number onmousewheel="return false;" v-model="row.amount" placeholder="请输入金额" style="width: 100%" :precision="2"
+                                     :controls="false" />
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              label="操作"
-              width="60"
-              align="center"
-              fixed="right"
-            >
+            <el-table-column label="操作" width="60" align="center" fixed="right">
               <template #default="{ $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>
@@ -609,16 +354,8 @@
         <div style="width: 100%; display: flex">
           <div style="width: calc(100% - 190px)"></div>
           <div style="width: 130px; padding: 0 12px">
-            <el-form-item
-              label="合同总金额"
-              prop="amount"
-              class="shrinkPadding"
-            >
-              <el-input
-                v-model="formData.data.amount"
-                placeholder="合同总金额"
-                disabled
-              />
+            <el-form-item label="合同总金额" prop="amount" class="shrinkPadding">
+              <el-input v-model="formData.data.amount" placeholder="合同总金额" disabled />
             </el-form-item>
           </div>
         </div>
@@ -628,17 +365,8 @@
           <el-row style="margin-top: 20px; width: 100%">
             <el-col :span="8">
               <el-form-item label="合同模板" prop="contractTemplateId">
-                <el-select
-                  v-model="formData.data.contractTemplateId"
-                  style="width: 100%"
-                  @change="changeContractTemplate"
-                >
-                  <el-option
-                    v-for="item in templateList"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  />
+                <el-select v-model="formData.data.contractTemplateId" style="width: 100%" @change="changeContractTemplate">
+                  <el-option v-for="item in templateList" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -648,39 +376,21 @@
               <!-- <div v-if="judgeStatus()">
                 <div v-html="getHtmlVal(formData.data.remark)"></div>
               </div> -->
-              <Editor
-                style="width: 100%"
-                :value="formData.data.remark"
-                @updateValue="updateContent"
-                :readOnly="judgeStatus()"
-                ref="remarkEditor"
-              />
+              <Editor style="width: 100%" :value="formData.data.remark" @updateValue="updateContent" :readOnly="judgeStatus()" ref="remarkEditor" />
             </el-form-item>
           </div>
         </div>
       </template>
       <template #shipment>
         <div style="width: 100%">
-          <el-table
-            :data="formData.data.purchaseArrivalList"
-            style="width: 100%; margin-top: 16px"
-          >
+          <el-table :data="formData.data.purchaseArrivalList" style="width: 100%; margin-top: 16px">
             <el-table-column prop="productCode" label="商品编码" width="120" />
             <el-table-column prop="productName" label="商品名称" />
             <el-table-column label="到货日期" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseArrivalList.' + $index + '.arrivalTime'"
-                    :rules="rules.arrivalTime"
-                    :inline-message="true"
-                  >
-                    <el-date-picker
-                      v-model="row.arrivalTime"
-                      type="date"
-                      placeholder="请选择到货日期"
-                      value-format="YYYY-MM-DD"
-                    />
+                  <el-form-item :prop="'purchaseArrivalList.' + $index + '.arrivalTime'" :rules="rules.arrivalTime" :inline-message="true">
+                    <el-date-picker v-model="row.arrivalTime" type="date" placeholder="请选择到货日期" value-format="YYYY-MM-DD" />
                   </el-form-item>
                 </div>
               </template>
@@ -688,36 +398,17 @@
             <el-table-column label="到货数量" width="160">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'purchaseArrivalList.' + $index + '.quantity'"
-                    :inline-message="true"
-                  >
-                    <el-input-number
-                      onmousewheel="return false;"
-                      v-model="row.quantity"
-                      placeholder="请输入到货数量"
-                      style="width: 100%"
-                      :precision="0"
-                      :controls="false"
-                      :min="0"
-                    />
+                  <el-form-item :prop="'purchaseArrivalList.' + $index + '.quantity'" :inline-message="true">
+                    <el-input-number onmousewheel="return false;" v-model="row.quantity" placeholder="请输入到货数量" style="width: 100%" :precision="0"
+                                     :controls="false" :min="0" />
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
-            <el-table-column
-              align="center"
-              label="操作"
-              width="120"
-              fixed="right"
-            >
+            <el-table-column align="center" label="操作" width="120" fixed="right">
               <template #default="{ row, $index }">
-                <el-button type="primary" link @click="clickSplit(row)"
-                  >拆分</el-button
-                >
-                <el-button type="primary" link @click="clickDelete($index)"
-                  >删除</el-button
-                >
+                <el-button type="primary" link @click="clickSplit(row)">拆分</el-button>
+                <el-button type="primary" link @click="clickDelete($index)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -725,59 +416,29 @@
       </template>
     </byForm>
 
-    <el-dialog
-      v-if="openMaterialCompany"
-      v-model="openMaterialCompany"
-      title="公司产品库"
-      width="90%"
-      append-to-body
-    >
-      <ProductMaterial
-        :selectStatus="true"
-        @selectMaterial="selectMaterial"
-      ></ProductMaterial>
+    <el-dialog v-if="openMaterialCompany" v-model="openMaterialCompany" title="公司产品库" width="90%" append-to-body>
+      <ProductMaterial :selectStatus="true" @selectMaterial="selectMaterial"></ProductMaterial>
     </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 #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              multiple
-              :before-upload="uploadFile"
-              :on-success="handleSuccess"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData" multiple
+                       :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
         </template>
         <template #remark>
           <div style="width: 100%">
-            <Editor
-              :value="productRow.data.remark"
-              @updateValue="updateHandover"
-            />
+            <Editor :value="productRow.data.remark" @updateValue="updateHandover" />
           </div>
         </template>
       </byForm>
       <template #footer>
         <el-button @click="openHandover = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitHandoverForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitHandoverForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
   </div>
@@ -1387,27 +1048,27 @@ const handleSubmit = async () => {
         }
       }
     }
-    if (
-      formData.data.purchaseArrivalList &&
-      formData.data.purchaseArrivalList.length > 0
-    ) {
-      for (let i = 0; i < formData.data.purchaseProductList.length; i++) {
-        let data = formData.data.purchaseArrivalList.filter(
-          (item) =>
-            item.productId === formData.data.purchaseProductList[i].productId
-        );
-        if (data && data.length > 0) {
-          let quantity = 0;
-          for (let j = 0; j < data.length; j++) {
-            quantity = parseFloat(Number(quantity) + Number(data[j].quantity));
-          }
-          if (quantity > formData.data.purchaseProductList[i].quantity) {
-            ElMessage("到货数量不能大于采购数量");
-            return false;
-          }
-        }
-      }
-    }
+    // if (
+    //   formData.data.purchaseArrivalList &&
+    //   formData.data.purchaseArrivalList.length > 0
+    // ) {
+    //   for (let i = 0; i < formData.data.purchaseProductList.length; i++) {
+    //     let data = formData.data.purchaseArrivalList.filter(
+    //       (item) =>
+    //         item.productId === formData.data.purchaseProductList[i].productId
+    //     );
+    //     if (data && data.length > 0) {
+    //       let quantity = 0;
+    //       for (let j = 0; j < data.length; j++) {
+    //         quantity = parseFloat(Number(quantity) + Number(data[j].quantity));
+    //       }
+    //       if (quantity > formData.data.purchaseProductList[i].quantity) {
+    //         ElMessage("到货数量不能大于采购数量");
+    //         return false;
+    //       }
+    //     }
+    //   }
+    // }
     return true;
   } else {
     setTimeout(() => {

+ 33 - 137
src/components/process/PurchasePayment.vue

@@ -1,97 +1,42 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <byForm
-      :formConfig="formConfig"
-      :formOption="formOption"
-      v-model="formData.data"
-      :rules="rules"
-      ref="submit"
-    >
+    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
       <template #supplyId>
         <div style="width: 100%">
           <el-form-item prop="supplyId" label="供应商">
-            <el-select
-              v-model="formData.data.supplyId"
-              filterable
-              remote
-              reserve-keyword
-              placeholder="请输入关键字"
-              remote-show-suffix
-              :remote-method="remoteMethod"
-              :loading="loadingSearch"
-              @input="remoteMethod"
-              style="width: 100%"
-              @change="changeSupply"
-              v-if="
+            <el-select v-model="formData.data.supplyId" filterable remote reserve-keyword placeholder="请输入关键字" remote-show-suffix
+                       :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" style="width: 100%" @change="changeSupply" v-if="
                 [30].includes(route.query.processType) ||
                 !route.query.processType
-              "
-            >
-              <el-option
-                v-for="item in supplierList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
+              ">
+              <el-option v-for="item in supplierList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
-            <el-select
-              v-model="formData.data.supplyName"
-              disabled
-              v-else
-              style="width: 100%"
-            >
+            <el-select v-model="formData.data.supplyName" disabled v-else style="width: 100%">
             </el-select>
           </el-form-item>
         </div>
       </template>
       <template #deadline>
         <div style="width: 100%">
-          <el-date-picker
-            v-model="formData.data.deadline"
-            type="date"
-            placeholder="请选择付款期限"
-            value-format="YYYY-MM-DD"
-            style="width: 100%"
-          />
+          <el-date-picker v-model="formData.data.deadline" type="date" placeholder="请选择付款期限" value-format="YYYY-MM-DD" style="width: 100%" />
         </div>
       </template>
       <template #receiptsNum>
         <div style="width: 100%">
-          <el-input-number
-            onmousewheel="return false;"
-            v-model="formData.data.receiptsNum"
-            placeholder="请输入单据数量"
-            :min="0"
-            :precision="0"
-            :controls="false"
-            style="width: 100%"
-          />
+          <el-input-number onmousewheel="return false;" v-model="formData.data.receiptsNum" placeholder="请输入单据数量" :min="0" :precision="0"
+                           :controls="false" style="width: 100%" />
         </div>
       </template>
-      <template #rate>
+      <template #taxRate>
         <div style="width: 100%">
-          <el-input-number
-            onmousewheel="return false;"
-            v-model="formData.data.rate"
-            placeholder="请输入税率"
-            :min="0"
-            :max="100"
-            :precision="2"
-            :controls="false"
-            style="width: 100%"
-          />
+          <el-input-number onmousewheel="return false;" v-model="formData.data.taxRate" placeholder="请输入税率" :min="0" :max="100" :precision="2"
+                           :controls="false" style="width: 100%" />
         </div>
       </template>
       <template #fileList>
         <div style="width: 100%">
-          <el-upload
-            v-model:fileList="fileList"
-            action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-            multiple
-            :data="uploadData"
-            :before-upload="uploadFile"
-            :on-preview="onPreviewFile"
-          >
+          <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" multiple :data="uploadData"
+                     :before-upload="uploadFile" :on-preview="onPreviewFile">
             <el-button>选择</el-button>
           </el-upload>
         </div>
@@ -99,60 +44,26 @@
       <template #payDetailList>
         <div style="width: 100%">
           <el-button type="primary" @click="clickAdd()">添加行</el-button>
-          <el-table
-            :data="formData.data.payDetailList"
-            style="width: 100%; margin-top: 16px"
-          >
+          <el-table :data="formData.data.payDetailList" style="width: 100%; margin-top: 16px">
             <el-table-column label="采购合同" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'payDetailList.' + $index + '.purchaseId'"
-                    :rules="rules.purchaseId"
-                    :inline-message="true"
-                  >
-                    <el-select
-                      v-model="row.purchaseId"
-                      placeholder="请选择采购合同"
-                      filterable
-                      style="width: 100%"
-                      @change="changePurchaseId(row, true)"
-                    >
-                      <el-option
-                        v-for="item in contractList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
-                      />
+                  <el-form-item :prop="'payDetailList.' + $index + '.purchaseId'" :rules="rules.purchaseId" :inline-message="true">
+                    <el-select v-model="row.purchaseId" placeholder="请选择采购合同" filterable style="width: 100%" @change="changePurchaseId(row, true)">
+                      <el-option v-for="item in contractList" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
             <el-table-column prop="amount" label="合同金额" width="140" />
-            <el-table-column
-              prop="sumPayMoney"
-              label="已付款金额"
-              width="140"
-            />
-            <el-table-column
-              prop="sumInvoiceMoney"
-              label="已收发票金额"
-              width="140"
-            />
+            <el-table-column prop="sumPayMoney" label="已付款金额" width="140" />
+            <el-table-column prop="sumInvoiceMoney" label="已收发票金额" width="140" />
             <el-table-column label="款项说明">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'payDetailList.' + $index + '.remark'"
-                    :rules="rules.remark"
-                    :inline-message="true"
-                  >
-                    <el-input
-                      v-model="row.remark"
-                      placeholder="请输入款项说明"
-                      style="width: 100%"
-                    />
+                  <el-form-item :prop="'payDetailList.' + $index + '.remark'" :rules="rules.remark" :inline-message="true">
+                    <el-input v-model="row.remark" placeholder="请输入款项说明" style="width: 100%" />
                   </el-form-item>
                 </div>
               </template>
@@ -160,31 +71,16 @@
             <el-table-column label="付款金额" width="180">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item
-                    :prop="'payDetailList.' + $index + '.money'"
-                    :rules="rules.money"
-                    :inline-message="true"
-                  >
-                    <el-input-number
-                      onmousewheel="return false;"
-                      v-model="row.money"
-                      placeholder="请输入金额"
-                      style="width: 100%"
-                      :precision="2"
-                      :controls="false"
-                      :min="0"
-                      :disabled="row.id"
-                      @change="changeMoney()"
-                    />
+                  <el-form-item :prop="'payDetailList.' + $index + '.money'" :rules="rules.money" :inline-message="true">
+                    <el-input-number onmousewheel="return false;" v-model="row.money" placeholder="请输入金额" style="width: 100%" :precision="2"
+                                     :controls="false" :min="0" :disabled="row.id" @change="changeMoney()" />
                   </el-form-item>
                 </div>
               </template>
             </el-table-column>
             <el-table-column label="操作" width="80">
               <template #default="{ row, $index }">
-                <el-button type="primary" link @click="handleRemove($index)"
-                  >删除</el-button
-                >
+                <el-button type="primary" link @click="handleRemove($index)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -225,7 +121,7 @@ let formData = reactive({
     fileList: [],
     advanceCode: "",
     type: "",
-    rate: undefined,
+    taxRate: undefined,
   },
 });
 const submit = ref(null);
@@ -312,18 +208,18 @@ const formConfig = computed(() => {
       style: "width: 100%",
       fn: (val) => {
         if (val == "1") {
-          formData.data.rate = 13;
+          formData.data.taxRate = 13;
         } else if (val == "2") {
-          formData.data.rate = 6;
+          formData.data.taxRate = 6;
         } else {
-          formData.data.rate = undefined;
+          formData.data.taxRate = undefined;
         }
       },
     },
     {
       type: "slot",
-      prop: "rate",
-      slotName: "rate",
+      prop: "taxRate",
+      slotName: "taxRate",
       label: "税率 (%)",
       itemWidth: 34,
       isShow:
@@ -420,7 +316,7 @@ const rules = ref({
     { required: true, message: "请选择预付款单号", trigger: "change" },
   ],
   type: [{ required: true, message: "请选择付款类型", trigger: "change" }],
-  rate: [{ required: true, message: "请输入税率", trigger: "blur" }],
+  taxRate: [{ required: true, message: "请输入税率", trigger: "blur" }],
 });
 const fileList = ref([]);
 const uploadData = ref({});

+ 37 - 154
src/components/process/SendPurchase.vue

@@ -1,12 +1,6 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <el-form
-      :model="formData.data"
-      :rules="rules"
-      ref="formDom"
-      label-position="top"
-      :disabled="judgeStatus()"
-    >
+    <el-form :model="formData.data" :rules="rules" ref="formDom" label-position="top" :disabled="judgeStatus()">
       <div class="_t">基础信息</div>
       <el-row :gutter="10">
         <el-col :span="6">
@@ -23,57 +17,30 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="采购时间" prop="purchaseTime">
-            <el-date-picker
-              v-model="formData.data.purchaseTime"
-              type="datetime"
-              placeholder="请选择"
-              style="width: 100%"
-            />
+            <el-date-picker v-model="formData.data.purchaseTime" type="datetime" placeholder="请选择" style="width: 100%" />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="10">
         <el-col :span="6">
           <el-form-item label="供应商" prop="sellCorporationId">
-            <el-select
-              v-model="formData.data.sellCorporationId"
-              placeholder="请选择"
-              @change="handleChangeSupplier"
-              filterable
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in supplierData"
-                :label="item.name"
-                :value="item.id"
-                :key="item.id"
-              >
+            <el-select v-model="formData.data.sellCorporationId" placeholder="请选择" @change="handleChangeSupplier" filterable style="width: 100%">
+              <el-option v-for="item in supplierData" :label="item.name" :value="item.id" :key="item.id">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="发票类型" prop="invoiceType">
-            <el-select
-              v-model="formData.data.invoiceType"
-              placeholder="请选择"
-              @change="handleChangeInvoiceType"
-              filterable
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in invoiceTypeData"
-                :label="item.label"
-                :value="item.value"
-                :key="item.value"
-              >
+            <el-select v-model="formData.data.invoiceType" placeholder="请选择" @change="handleChangeInvoiceType" filterable style="width: 100%">
+              <el-option v-for="item in invoiceTypeData" :label="item.label" :value="item.value" :key="item.value">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="6" v-if="formData.data.invoiceType !== '0'">
-          <el-form-item label="税率" prop="rate">
-            <el-input v-model="formData.data.rate">
+          <el-form-item label="税率" prop="taxRate">
+            <el-input v-model="formData.data.taxRate">
               <template #suffix>
                 <div>%</div>
               </template>
@@ -82,11 +49,7 @@
         </el-col>
       </el-row>
       <el-form-item label="采购说明" prop="remark">
-        <el-input
-          v-model="formData.data.remark"
-          placeholder="请输入"
-          type="textarea"
-        >
+        <el-input v-model="formData.data.remark" placeholder="请输入" type="textarea">
         </el-input>
       </el-form-item>
       <div class="_t">采购明细</div>
@@ -100,68 +63,33 @@
           添加货品
         </el-button> -->
         <el-table :data="formData.data.purchaseProductList">
-          <el-table-column
-            prop="goodType"
-            label="货品类型"
-            :formatter="(row) => (row.goodType == 1 ? '产品' : '产品')"
-          />
+          <el-table-column prop="goodType" label="货品类型" :formatter="(row) => (row.goodType == 1 ? '产品' : '产品')" />
           <el-table-column prop="productCode" label="货品编码" />
           <el-table-column prop="productName" label="货品名称" />
           <el-table-column prop="productSpec" label="规格型号" />
-          <el-table-column
-            prop="subscribeCount"
-            label="申购数量"
-            v-if="ids.length > 0"
-          />
-          <el-table-column
-            prop="purchaseCount"
-            label="已采购数量"
-            v-if="ids.length > 0"
-          />
+          <el-table-column prop="subscribeCount" label="申购数量" v-if="ids.length > 0" />
+          <el-table-column prop="purchaseCount" label="已采购数量" v-if="ids.length > 0" />
           <el-table-column prop="quantity" label="本次采购" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item
-                :prop="'purchaseProductList.' + $index + '.quantity'"
-                :rules="rules.quantity"
-                :inline-message="true"
-              >
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="formData.data.purchaseProductList[$index].quantity"
-                  :controls="false"
-                  :min="0"
-                  @change="(e) => handleChangeMoney(e, $index, 'quantity')"
-                />
+              <el-form-item :prop="'purchaseProductList.' + $index + '.quantity'" :rules="rules.quantity" :inline-message="true">
+                <el-input-number onmousewheel="return false;" v-model="formData.data.purchaseProductList[$index].quantity" :controls="false" :min="0"
+                                 @change="(e) => handleChangeMoney(e, $index, 'quantity')" />
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="price" label="单价" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item
-                :prop="'purchaseProductList.' + $index + '.price'"
-                :rules="rules.price"
-                :inline-message="true"
-              >
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="formData.data.purchaseProductList[$index].price"
-                  :controls="false"
-                  :min="0"
-                  @change="(e) => handleChangeMoney(e, $index, 'price')"
-                />
+              <el-form-item :prop="'purchaseProductList.' + $index + '.price'" :rules="rules.price" :inline-message="true">
+                <el-input-number onmousewheel="return false;" v-model="formData.data.purchaseProductList[$index].price" :controls="false" :min="0"
+                                 @change="(e) => handleChangeMoney(e, $index, 'price')" />
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="amount" label="金额" />
           <el-table-column prop="zip" label="操作" width="100">
             <template #default="{ $index }">
-              <el-button
-                type="primary"
-                link
-                @click="handleRemove($index, 20)"
-                :disabled="formData.data.purchaseProductList.length === 1"
-                >删除</el-button
-              >
+              <el-button type="primary" link @click="handleRemove($index, 20)"
+                         :disabled="formData.data.purchaseProductList.length === 1">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -169,11 +97,7 @@
       <el-row>
         <el-col :span="4">
           <el-form-item label="商品金额小计" prop="productAmount">
-            <el-input
-              v-model="formData.data.productAmount"
-              placeholder="请输入"
-              disabled
-            />
+            <el-input v-model="formData.data.productAmount" placeholder="请输入" disabled />
           </el-form-item>
         </el-col>
       </el-row>
@@ -185,55 +109,32 @@
         <el-table :data="formData.data.purchaseProjectList">
           <el-table-column prop="payName" label="收费项目" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item
-                :prop="'purchaseProjectList.' + $index + '.payName'"
-                :rules="rulesOne.payName"
-                :inline-message="true"
-              >
-                <el-autocomplete
-                  v-model="row.payName"
-                  :fetch-suggestions="querySearchPerson"
-                  clearable
-                  class="inline-input w-50"
-                  placeholder="请输入"
-                  @select="(val) => handlePerson(val, $index)"
-                >
+              <el-form-item :prop="'purchaseProjectList.' + $index + '.payName'" :rules="rulesOne.payName" :inline-message="true">
+                <el-autocomplete v-model="row.payName" :fetch-suggestions="querySearchPerson" clearable class="inline-input w-50" placeholder="请输入"
+                                 @select="(val) => handlePerson(val, $index)">
                 </el-autocomplete>
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="amount" label="金额" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item
-                :prop="'purchaseProjectList.' + $index + '.amount'"
-                :rules="rulesOne.amount"
-                :inline-message="true"
-              >
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="formData.data.purchaseProjectList[$index].amount"
-                  :controls="false"
-                  @change="(e) => handleChangeOtherMoney(e, $index, 'amount')"
-                />
+              <el-form-item :prop="'purchaseProjectList.' + $index + '.amount'" :rules="rulesOne.amount" :inline-message="true">
+                <el-input-number onmousewheel="return false;" v-model="formData.data.purchaseProjectList[$index].amount" :controls="false"
+                                 @change="(e) => handleChangeOtherMoney(e, $index, 'amount')" />
               </el-form-item>
             </template>
           </el-table-column>
 
           <el-table-column prop="remark" label="备注" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item
-                :prop="'purchaseProjectList.' + $index + '.remark'"
-                :inline-message="true"
-              >
+              <el-form-item :prop="'purchaseProjectList.' + $index + '.remark'" :inline-message="true">
                 <el-input v-model="row.remark" placeholder="请输入" />
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="zip" label="操作" width="100">
             <template #default="{ $index }">
-              <el-button type="primary" link @click="handleRemove($index, 10)"
-                >删除</el-button
-              >
+              <el-button type="primary" link @click="handleRemove($index, 10)">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -241,11 +142,7 @@
       <el-row>
         <el-col :span="4">
           <el-form-item label="其他收费小计" prop="otherAmount">
-            <el-input
-              v-model="formData.data.otherAmount"
-              placeholder="请输入"
-              disabled
-            />
+            <el-input v-model="formData.data.otherAmount" placeholder="请输入" disabled />
           </el-form-item>
         </el-col>
       </el-row>
@@ -253,27 +150,13 @@
       <el-row>
         <el-col :span="4">
           <el-form-item label="采购总金额" prop="amount">
-            <el-input
-              v-model="formData.data.amount"
-              placeholder="请输入"
-              disabled
-            />
+            <el-input v-model="formData.data.amount" placeholder="请输入" disabled />
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
-    <el-dialog
-      v-if="openProduct"
-      v-model="openProduct"
-      title="选择货品"
-      width="70%"
-      append-to-body
-    >
-      <SelectGoods
-        :selectList="acquireSelectList()"
-        @cancel="openProduct = false"
-        @pushGoods="pushGoods"
-      ></SelectGoods>
+    <el-dialog v-if="openProduct" v-model="openProduct" title="选择货品" width="70%" append-to-body>
+      <SelectGoods :selectList="acquireSelectList()" @cancel="openProduct = false" @pushGoods="pushGoods"></SelectGoods>
     </el-dialog>
   </div>
 </template>
@@ -317,7 +200,7 @@ let rules = ref({
   invoiceType: [
     { required: true, message: "请选择发票类型", trigger: "change" },
   ],
-  rate: [{ required: true, message: "请输入税率", trigger: "blur" }],
+  taxRate: [{ required: true, message: "请输入税率", trigger: "blur" }],
 });
 let rulesOne = ref({
   payName: [{ required: true, message: "请输入名称", trigger: "blur" }],
@@ -339,11 +222,11 @@ const invoiceTypeData = ref([
 ]);
 const handleChangeInvoiceType = (val) => {
   if (val === "1") {
-    formData.data.rate = "13";
+    formData.data.taxRate = "13";
   } else if (val === "2") {
-    formData.data.rate = "6";
+    formData.data.taxRate = "6";
   } else {
-    formData.data.rate = "";
+    formData.data.taxRate = "";
   }
 };
 let openProduct = ref(false);

+ 59 - 23
src/views/EHSD/procurement/profitBudgetEHSD/index.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="tenant">
     <byTable :hideTable="true" :hidePagination="true" :source="sourceList.data" :pagination="sourceList.pagination" :config="config"
-             :statConfig="statConfig" :loading="loading" :selectConfig="selectConfig" highlight-current-row :onMoreSearch="true"
-             @moreSearch="clickMoreSearch" :action-list="[
+             :statConfig="statConfig" :selectConfig="selectConfig" highlight-current-row :onMoreSearch="true" @moreSearch="clickMoreSearch"
+             :action-list="[
         {
           text: '默认汇率',
           action: () => openModal(),
@@ -10,24 +10,40 @@
       ]" @get-list="getList">
     </byTable>
     <div style="padding: 0 20px 20px 20px; background-color: white" v-if="rateStatus">
-      <el-table :data="sourceList.data">
+      <el-table :data="sourceList.data" v-loading="loading">
         <el-table-column label="合同编号" prop="code" width="160" fixed />
         <el-table-column label="客户名称" prop="customerName" min-width="200" fixed />
-        <el-table-column label="业务员" prop="userName" width="140" fixed />
-        <el-table-column label="收入总计" prop="incomeAmount" width="140" fixed />
-        <el-table-column label="支出总计" prop="expenditureAmount" width="140" fixed />
-        <el-table-column label="毛利率" width="140" fixed>
+        <el-table-column label="业务员" prop="userName" width="120" fixed />
+        <el-table-column label="合同金额" width="120" fixed>
           <template #default="{ row }">
-            <div>{{ parseFloat(row.grossRate).toFixed(2) }}%</div>
+            <div>{{ row.currency }} {{ row.amount }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="毛利" prop="gross" width="140" fixed />
-        <el-table-column label="合同金额" width="140">
+        <!-- <el-table-column label="是否已结清" width="120" fixed>
           <template #default="{ row }">
-            <div>{{ row.currency }} {{ row.amount }}</div>
+            <div> {{ dictValueLabel(row.isSettled, isSettled) }}</div>
+          </template>
+        </el-table-column> -->
+        <el-table-column label="是否已结清" width="120" fixed>
+          <template #default="{ row }">
+            <div>
+              <span style="padding: 4px" :class="[row.isSettled == 1 ? 'active' : '']">
+                {{
+                proxy.dictValueLabel(row.isSettled, isSettled)
+              }}</span>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="收入总计" prop="incomeAmount" width="120" fixed />
+        <el-table-column label="支出总计" prop="expenditureAmount" width="120" fixed />
+        <el-table-column label="毛利率" width="120" fixed>
+          <template #default="{ row }">
+            <div>{{ parseFloat(row.grossRate).toFixed(2) }}%</div>
           </template>
         </el-table-column>
-        <el-table-column label="应付货款" width="140">
+        <el-table-column label="毛利" prop="gross" width="120" fixed />
+
+        <el-table-column label="应付货款" width="120">
           <template #default="{ row }">
             <div>
               <span v-if="row.otherSumAmount">{{ row.otherSumAmount }}</span>
@@ -35,55 +51,55 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="税率" width="140">
+        <el-table-column label="税率" width="120">
           <template #default="{ row }">
             <div>13%</div>
           </template>
         </el-table-column>
-        <el-table-column label="应退税金额" prop="refundableAmount" width="140" />
-        <el-table-column label="包材金额" width="140">
+        <el-table-column label="应退税金额" prop="refundableAmount" width="120" />
+        <el-table-column label="包材金额" width="120">
           <template #default="{ row }">
             <div>{{ row.peritectoidAmount }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="配件金额" width="140">
+        <el-table-column label="配件金额" width="120">
           <template #default="{ row }">
             <div>{{ row.accessoriesAmount }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="拖车费" width="140">
+        <el-table-column label="拖车费" width="120">
           <template #default="{ row }">
             <div>{{ row.trailerFee }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="报关费" width="140">
+        <el-table-column label="报关费" width="120">
           <template #default="{ row }">
             <div>{{ row.customsFee }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="代理费" width="140">
+        <el-table-column label="代理费" width="120">
           <template #default="{ row }">
             <div>{{ row.agencyFee }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="港杂费" width="140">
+        <el-table-column label="港杂费" width="120">
           <template #default="{ row }">
             <div>{{ row.portMixedFee }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="验货红包" width="140">
+        <el-table-column label="验货红包" width="120">
           <template #default="{ row }">
             <div>
               {{ row.inspectionRedPack }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="佣金" width="140">
+        <el-table-column label="佣金" width="120">
           <template #default="{ row }">
             <div>{{ row.commission }}</div>
           </template>
         </el-table-column>
-        <el-table-column label="其他" width="140">
+        <el-table-column label="其他" width="120">
           <template #default="{ row }">
             <div>{{ row.other }}</div>
           </template>
@@ -270,6 +286,16 @@ const sourceList = ref({
   },
 });
 const loading = ref(false);
+const isSettled = ref([
+  {
+    label: "已结清",
+    value: "1",
+  },
+  {
+    label: "未结清",
+    value: "0",
+  },
+]);
 const selectConfig = computed(() => {
   return [
     {
@@ -277,6 +303,11 @@ const selectConfig = computed(() => {
       prop: "userId",
       data: userList.value,
     },
+    {
+      label: "是否已结清",
+      prop: "isSettled",
+      data: isSettled.value,
+    },
   ];
 });
 const config = computed(() => {
@@ -828,4 +859,9 @@ const moreSearchReset = () => {
 ::v-deep(.el-input-number .el-input__inner) {
   text-align: left;
 }
+.active {
+  background: #a6dd82;
+  color: #fff;
+  border-radius: 4px;
+}
 </style>

+ 69 - 27
src/views/EHSD/procurement/profitSettlementEHSD/index.vue

@@ -1,47 +1,63 @@
 <template>
   <div class="tenant">
     <byTable :hideTable="true" :hidePagination="true" :source="sourceList.data" :pagination="sourceList.pagination" :config="config"
-             highlight-current-row :onMoreSearch="true" @moreSearch="clickMoreSearch" @get-list="getList">
+             :selectConfig="selectConfig" highlight-current-row :onMoreSearch="true" @moreSearch="clickMoreSearch" @get-list="getList">
     </byTable>
     <div style="padding: 0 20px 20px 20px; background-color: white">
       <el-table v-loading="loading" :data="sourceList.data">
         <el-table-column label="合同编号" prop="code" width="160" fixed />
         <el-table-column label="客户名称" prop="customerName" min-width="200" fixed />
-        <el-table-column label="业务员" prop="userName" width="140" fixed />
+        <el-table-column label="业务员" prop="userName" width="120" fixed />
+        <el-table-column label="合同金额" width="120">
+          <template #default="{ row }">
+            <div>{{ row.amount }}</div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="是否已结清" width="120" fixed>
+          <template #default="{ row }">
+            <div> {{ dictValueLabel(row.isSettled, isSettled) }}</div>
+          </template>
+        </el-table-column> -->
+        <el-table-column label="是否已结清" width="120" fixed>
+          <template #default="{ row }">
+            <div>
+              <span style="padding: 4px" :class="[row.isSettled == 1 ? 'active' : '']">
+                {{
+                proxy.dictValueLabel(row.isSettled, isSettled)
+              }}</span>
+            </div>
+          </template>
+        </el-table-column>
         <el-table-column label="统计" fixed>
-          <el-table-column label="收入合计" prop="incomeAmount" width="140" />
-          <el-table-column label="支出合计" prop="expenditureAmount" width="140" />
-          <el-table-column label="毛利" prop="gross" width="140" />
-          <el-table-column label="毛利率" width="140">
+          <el-table-column label="收入合计" prop="incomeAmount" width="120" />
+          <el-table-column label="支出合计" prop="expenditureAmount" width="120" />
+          <el-table-column label="毛利" prop="gross" width="120" />
+          <el-table-column label="毛利率" width="120">
             <template #default="{ row }">
               <div>{{ row.grossRate }}%</div>
             </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column label="合同金额" width="140">
-          <template #default="{ row }">
-            <div>{{ row.amount }}</div>
-          </template>
-        </el-table-column>
+
         <el-table-column label="收入">
-          <el-table-column label="到账金额" prop="sumClaimMoney" width="140" />
-          <el-table-column label="退税金额" prop="refundableAmount" width="140" />
-          <el-table-column label="其他收入" prop="otherIncomeAmount" width="140" />
+          <el-table-column label="到账金额" prop="sumClaimMoney" width="120" />
+          <el-table-column label="退税金额" prop="refundableAmount" width="120" />
+          <el-table-column label="其他收入" prop="otherIncomeAmount" width="120" />
         </el-table-column>
-        <el-table-column label="采购合同金额" prop="sumPurchaseContractMoney" width="140" />
+        <el-table-column label="采购合同金额" prop="sumPurchaseContractMoney" width="120" />
         <el-table-column label="支出">
-          <el-table-column label="已付货款" prop="accountPaid" width="140" />
-          <el-table-column label="代理费" prop="agencyFee" width="140" />
-          <el-table-column label="拖车费" prop="trailerFee" width="140" />
-          <el-table-column label="报关费" prop="customsFee" width="140" />
-          <el-table-column label="港杂费" prop="portMixedFee" width="140" />
-          <el-table-column label="验货红包" prop="inspectionRedPack" width="140" />
-          <el-table-column label="佣金" prop="commission" width="140" />
-          <el-table-column label="检测费" prop="checkout" width="140" />
-          <el-table-column label="验货费" prop="inspectionCharge" width="140" />
-          <el-table-column label="运费" prop="freight" width="140" />
-          <el-table-column label="产地证费" prop="certificateOfOrigin" width="140" />
-          <el-table-column label="其他" prop="other" width="140" />
+          <el-table-column label="已付货款" prop="accountPaid" width="120" />
+          <el-table-column label="代理费" prop="agencyFee" width="120" />
+          <el-table-column label="拖车费" prop="trailerFee" width="120" />
+          <el-table-column label="报关费" prop="customsFee" width="120" />
+          <el-table-column label="港杂费" prop="portMixedFee" width="120" />
+          <el-table-column label="验货红包" prop="inspectionRedPack" width="120" />
+          <el-table-column label="佣金" prop="commission" width="120" />
+          <el-table-column label="检测费" prop="checkout" width="120" />
+          <el-table-column label="验货费" prop="inspectionCharge" width="120" />
+          <el-table-column label="运费" prop="freight" width="120" />
+          <el-table-column label="产地证费" prop="certificateOfOrigin" width="120" />
+          <el-table-column label="其他" prop="other" width="120" />
         </el-table-column>
         <el-table-column label="备注" prop="remark" width="200" />
 
@@ -129,6 +145,26 @@ const sourceList = ref({
   },
 });
 const loading = ref(false);
+const isSettled = ref([
+  {
+    label: "已结清",
+    value: "1",
+  },
+  {
+    label: "未结清",
+    value: "0",
+  },
+]);
+const selectConfig = computed(() => {
+  return [
+    {
+      label: "是否已结清",
+      prop: "isSettled",
+      data: isSettled.value,
+    },
+  ];
+});
+
 const config = computed(() => {
   return [];
 });
@@ -314,4 +350,10 @@ const moreSearchReset = () => {
 ::v-deep(.el-input-number .el-input__inner) {
   text-align: left;
 }
+
+.active {
+  background: #a6dd82;
+  color: #fff;
+  border-radius: 4px;
+}
 </style>

+ 58 - 170
src/views/EHSD/saleContract/contractEHSD/index.vue

@@ -1,31 +1,25 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        :statConfig="statConfig"
-        :onMoreSearch="true"
-        @moreSearch="clickMoreSearch"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               :statConfig="statConfig" :onMoreSearch="true" @moreSearch="clickMoreSearch" highlight-current-row :action-list="[
           {
             text: '新建销售合同',
             action: () => newContract(),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #code="{ item }">
           <div style="width: 100%">
-            <a
-              style="color: #409eff; cursor: pointer; word-break: break-all"
-              @click="openDetails(item)"
-              >{{ item.code }}</a
-            >
+            <a style="color: #409eff; cursor: pointer; word-break: break-all" @click="openDetails(item)">{{ item.code }}</a>
+          </div>
+        </template>
+
+        <template #isSettled="{ item }">
+          <div>
+            <span style="padding: 4px" :class="[item.isSettled == 1 ? 'active' : '']">
+              {{
+                proxy.dictValueLabel(item.isSettled, isSettled)
+              }}</span>
           </div>
         </template>
 
@@ -37,50 +31,24 @@
         </template>
         <template #buyCorporationName="{ item }">
           <div style="width: 100%">
-            <a
-              style="color: #409eff; cursor: pointer"
-              @click="clickCorporationName(item)"
-              >{{ item.buyCorporationName }}</a
-            >
+            <a style="color: #409eff; cursor: pointer" @click="clickCorporationName(item)">{{ item.buyCorporationName }}</a>
           </div>
         </template>
         <template #tags="{ item }">
           <div style="width: 100%">
-            <el-tag
-              style="margin-right: 8px"
-              type="success"
-              v-for="(tag, index) in item.tags"
-              closable
-              :key="index"
-              @close="tagClose(tag, item)"
-            >
+            <el-tag style="margin-right: 8px" type="success" v-for="(tag, index) in item.tags" closable :key="index" @close="tagClose(tag, item)">
               {{ dictValueLabel(tag, customerTag) }}
             </el-tag>
             <template v-if="item.tags.length !== customerTag.length">
-              <el-select
-                v-if="item.addTagShow"
-                v-model="addTag"
-                style="width: 100%"
-                @change="
+              <el-select v-if="item.addTagShow" v-model="addTag" style="width: 100%" @change="
                   (val) => {
                     return changeTag(val, item);
                   }
-                "
-              >
-                <el-option
-                  v-for="tag in customerTag"
-                  :key="tag.value"
-                  :label="tag.label"
-                  :value="tag.value"
-                  :disabled="judgeTagSelect(item.tags, tag.value)"
-                />
+                ">
+                <el-option v-for="tag in customerTag" :key="tag.value" :label="tag.label" :value="tag.value"
+                           :disabled="judgeTagSelect(item.tags, tag.value)" />
               </el-select>
-              <el-tag
-                style="cursor: pointer"
-                type="success"
-                @click="showSelect(item)"
-                v-else
-              >
+              <el-tag style="cursor: pointer" type="success" @click="showSelect(item)" v-else>
                 +
               </el-tag>
             </template>
@@ -105,115 +73,63 @@
       <ContractPDFOneNew :rowData="rowData" ref="PdfDom"></ContractPDFOneNew>
       <template #footer>
         <el-button @click="openPrint = false" size="large">取消</el-button>
-        <el-button type="primary" v-print="printObj" size="large"
-          >打印</el-button
-        >
-        <el-button type="primary" @click="clickDownload()" size="large"
-          >下载PDF</el-button
-        >
-        <el-button type="primary" @click="exportExcel()" size="large"
-          >导出Excel</el-button
-        >
+        <el-button type="primary" v-print="printObj" size="large">打印</el-button>
+        <el-button type="primary" @click="clickDownload()" size="large">下载PDF</el-button>
+        <el-button type="primary" @click="exportExcel()" size="large">导出Excel</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="交接单"
-      v-if="openHandoverSlip"
-      v-model="openHandoverSlip"
-      width="600"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="handoverSlipForm"
-      >
+    <el-dialog title="交接单" v-if="openHandoverSlip" v-model="openHandoverSlip" width="600">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="handoverSlipForm">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="handoverSlipForm.fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              multiple
-              :before-upload="uploadFile"
-              :on-success="handleSuccess"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="handoverSlipForm.fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
+                       multiple :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
         </template>
         <template #indication>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="handoverSlipForm.packageFileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="indicationUploadData"
-              multiple
-              :before-upload="indicationUploadFile"
-              :on-success="handleSuccess"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="handoverSlipForm.packageFileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+                       :data="indicationUploadData" multiple :before-upload="indicationUploadFile" :on-success="handleSuccess"
+                       :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
         </template>
       </byForm>
       <template #footer>
-        <el-button @click="openHandoverSlip = false" size="large"
-          >关 闭</el-button
-        >
-        <el-button type="primary" @click="submitHandoverSlip()" size="large"
-          >确 定</el-button
-        >
+        <el-button @click="openHandoverSlip = false" size="large">关 闭</el-button>
+        <el-button type="primary" @click="submitHandoverSlip()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="合同详情"
-      v-if="openDetailsDialog"
-      v-model="openDetailsDialog"
-      width="1100"
-    >
+    <el-dialog title="合同详情" v-if="openDetailsDialog" v-model="openDetailsDialog" width="1100">
       <ContractDetails :contractId="currentContractId"></ContractDetails>
     </el-dialog>
 
-    <el-dialog
-      :title="`售后记录`"
-      v-if="openRecords"
-      v-model="openRecords"
-      width="600"
-    >
+    <el-dialog :title="`售后记录`" v-if="openRecords" v-model="openRecords" width="600">
       <div style="padding-left: 50px; margin-bottom: 20px">
-        <el-button type="primary" plain @click="handleClickAddRecord()"
-          >添加记录</el-button
-        >
+        <el-button type="primary" plain @click="handleClickAddRecord()">添加记录</el-button>
       </div>
       <el-timeline>
         <el-timeline-item v-for="(activity, index) in recordsData" :key="index">
-          <div
-            style="
+          <div style="
               width: 100%;
               display: flex;
               justify-content: space-between;
               color: #bfb9b9;
-            "
-          >
+            ">
             <div>售后时间:{{ activity.documentaryTime }}</div>
             <div>{{ activity.userName }}</div>
           </div>
           <div style="width: 100%; margin-top: 8px">
             售后记录:{{ activity.documentaryRemark }}
           </div>
-          <div
-            style="width: 100%; margin-top: 8px"
-            v-if="activity.fileList && activity.fileList.length > 0"
-          >
+          <div style="width: 100%; margin-top: 8px" v-if="activity.fileList && activity.fileList.length > 0">
             <div v-for="(item, index) in activity.fileList" :key="index">
-              <div
-                style="cursor: pointer; color: #409eff"
-                @click="openFile(item)"
-              >
+              <div style="cursor: pointer; color: #409eff" @click="openFile(item)">
                 {{ item.fileName }}
               </div>
             </div>
@@ -226,63 +142,30 @@
       </template>
     </el-dialog>
 
-    <el-dialog
-      :title="`添加售后记录`"
-      v-if="openAddRecords"
-      v-model="openAddRecords"
-      width="600"
-    >
-      <byForm
-        :formConfig="recordsFormConfig"
-        :formOption="formOption"
-        v-model="formData.recordsFormData"
-        :rules="recordsRules"
-        ref="recordsForm"
-        v-loading="formLoading"
-      >
+    <el-dialog :title="`添加售后记录`" v-if="openAddRecords" v-model="openAddRecords" width="600">
+      <byForm :formConfig="recordsFormConfig" :formOption="formOption" v-model="formData.recordsFormData" :rules="recordsRules" ref="recordsForm"
+              v-loading="formLoading">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="formData.recordsFormData.fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              multiple
-              :before-upload="uploadFile"
-              :on-success="handleSuccess"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="formData.recordsFormData.fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+                       :data="uploadData" multiple :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
         </template>
       </byForm>
       <template #footer>
-        <el-button @click="openAddRecords = false" size="large"
-          >关 闭</el-button
-        >
-        <el-button type="primary" @click="submitRecords()" size="large"
-          >确 定</el-button
-        >
+        <el-button @click="openAddRecords = false" size="large">关 闭</el-button>
+        <el-button type="primary" @click="submitRecords()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      :title="'高级检索'"
-      v-model="moreSearchDialog"
-      width="500px"
-      destroy-on-close
-    >
-      <byForm
-        :formConfig="formSearchConfig"
-        :formOption="formOption"
-        v-model="sourceList.pagination"
-      >
+    <el-dialog :title="'高级检索'" v-model="moreSearchDialog" width="500px" destroy-on-close>
+      <byForm :formConfig="formSearchConfig" :formOption="formOption" v-model="sourceList.pagination">
       </byForm>
       <template #footer>
         <el-button @click="moreSearchReset" size="large">重置</el-button>
-        <el-button @click="moreSearchQuery" type="primary" size="large"
-          >搜索</el-button
-        >
+        <el-button @click="moreSearchQuery" type="primary" size="large">搜索</el-button>
       </template>
     </el-dialog>
   </div>
@@ -491,12 +374,12 @@ const config = computed(() => {
     {
       attrs: {
         label: "是否已结清",
-        prop: "isSettled",
+        slot: "isSettled",
         width: 100,
       },
-      render(type) {
-        return proxy.dictValueLabel(type, isSettled.value);
-      },
+      // render(type) {
+      //   return proxy.dictValueLabel(type, isSettled.value);
+      // },
     },
     {
       attrs: {
@@ -1277,4 +1160,9 @@ const moreSearchReset = () => {
   line-height: 24px;
   padding-left: 4px;
 }
+.active {
+  background: #a6dd82;
+  color: #fff;
+  border-radius: 4px;
+}
 </style>