Browse Source

尔泓服务器更改,文件上传地址更改

cz 1 year ago
parent
commit
b1cfc0bd1d
58 changed files with 1641 additions and 4072 deletions
  1. 4 0
      .env.development
  2. 6 2
      .env.production
  3. 5 1
      .env.staging
  4. 5 10
      src/components/Editor/TinymceEditor.vue
  5. 14 42
      src/components/PDF/purchasePDFOne.vue
  6. 34 71
      src/components/PDF/purchasePDFOneNew.vue
  7. 2 2
      src/components/byForm/index.vue
  8. 19 89
      src/components/contractCom/productContract.vue
  9. 19 89
      src/components/contractCom/selectContract.vue
  10. 23 102
      src/components/contractCom/selectSample.vue
  11. 127 444
      src/components/detailCom/document/index.vue
  12. 80 340
      src/components/detailCom/exportTracking/index.vue
  13. 4 5
      src/components/process/EHSD/Contract.vue
  14. 4 5
      src/components/process/EHSD/ContractChange.vue
  15. 2 2
      src/components/process/EHSD/Purchase.vue
  16. 2 2
      src/components/process/EHSD/PurchaseChange.vue
  17. 4 5
      src/components/process/EHSD/Sample.vue
  18. 4 5
      src/components/process/EHSD/SampleChange.vue
  19. 2 2
      src/components/process/PurchasePayment.vue
  20. 2 2
      src/components/process/SendFunds.vue
  21. 2 3
      src/components/product/SelectCompanyProduct.vue
  22. 2 3
      src/components/product/SelectCustomerProduct.vue
  23. 2 2
      src/components/product/SelectMaterial.vue
  24. 17 69
      src/components/product/SelectProduct.vue
  25. 10 0
      src/main.js
  26. 253 186
      src/views/EHSD/procurement/InspectionGoodsEHSD/index.vue
  27. 23 96
      src/views/EHSD/productLibrary/companyProduct/index.vue
  28. 26 114
      src/views/EHSD/productLibrary/customerProduct/index.vue
  29. 6 7
      src/views/EHSD/saleContract/contractEHSD/index.vue
  30. 80 340
      src/views/EHSD/saleContract/exportTracking/index.vue
  31. 37 153
      src/views/EHSD/saleContract/sampleEHSD/index.vue
  32. 2 2
      src/views/connect/E-mail/mail/com/mailWrite.vue
  33. 2 2
      src/views/customer/file/index.vue
  34. 2 2
      src/views/customer/highseas/index.vue
  35. 2 2
      src/views/customer/privatesea/index.vue
  36. 42 186
      src/views/finance/fundManage/accountPayment/index.vue
  37. 25 34
      src/views/oa/companyDisk/webDiskData/index.vue
  38. 142 76
      src/views/oa/work/dailyPaper/index.vue
  39. 12 61
      src/views/oa/work/task/index.vue
  40. 3 3
      src/views/process/processApproval/index.vue
  41. 18 71
      src/views/product/material/index.vue
  42. 22 82
      src/views/product/product/index.vue
  43. 18 72
      src/views/product/product/index2.vue
  44. 12 57
      src/views/production/project/processes/index.vue
  45. 96 127
      src/views/publicModule/companyConfig/index.vue
  46. 36 179
      src/views/purchaseManage/purchaseManage/handoverSlip/index.vue
  47. 10 50
      src/views/purchaseManage/purchaseManage/handoverSlipOne/index.vue
  48. 12 57
      src/views/purchaseManage/purchaseManage/purchase/index.vue
  49. 43 151
      src/views/purchaseManage/purchaseManage/purchaseDocumentary/index.vue
  50. 12 57
      src/views/purchaseManage/purchaseManage/subscribe/index.vue
  51. 70 76
      src/views/purchaseManage/purchasePayment/invoice/index.vue
  52. 20 88
      src/views/purchaseManage/supplier/supplier/index.vue
  53. 31 163
      src/views/salesMange/saleContract/claim/index.vue
  54. 43 151
      src/views/salesMange/saleContract/salesDocumentary/index.vue
  55. 75 67
      src/views/salesMange/saleContract/serviceContract/index.vue
  56. 60 49
      src/views/salesMange/shipmentMange/document/index.vue
  57. 10 14
      src/views/systemTenant/tenant/logoConfiguration/index.vue
  58. 1 0
      vite.config.js

+ 4 - 0
.env.development

@@ -10,3 +10,7 @@ VITE_APP_BASE_API = '/dev-api'
 VITE_APP_IP = '139.9.102.170'
 
 VITE_APP_WS_API = ':10007/test-api'
+
+#上传文件地址
+VITE_APP_UPLOAD_API='139.9.102.170:9901'
+VITE_APP_UPLOAD_BASE_API = '/test-api'

+ 6 - 2
.env.production

@@ -10,9 +10,13 @@ VITE_APP_BASE_API = '/prod-api'
 # 是否在打包时开启压缩,支持 gzip 和 brotli
 VITE_BUILD_COMPRESS = gzip
 
-VITE_APP_IP = 'ehsd.winfaster.cn'
+VITE_APP_IP = '106.54.243.161'
 
 VITE_APP_WS_API = '/prod-api'
 
 # 是否强刷新
-VITE_REFRESH = true
+VITE_REFRESH = true
+
+#上传文件地址
+VITE_APP_UPLOAD_API='106.54.243.161'
+VITE_APP_UPLOAD_BASE_API = '/prod-api'

+ 5 - 1
.env.staging

@@ -15,4 +15,8 @@ VITE_APP_IP = '139.9.102.170'
 VITE_APP_WS_API = ':10007/test-api'
 
 # 是否强刷新
-VITE_REFRESH = true
+VITE_REFRESH = true
+
+#上传文件地址
+VITE_APP_UPLOAD_API='139.9.102.170'
+VITE_APP_UPLOAD_BASE_API = '/test-api'

+ 5 - 10
src/components/Editor/TinymceEditor.vue

@@ -73,16 +73,11 @@ const init = reactive({
               formData.append(key, otherData[key]);
             }
             formData.append("file", file);
-            proxy
-              .post(
-                "https://winfaster.obs.cn-south-1.myhuaweicloud.com",
-                formData
-              )
-              .then((data) => {
-                if (res && typeof res.fileUrl == "string" && res.fileUrl) {
-                  resolve(res.fileUrl);
-                }
-              });
+            proxy.post(proxy.uploadUrl, formData).then((data) => {
+              if (res && typeof res.fileUrl == "string" && res.fileUrl) {
+                resolve(res.fileUrl);
+              }
+            });
           });
       }
     }),

+ 14 - 42
src/components/PDF/purchasePDFOne.vue

@@ -3,17 +3,10 @@
     <div id="pdfDom" ref="pdfDom" style="width: 840px" v-loading="loading">
       <div style="display: flex; align-items: center">
         <div>
-          <img
-            :src="pdfData.companyPic"
-            alt=""
-            fit="scale-down"
-            style="height: 60px; width: 60px"
-          />
+          <img :src="pdfData.companyPic" alt="" fit="scale-down" style="height: 60px; width: 60px" />
         </div>
         <div style="padding: 10px 30px" class="center-class">
-          <div
-            style="font-size: 16px; color: rgb(132, 151, 176); font-weight: 700"
-          >
+          <div style="font-size: 16px; color: rgb(132, 151, 176); font-weight: 700">
             {{ pdfData.buyCorporationName }}
           </div>
           <div>
@@ -29,10 +22,7 @@
           </div>
         </div>
       </div>
-      <div
-        style="margin-top: 30px; font-size: 16px; font-weight: 700"
-        class="center-class"
-      >
+      <div style="margin-top: 30px; font-size: 16px; font-weight: 700" class="center-class">
         采购合同
       </div>
       <div style="margin: 10px 0px 20px 0px" class="center-class">
@@ -61,21 +51,14 @@
           <td style="width: 15%" class="center-class">单价</td>
           <td style="width: 17%" class="center-class">总价</td>
         </tr>
-        <template
-          v-if="
+        <template v-if="
             pdfData.ehsdPurchaseProductList &&
             pdfData.ehsdPurchaseProductList.length > 0
-          "
-        >
+          ">
           <tr v-for="item in pdfData.ehsdPurchaseProductList" :key="item.id">
             <td style="width: 15%" class="center-class">
-              <img
-                :src="item.fileList[0].fileUrl"
-                alt=""
-                fit="scale-down"
-                style="height: 60px; width: 60px"
-                v-if="item.fileList && item.fileList.length > 0"
-              />
+              <img :src="item.fileList[0].fileUrl" alt="" fit="scale-down" style="height: 60px; width: 60px"
+                   v-if="item.fileList && item.fileList.length > 0" />
             </td>
 
             <td style="width: 20%" class="center-class">
@@ -95,26 +78,18 @@
             </td>
           </tr>
         </template>
-        <template
-          v-if="
+        <template v-if="
             pdfData.purchaseProjectList &&
             pdfData.purchaseProjectList.length > 0
-          "
-        >
+          ">
           <tr>
             <td colspan="5" style="text-align: right">
-              <div
-                v-for="(item, index) in pdfData.purchaseProjectList"
-                :key="item.id"
-              >
+              <div v-for="(item, index) in pdfData.purchaseProjectList" :key="item.id">
                 {{ item.payName }}:
               </div>
             </td>
             <td class="center-class">
-              <div
-                v-for="(item, index) in pdfData.purchaseProjectList"
-                :key="item.id"
-              >
+              <div v-for="(item, index) in pdfData.purchaseProjectList" :key="item.id">
                 {{ pdfData.currency }}
                 {{ moneyFormat(item.amount, 2) }}
               </div>
@@ -232,17 +207,14 @@
           <td class="center-class">出货时间</td>
           <td class="center-class">出货数量</td>
         </tr>
-        <template
-          v-if="
+        <template v-if="
             pdfData.purchaseArrivalList &&
             pdfData.purchaseArrivalList.length > 0
-          "
-        >
+          ">
           <tr v-for="item in pdfData.purchaseArrivalList" :key="item.id">
             <td>{{ item.productName }}</td>
             <td>
-              <span v-if="item.arrivalTime"
-                >{{ item.arrivalTime.slice(0, 10) }}
+              <span v-if="item.arrivalTime">{{ item.arrivalTime.slice(0, 10) }}
               </span>
             </td>
             <td>{{ item.quantity }}</td>

+ 34 - 71
src/components/PDF/purchasePDFOneNew.vue

@@ -4,13 +4,7 @@
       <table style="width: 100%" class="table">
         <tr>
           <td style="width: 15%">
-            <img
-              :src="pdfData.companyPic"
-              alt=""
-              fit="scale-down"
-              style="height: 60px; width: 60px"
-              v-if="pdfData.companyPic && isShowImg"
-            />
+            <img :src="pdfData.companyPic" alt="" fit="scale-down" style="height: 60px; width: 60px" v-if="pdfData.companyPic && isShowImg" />
           </td>
           <td colspan="5">
             <div style="font-size: 16px; color: #8497b0; font-weight: 700">
@@ -30,10 +24,7 @@
           </td>
         </tr>
         <tr>
-          <td
-            colspan="6"
-            style="padding-top: 30px; font-size: 16px; font-weight: 700"
-          >
+          <td colspan="6" style="padding-top: 30px; font-size: 16px; font-weight: 700">
             采购合同
           </td>
         </tr>
@@ -68,21 +59,14 @@
           <td style="width: 16%">单价</td>
           <td style="width: 17%">总价</td>
         </tr>
-        <template
-          v-if="
+        <template v-if="
             pdfData.ehsdPurchaseProductList &&
             pdfData.ehsdPurchaseProductList.length > 0
-          "
-        >
+          ">
           <tr v-for="item in pdfData.ehsdPurchaseProductList" :key="item.id">
             <td>
-              <img
-                :src="item.fileList[0].fileUrl"
-                alt=""
-                fit="scale-down"
-                style="height: 60px; width: 60px"
-                v-if="item.fileList && item.fileList.length > 0 && isShowImg"
-              />
+              <img :src="item.fileList[0].fileUrl" alt="" fit="scale-down" style="height: 60px; width: 60px"
+                   v-if="item.fileList && item.fileList.length > 0 && isShowImg" />
             </td>
 
             <td>
@@ -98,26 +82,18 @@
             <td>{{ pdfData.currency }} {{ moneyFormat(item.amount, 2) }}</td>
           </tr>
         </template>
-        <template
-          v-if="
+        <template v-if="
             pdfData.purchaseProjectList &&
             pdfData.purchaseProjectList.length > 0
-          "
-        >
+          ">
           <tr>
             <td colspan="5" style="text-align: right">
-              <div
-                v-for="(item, index) in pdfData.purchaseProjectList"
-                :key="item.id"
-              >
+              <div v-for="(item, index) in pdfData.purchaseProjectList" :key="item.id">
                 {{ item.payName }}:
               </div>
             </td>
             <td>
-              <div
-                v-for="(item, index) in pdfData.purchaseProjectList"
-                :key="item.id"
-              >
+              <div v-for="(item, index) in pdfData.purchaseProjectList" :key="item.id">
                 {{ pdfData.currency }}
                 {{ moneyFormat(item.amount, 2) }}
               </div>
@@ -167,30 +143,27 @@
           <td colspan="6" style="text-align: left">
             <div>
               二、相关约定 <br />
-              1.所有与食品直接接触的产品,如菜板,芝士板需通过食品级测试,(LFGB测试-过甲醛和重金属测试)。请
-              各供应商在采购板材和生产过程中务必使用合格的胶水和油漆等,否则客户会取消订单或由此产生的费用由工厂承担。
+              1.所有与食品直接接触的产品,如菜板,芝士板需通过食品级测试,(LFGB测试-过甲醛和重金属测试)。乙方在采购板材和生产过程中务必使用合格的胶水和油漆等,否则客户会取消订单或由此产生的费用由工厂承担。
+
+              <br /> 2.如在约定的交货时间内无法完成订单供客人验货,或因验货不合格而造成客人产生额外费用,将由供方承担。
+              <br />3.乙方需在7个工作日内提供1套产前确认样给我方确认。乙方应在收到订单后的一个有效工作日内回复确认,否则视供方默认订单条款。
+              <br /> 4.产品应无碰伤,无开裂,无缺口,无毛刺,不得有不平整不光滑现象。
+              <br /> 5.必须按规定日期和双方确认的品质标准交货。如由于工厂的交期延期,导致客户取消订单或者由此产生额外费用
+              ,全由工厂承担。
+              <br /> 6.包装前须将产品上灰尘清理干净,做好清洁工作。
+              <br /> 7.如有合同附件,同样具有法律效力。本合同壹式两份,双方各执壹份,合同传真件与正本具有同等法津效力。
+              <br /> 8.如果我司的产品的结构有不合理,请工厂告知!
+              <br /> 9.竹子湿度控制在12%以下,如有需要的可配合一包干燥剂,避免霉变。
+              <br /> 10.订单出货后,每单每款产品需提供2个不计价大货样给我司,未提供,则每单扣款500元,且货款暂缓。
+              <br /> 三、违约责任
               <br />
-              2.供货方应在收到订单后的一个有效工作日内回复确认,否则视供方默认订单条款。<br />
-              3.需在7个工作日内提供1套产前确认样给我方确认。<br />
-              4.产品应无碰伤,无开裂,无缺口,无毛刺,不得有不平整不光滑现象。<br />
-              5.必须按规定日期和双方确认的品质标准交货。如由于工厂的交期延期,导致客户取消订单或者由此产生额外费用
-              ,全由工厂承担。<br />
-              6.包装前须将产品上灰尘清理干净,做好清洁工作。<br />
-              7.如有合同附件,同样具有法律效力。本合同壹式两份,双方各执壹份,合同传真件与正本具有同等法津效力。<br />
-              8.如果我司的产品的结构有不合理,请工厂告知!<br />
-              9.竹子湿度控制在12%以下,如有需要的可配合一包干燥剂,避免霉变。<br />
-              10.订单出货后,每单每款产品需提供2个不计价大货样给我司,未提供,则每单扣款500元,且货款暂缓。<br />
-              三、违约责任
-              <br />1.
-              如因质量问题导致交货期延迟,或因产品结构及包装等造成的返工损失由供方自负。因质量或交期导致需方客
-              户的索赔由供方承担(质量标准经由需方或第三方出厂前出具验货报告为准)。<br />
-              2.
-              如在约定时间内无法完成订单供客人验货,或因验货不合格而造成客人产生额外费用,将由供方承担。<br />
-              3.
-              逾期交货(含合格品数量不足,)的,按合同总额的千分之五支付日违约金至履约日(不含需方不能及时提供
+              1. 如因质量问题导致交货期延迟,或因产品结构及包装等造成的返工损失由供方自负。因质量或交期导致需方客
+              户的索赔由供方承担(质量标准经由需方或第三方出厂前出具验货报告为准)。
+              <br /> 2. 如在约定时间内无法完成订单供客人验货,或因验货不合格而造成客人产生额外费用,将由供方承担。
+              <br /> 3. 逾期交货(含合格品数量不足,)的,按合同总额的千分之五支付日违约金至履约日(不含需方不能及时提供
               的约定材料或相关资料导致的逾期)。逾期交货15日的,需方有权解除合同,供方应按合同总额的30%支付违约金
-              。<br />
-              四、合同发生争议时,双方应协商解决,协商不成时,任何一方均可向当地人民法院起诉。
+              。
+              <br />四、合同发生争议时,双方应协商解决,协商不成时,任何一方均可向当地人民法院起诉。
             </div>
           </td>
         </tr>
@@ -215,19 +188,16 @@
           <td colspan="2">出货时间</td>
           <td colspan="2">出货数量</td>
         </tr>
-        <template
-          v-if="
+        <template v-if="
             pdfData.purchaseArrivalList &&
             pdfData.purchaseArrivalList.length > 0
-          "
-        >
+          ">
           <tr v-for="item in pdfData.purchaseArrivalList" :key="item.id">
             <td colspan="2">
               {{ item.productName }}
             </td>
             <td colspan="2">
-              <span v-if="item.arrivalTime"
-                >{{ item.arrivalTime.slice(0, 10) }}
+              <span v-if="item.arrivalTime">{{ item.arrivalTime.slice(0, 10) }}
               </span>
             </td>
             <td colspan="2">{{ item.quantity }}</td>
@@ -240,20 +210,13 @@
             <div style="height: 20px"></div>
           </td>
         </tr>
-        <template
-          v-for="item in pdfData.ehsdPurchaseProductListOne"
-          :key="item.id"
-        >
+        <template v-for="item in pdfData.ehsdPurchaseProductListOne" :key="item.id">
           <tr>
             <td colspan="6" style="font-weight: 700">{{ item.productName }}</td>
           </tr>
           <tr>
             <td colspan="6" style="text-align: left">
-              <div
-                v-if="item.remark"
-                style="width: 720px; overflow: auto"
-                class="img"
-              >
+              <div v-if="item.remark" style="width: 720px; overflow: auto" class="img">
                 <div v-html="getHtmlStr(item.remark)"></div>
               </div>
               <div v-else style="height: 15px"></div>

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

@@ -96,8 +96,8 @@
             {{ i.slotName }}插槽占位符
           </slot>
           <div class="upload" v-else-if="i.type == 'upload'">
-            <el-upload v-model="formData[i.prop]" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
-                       list-type="picture-card" :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload">
+            <el-upload v-model="formData[i.prop]" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                       :on-success="handleSuccess" :before-upload="handleBeforeUpload">
               <!-- <el-icon class="el-icon--upload"><upload-filled /></el-icon> -->
               <el-icon>
                 <Plus />

+ 19 - 89
src/components/contractCom/productContract.vue

@@ -1,23 +1,11 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        highlight-current-row
-        :action-list="[]"
-        @get-list="getList"
-      >
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               highlight-current-row :action-list="[]" @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>
 
@@ -29,50 +17,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>
@@ -92,64 +54,32 @@
       </byTable>
     </div>
 
-    <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="uploadUrl" :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="uploadUrl" :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="90%"
-    >
+    <el-dialog title="合同详情" v-if="openDetailsDialog" v-model="openDetailsDialog" width="90%">
       <ContractDetails :contractId="currentContractId"></ContractDetails>
     </el-dialog>
   </div>

+ 19 - 89
src/components/contractCom/selectContract.vue

@@ -1,23 +1,11 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        highlight-current-row
-        :action-list="[]"
-        @get-list="getList"
-      >
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               highlight-current-row :action-list="[]" @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>
 
@@ -29,50 +17,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>
@@ -92,64 +54,32 @@
       </byTable>
     </div>
 
-    <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="uploadUrl" :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="uploadUrl" :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="90%"
-    >
+    <el-dialog title="合同详情" v-if="openDetailsDialog" v-model="openDetailsDialog" width="90%">
       <ContractDetails :contractId="currentContractId"></ContractDetails>
     </el-dialog>
   </div>

+ 23 - 102
src/components/contractCom/selectSample.vue

@@ -1,22 +1,10 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      :selectConfig="selectConfig"
-      highlight-current-row
-      :action-list="[]"
-      @get-list="getList"
-    >
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+             highlight-current-row :action-list="[]" @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>
 
@@ -28,50 +16,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>
@@ -89,68 +51,33 @@
       </template>
     </byTable>
 
-    <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="uploadUrl" :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="uploadUrl" :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="90%"
-    >
-      <ContractDetailsOne
-        :sampleId="currentSampleId"
-        :code="currentCode"
-      ></ContractDetailsOne>
+    <el-dialog title="样品单详情" v-if="openDetailsDialog" v-model="openDetailsDialog" width="90%">
+      <ContractDetailsOne :sampleId="currentSampleId" :code="currentCode"></ContractDetailsOne>
     </el-dialog>
 
     <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="920">
@@ -158,15 +85,9 @@
       <SamplePDFNew :rowData="rowData" ref="PdfDom"></SamplePDFNew>
       <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>
   </div>

File diff suppressed because it is too large
+ 127 - 444
src/components/detailCom/document/index.vue


+ 80 - 340
src/components/detailCom/exportTracking/index.vue

@@ -1,16 +1,7 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      highlight-current-row
-      :action-list="[]"
-      :hidePagination="true"
-      :hideSearch="true"
-      @get-list="getList"
-    >
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row :action-list="[]"
+             :hidePagination="true" :hideSearch="true" @get-list="getList">
       <template #code="{ item }">
         <div style="width: 100%">
           <span class="public-class" @click="openDetails(item)">{{
@@ -29,16 +20,8 @@
 
       <template #contractProduct="{ item }">
         <div style="width: 100%">
-          <div
-            v-for="(product, index) in item.contractProductList"
-            :key="index"
-          >
-            <el-tooltip
-              class="box-item"
-              effect="dark"
-              :content="product.productName"
-              placement="top-start"
-            >
+          <div v-for="(product, index) in item.contractProductList" :key="index">
+            <el-tooltip class="box-item" effect="dark" :content="product.productName" placement="top-start">
               <div class="hidden-text">
                 {{ product.productName }}
               </div>
@@ -49,10 +32,7 @@
 
       <template #tags="{ item }">
         <div style="width: 100%">
-          <div
-            v-for="(product, index) in item.contractProductList"
-            :key="index"
-          >
+          <div v-for="(product, index) in item.contractProductList" :key="index">
             {{ dictValueLabel(product.tradeMethods, tradeMethods) }}
           </div>
         </div>
@@ -62,12 +42,7 @@
         <div style="width: 100%">
           <div v-if="item.purchaseList && item.purchaseList.length > 0">
             <div v-for="(purchase, index) in item.purchaseList" :key="index">
-              <el-tooltip
-                class="box-item"
-                effect="dark"
-                :content="purchase.supplyName"
-                placement="top-start"
-              >
+              <el-tooltip class="box-item" effect="dark" :content="purchase.supplyName" placement="top-start">
                 <div class="hidden-text">
                   {{ purchase.supplyName }}
                 </div>
@@ -80,12 +55,7 @@
       <template #purchaseCode="{ item }">
         <div style="width: 100%">
           <div v-if="item.purchaseList && item.purchaseList.length > 0">
-            <div
-              v-for="(purchase, index) in item.purchaseList"
-              :key="index"
-              class="public-class"
-              @click="hdanlePushPurchase(purchase.code)"
-            >
+            <div v-for="(purchase, index) in item.purchaseList" :key="index" class="public-class" @click="hdanlePushPurchase(purchase.code)">
               {{ purchase.code }}
             </div>
           </div>
@@ -114,34 +84,19 @@
 
       <template #remarks="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookRemarksRecords(item)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookRemarksRecords(item)">查看</el-button>
         </div>
       </template>
 
       <template #receipt="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookContractFile(item, true)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookContractFile(item, true)">查看</el-button>
         </div>
       </template>
 
       <template #package="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookContractFile(item, false)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookContractFile(item, false)">查看</el-button>
         </div>
       </template>
 
@@ -152,186 +107,80 @@
       </template>
 
       <!-- 动态头部插槽 -->
-      <template
-        v-for="(documentary, index) in headerList"
-        v-slot:[documentary.value]="{ item }"
-        :key="documentary.value"
-      >
+      <template v-for="(documentary, index) in headerList" v-slot:[documentary.value]="{ item }" :key="documentary.value">
         <div style="width: 100%; display: flex; align-items: center">
           <span>{{ documentary.label }}</span>
-          <span
-            style="
+          <span style="
               color: #8400ff;
               cursor: pointer;
               display: flex;
               align-items: center;
-            "
-            @click="handleClickHeader(documentary.value)"
-            ><span>({{ headerData[documentary.value] || 0 }})</span>
-            <span
-              v-if="documentary.value == currentHeader && clickNum == 1"
-              class="iconfont icon-iconm_shanchu"
-              style="color: #d81e06; font-size: 20px"
-            >
+            " @click="handleClickHeader(documentary.value)"><span>({{ headerData[documentary.value] || 0 }})</span>
+            <span v-if="documentary.value == currentHeader && clickNum == 1" class="iconfont icon-iconm_shanchu"
+                  style="color: #d81e06; font-size: 20px">
             </span>
-            <span
-              v-if="documentary.value == currentHeader && clickNum == 2"
-              class="iconfont icon-iconm_quertj"
-              style="color: #16c4af; font-size: 20px"
-            >
+            <span v-if="documentary.value == currentHeader && clickNum == 2" class="iconfont icon-iconm_quertj"
+                  style="color: #16c4af; font-size: 20px">
             </span>
           </span>
         </div>
       </template>
 
       <!-- 动态内容插槽 -->
-      <template
-        v-for="(documentary, index) in headerList"
-        v-slot:[documentary.slot]="{ item }"
-        :key="documentary.slot"
-      >
+      <template v-for="(documentary, index) in headerList" v-slot:[documentary.slot]="{ item }" :key="documentary.slot">
         <div style="width: 100%">
           <div v-if="documentary.value == '1'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >已提交</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >未提交</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">已提交</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>未提交</el-button>
               </div>
             </div>
           </div>
-          <div
-            v-else-if="
+          <div v-else-if="
               ['2', '3', '4', '5', '7', '9'].includes(documentary.value)
-            "
-          >
+            ">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >查看</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >添加</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">查看</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>添加</el-button>
               </div>
             </div>
           </div>
 
           <div v-else-if="documentary.value == '6'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="!judgeHaveData(purchase, documentary.value)"
-                  style="color: #f59a23"
-                  >待验货</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else-if="judgeHaveDataOne(purchase, documentary.value)"
-                  >通过</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else
-                  style="color: red"
-                  >未通过</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="!judgeHaveData(purchase, documentary.value)" style="color: #f59a23">待验货</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-else-if="judgeHaveDataOne(purchase, documentary.value)">通过</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" v-else style="color: red">未通过</el-button>
               </div>
             </div>
           </div>
 
           <div v-else-if="documentary.value == '8'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="!judgeHaveData(purchase, documentary.value)"
-                  style="color: #f59a23"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else-if="judgeHaveDataOne(purchase, documentary.value)"
-                  >已收到</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: red"
-                  v-else
-                  >未收到</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="!judgeHaveData(purchase, documentary.value)" style="color: #f59a23">添加</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-else-if="judgeHaveDataOne(purchase, documentary.value)">已收到</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: red" v-else>未收到</el-button>
               </div>
             </div>
           </div>
           <div v-else-if="['10', '11', '12'].includes(documentary.value)">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >{{
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">{{
                     judgeHaveDataOne(purchase, documentary.value)
-                  }}</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >添加</el-button
-                >
+                  }}</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>添加</el-button>
               </div>
             </div>
           </div>
@@ -355,31 +204,13 @@
       </template> -->
     </byTable>
     <!-- 备注弹窗 -->
-    <el-dialog
-      title="备注"
-      v-if="openRemarks"
-      v-model="openRemarks"
-      width="600"
-    >
-      <byForm
-        :formConfig="remarksFormConfig"
-        :formOption="formOption"
-        v-model="formData.remarksFormData"
-        :rules="remarksRules"
-        ref="remarksForm"
-        v-loading="formLoading"
-      >
+    <el-dialog title="备注" v-if="openRemarks" v-model="openRemarks" width="600">
+      <byForm :formConfig="remarksFormConfig" :formOption="formOption" v-model="formData.remarksFormData" :rules="remarksRules" ref="remarksForm"
+              v-loading="formLoading">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="formData.remarksFormData.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.remarksFormData.fileList" :action="uploadUrl" :data="uploadData" multiple
+                       :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
@@ -387,52 +218,32 @@
       </byForm>
       <template #footer>
         <el-button @click="openRemarks = false" size="large">关 闭</el-button>
-        <el-button type="primary" @click="submitRemarks()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitRemarks()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
     <!-- 记录弹窗 -->
-    <el-dialog
-      :title="`备注记录`"
-      v-if="openRemarkRecords"
-      v-model="openRemarkRecords"
-      width="600"
-    >
+    <el-dialog :title="`备注记录`" v-if="openRemarkRecords" v-model="openRemarkRecords" width="600">
       <div style="padding-left: 50px; margin-bottom: 20px">
-        <el-button type="primary" @click="handleClickLookRemarks()"
-          >添加备注</el-button
-        >
+        <el-button type="primary" @click="handleClickLookRemarks()">添加备注</el-button>
       </div>
       <el-timeline>
-        <el-timeline-item
-          v-for="(activity, index) in remarkRecordsData"
-          :key="index"
-        >
-          <div
-            style="
+        <el-timeline-item v-for="(activity, index) in remarkRecordsData" :key="index">
+          <div style="
               width: 100%;
               display: flex;
               justify-content: space-between;
               color: #bfb9b9;
-            "
-          >
+            ">
             <div>{{ activity.createTime }}</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>
@@ -441,35 +252,17 @@
       </el-timeline>
 
       <template #footer>
-        <el-button @click="openRemarkRecords = false" size="large"
-          >关 闭</el-button
-        >
+        <el-button @click="openRemarkRecords = false" size="large">关 闭</el-button>
       </template>
     </el-dialog>
 
     <!-- 交接单、包装指示弹窗 -->
-    <el-dialog
-      :title="fileTitle"
-      v-if="openFiles"
-      v-model="openFiles"
-      width="600"
-    >
-      <byForm
-        :formConfig="filesFormConfig"
-        :formOption="formOption"
-        v-model="formData.filesFormData"
-      >
+    <el-dialog :title="fileTitle" v-if="openFiles" v-model="openFiles" width="600">
+      <byForm :formConfig="filesFormConfig" :formOption="formOption" v-model="formData.filesFormData">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="formData.filesFormData.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.filesFormData.fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain disabled>选择</el-button>
             </el-upload>
           </div>
@@ -481,42 +274,27 @@
     </el-dialog>
 
     <!-- 记录弹窗 -->
-    <el-dialog
-      :title="`(${selectNode.label})详情记录`"
-      v-if="openRecords"
-      v-model="openRecords"
-      width="600"
-    >
+    <el-dialog :title="`(${selectNode.label})详情记录`" v-if="openRecords" v-model="openRecords" width="600">
       <div style="padding-left: 50px; margin-bottom: 20px">
-        <el-button type="primary" @click="handleClickAddRecord()"
-          >添加记录</el-button
-        >
+        <el-button type="primary" @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>
@@ -530,73 +308,35 @@
     </el-dialog>
 
     <!-- 添加记录弹窗 -->
-    <el-dialog
-      :title="`添加记录(${selectNode.label})`"
-      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="`添加记录(${selectNode.label})`" 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 #typeSlot>
           <div style="width: 100%">
-            <el-select
-              v-model="formData.recordsFormData.content"
-              class="m-2"
-              placeholder="请选择"
-              v-if="selectNode.value == '6'"
-            >
+            <el-select v-model="formData.recordsFormData.content" class="m-2" placeholder="请选择" v-if="selectNode.value == '6'">
               <el-option label="通过" value="1" />
               <el-option label="未通过" value="0" />
             </el-select>
-            <el-select
-              v-model="formData.recordsFormData.content"
-              class="m-2"
-              placeholder="请选择"
-              v-if="selectNode.value == '8'"
-            >
+            <el-select v-model="formData.recordsFormData.content" class="m-2" placeholder="请选择" v-if="selectNode.value == '8'">
               <el-option label="收到" value="1" />
               <el-option label="未收到" value="0" />
             </el-select>
-            <el-date-picker
-              v-if="['10', '11', '12'].includes(selectNode.value)"
-              v-model="formData.recordsFormData.content"
-              type="date"
-              placeholder="请选择"
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-            />
+            <el-date-picker v-if="['10', '11', '12'].includes(selectNode.value)" v-model="formData.recordsFormData.content" type="date"
+                            placeholder="请选择" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
           </div>
         </template>
         <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="uploadUrl" :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>
   </div>

+ 4 - 5
src/components/process/EHSD/Contract.vue

@@ -398,17 +398,16 @@
       </template>
       <template #file>
         <div style="width: 100%">
-          <el-upload v-model:fileList="formData.data.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.data.fileList" :action="uploadUrl" :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="formData.data.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="formData.data.packageFileList" :action="uploadUrl" :data="indicationUploadData" multiple
+                     :before-upload="indicationUploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
             <el-button type="primary" plain>选择</el-button>
           </el-upload>
         </div>

+ 4 - 5
src/components/process/EHSD/ContractChange.vue

@@ -391,17 +391,16 @@
       </template>
       <template #file>
         <div style="width: 100%">
-          <el-upload v-model:fileList="formData.data.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.data.fileList" :action="uploadUrl" :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="formData.data.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="formData.data.packageFileList" :action="uploadUrl" :data="indicationUploadData" multiple
+                     :before-upload="indicationUploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
             <el-button type="primary" plain>选择</el-button>
           </el-upload>
         </div>

+ 2 - 2
src/components/process/EHSD/Purchase.vue

@@ -495,8 +495,8 @@
       <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="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>

+ 2 - 2
src/components/process/EHSD/PurchaseChange.vue

@@ -480,8 +480,8 @@
       <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="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>

+ 4 - 5
src/components/process/EHSD/Sample.vue

@@ -345,17 +345,16 @@
       </template>
       <template #file>
         <div style="width: 100%">
-          <el-upload v-model:fileList="formData.data.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.data.fileList" :action="uploadUrl" :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="formData.data.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="formData.data.packageFileList" :action="uploadUrl" :data="indicationUploadData" multiple
+                     :before-upload="indicationUploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
             <el-button type="primary" plain>选择</el-button>
           </el-upload>
         </div>

+ 4 - 5
src/components/process/EHSD/SampleChange.vue

@@ -338,17 +338,16 @@
       </template>
       <template #file>
         <div style="width: 100%">
-          <el-upload v-model:fileList="formData.data.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.data.fileList" :action="uploadUrl" :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="formData.data.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="formData.data.packageFileList" :action="uploadUrl" :data="indicationUploadData" multiple
+                     :before-upload="indicationUploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
             <el-button type="primary" plain>选择</el-button>
           </el-upload>
         </div>

+ 2 - 2
src/components/process/PurchasePayment.vue

@@ -35,8 +35,8 @@
       </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="uploadUrl" multiple :data="uploadData" :before-upload="uploadFile"
+                     :on-preview="onPreviewFile">
             <el-button>选择</el-button>
           </el-upload>
         </div>

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

@@ -81,8 +81,8 @@
           </el-form-item>
           <el-form-item label="上传附件">
             <div style="width: 100%">
-              <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData" multiple
-                         :before-upload="handleBeforeUpload" :on-success="handleSuccess" :on-preview="onPreviewFile">
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="handleBeforeUpload"
+                         :on-success="handleSuccess" :on-preview="onPreviewFile">
                 <el-button>选择</el-button>
               </el-upload>
             </div>

+ 2 - 3
src/components/product/SelectCompanyProduct.vue

@@ -63,9 +63,8 @@
           </template>
           <template #productPic>
             <div>
-              <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
-                         list-type="picture-card" :on-remove="handleRemove" :before-upload="handleBeforeUpload" :on-preview="handlePreview"
-                         accept=".gif, .jpeg, .jpg, .png">
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :before-upload="handleBeforeUpload" :on-preview="handlePreview" accept=".gif, .jpeg, .jpg, .png">
                 <el-icon>
                   <Plus />
                 </el-icon>

+ 2 - 3
src/components/product/SelectCustomerProduct.vue

@@ -72,9 +72,8 @@
           </template>
           <template #productPic>
             <div>
-              <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
-                         list-type="picture-card" :on-remove="handleRemove" :before-upload="handleBeforeUpload" :on-preview="handlePreview"
-                         accept=".gif, .jpeg, .jpg, .png">
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :before-upload="handleBeforeUpload" :on-preview="handlePreview" accept=".gif, .jpeg, .jpg, .png">
                 <el-icon>
                   <Plus />
                 </el-icon>

+ 2 - 2
src/components/product/SelectMaterial.vue

@@ -31,8 +31,8 @@
       <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #productPic>
           <div>
-            <el-upload v-model:fileList="fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
-                       list-type="picture-card" :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                       :on-success="handleSuccess" :before-upload="handleBeforeUpload">
               <el-icon>
                 <Plus />
               </el-icon>

+ 17 - 69
src/components/product/SelectProduct.vue

@@ -1,100 +1,48 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="产品分类"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="产品分类" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[]"
-        @get-list="getList"
-      >
+        }" :action-list="[]" @get-list="getList">
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加' : '编辑'"
-      v-model="dialogVisible"
-      width="500"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-model="dialogVisible" width="500" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #productPic>
           <div>
-            <el-upload
-              v-model:fileList="fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              list-type="picture-card"
-              :on-remove="handleRemove"
-              :on-success="handleSuccess"
-              :before-upload="handleBeforeUpload"
-            >
-              <el-icon><Plus /></el-icon>
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                       :on-success="handleSuccess" :before-upload="handleBeforeUpload">
+              <el-icon>
+                <Plus />
+              </el-icon>
             </el-upload>
           </div>
         </template>
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="Excel导入"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="loading"
-    >
+    <el-dialog title="Excel导入" v-model="openExcelDialog" width="400" v-loading="loading">
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitExcel()"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitExcel()" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 10 - 0
src/main.js

@@ -15,6 +15,15 @@ import store from './store'
 import router from './router'
 import directive from './directive' // directive
 
+// 全局文件上传地址
+let prefix =
+  window.location.protocol.indexOf("https") >= 0 ? "https://" : "http://";
+const uploadUrl =
+  prefix +
+  import.meta.env.VITE_APP_UPLOAD_API +
+  import.meta.env.VITE_APP_UPLOAD_BASE_API + '/open/fileInfo/upload'
+console.log(uploadUrl, 'ssssssssss');
+
 // 注册指令
 import plugins from './plugins' // plugins
 import {
@@ -88,6 +97,7 @@ import print from "vue3-print-nb"
 const app = createApp(App)
 console.log(i18n.global.t('login.welcomeToLogin'))
 // 全局方法挂载
+app.config.globalProperties.uploadUrl = uploadUrl
 app.config.globalProperties.useDict = useDict
 app.config.globalProperties.get = get
 app.config.globalProperties.post = post

+ 253 - 186
src/views/EHSD/procurement/InspectionGoodsEHSD/index.vue

@@ -1,13 +1,7 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      :selectConfig="selectConfig"
-      highlight-current-row
-      @get-list="getList">
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+             highlight-current-row @get-list="getList">
       <template #amount="{ item }">
         <div>
           <span style="padding-right: 4px">{{ item.currency }}</span>
@@ -19,13 +13,8 @@
     <el-dialog title="质检" v-if="openInspection" v-model="openInspection" width="90%">
       <div style="width: 100%">
         <el-steps align-center>
-          <el-step
-            v-for="(item, index) in steps"
-            :key="index"
-            :title="item.label"
-            style="cursor: pointer"
-            :status="getStepStatus(item)"
-            @click="clickSteps(item.value)" />
+          <el-step v-for="(item, index) in steps" :key="index" :title="item.label" style="cursor: pointer" :status="getStepStatus(item)"
+                   @click="clickSteps(item.value)" />
         </el-steps>
         <div v-show="selectSteps === 1" style="width: 100%">
           <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit1">
@@ -82,7 +71,8 @@
                     <el-table-column>
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'inspectionSummaryList.' + $index + '.summaryLabel'" :rules="rules.summaryLabel" :inline-message="true">
+                          <el-form-item :prop="'inspectionSummaryList.' + $index + '.summaryLabel'" :rules="rules.summaryLabel"
+                                        :inline-message="true">
                             <el-input v-model="row.summaryLabel" />
                           </el-form-item>
                         </div>
@@ -91,7 +81,8 @@
                     <el-table-column>
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'inspectionSummaryList.' + $index + '.summaryValue'" :rules="rules.summaryValue" :inline-message="true">
+                          <el-form-item :prop="'inspectionSummaryList.' + $index + '.summaryValue'" :rules="rules.summaryValue"
+                                        :inline-message="true">
                             <el-radio-group v-model="row.summaryValue" class="ml-4">
                               <el-radio v-for="(item, index) in summaryType" :key="index" :label="item.label"></el-radio>
                             </el-radio-group>
@@ -211,15 +202,11 @@
                   </el-table>
                 </div>
                 <el-form-item label="Sample Collection Record" style="margin-top: 20px">
-                  <el-upload
-                    v-model:fileList="fileListOne"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataOne"
-                    multiple
-                    list-type="picture-card"
-                    :before-upload="uploadFileOne"
-                    accept=".gif, .jpeg, .jpg, .png">
-                    <el-icon><Plus /></el-icon>
+                  <el-upload v-model:fileList="fileListOne" :action="uploadUrl" :data="uploadDataOne" multiple list-type="picture-card"
+                             :before-upload="uploadFileOne" accept=".gif, .jpeg, .jpg, .png">
+                    <el-icon>
+                      <Plus />
+                    </el-icon>
                     <template #file="{ file }">
                       <div>
                         <div>
@@ -229,7 +216,9 @@
                               <el-icon><zoom-in /></el-icon>
                             </span>
                             <span class="el-upload-list__item-delete" @click="onRemoveOne(file)">
-                              <el-icon><Delete /></el-icon>
+                              <el-icon>
+                                <Delete />
+                              </el-icon>
                             </span>
                           </span>
                           <el-button type="primary" @click="clickFileRemark(file, 1)" text>Remark</el-button>
@@ -280,7 +269,8 @@
                       <el-table-column label="Order Cartons" width="150">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.orderCartons'" :rules="rules.orderCartons" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.orderCartons'" :rules="rules.orderCartons"
+                                          :inline-message="true">
                               <el-input-number onmousewheel="return false;" v-model="row.orderCartons" :precision="0" :controls="false" :min="0" />
                             </el-form-item>
                           </div>
@@ -320,7 +310,8 @@
                       <el-table-column label="Packed" width="150">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.samplePacked'" :rules="rules.samplePacked" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.samplePacked'" :rules="rules.samplePacked"
+                                          :inline-message="true">
                               <el-input-number onmousewheel="return false;" v-model="row.samplePacked" :precision="0" :controls="false" :min="0" />
                             </el-form-item>
                           </div>
@@ -329,7 +320,8 @@
                       <el-table-column label="Unpacked" width="150">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.sampleUnpacked'" :rules="rules.sampleUnpacked" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityProductList.' + $index + '.sampleUnpacked'" :rules="rules.sampleUnpacked"
+                                          :inline-message="true">
                               <el-input-number onmousewheel="return false;" v-model="row.sampleUnpacked" :precision="0" :controls="false" :min="0" />
                             </el-form-item>
                           </div>
@@ -347,7 +339,8 @@
                       <el-table-column label="Carton Number" width="160">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityCartonsList.' + index + '.cartonNumber'" :rules="rules.cartonNumber" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityCartonsList.' + index + '.cartonNumber'" :rules="rules.cartonNumber"
+                                          :inline-message="true">
                               <el-input-number onmousewheel="return false;" v-model="item.cartonNumber" :precision="0" :controls="false" :min="0" />
                             </el-form-item>
                           </div>
@@ -372,7 +365,8 @@
                 <div style="margin-top: 20px">Workmanship Defectives / Function Inspection Findings</div>
                 <div>
                   <el-button type="primary" @click="clickWorkShipAdd()" plain>添加行</el-button>
-                  <el-table :data="formData.data.ehsdQualityWorkshipList" style="width: 100%; margin-top: 16px" show-summary :summary-method="getSummaries">
+                  <el-table :data="formData.data.ehsdQualityWorkshipList" style="width: 100%; margin-top: 16px" show-summary
+                            :summary-method="getSummaries">
                     <el-table-column label="#" width="50">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
@@ -383,7 +377,8 @@
                     <el-table-column label="Description">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'ehsdQualityWorkshipList.' + $index + '.description'" :rules="rules.description" :inline-message="true">
+                          <el-form-item :prop="'ehsdQualityWorkshipList.' + $index + '.description'" :rules="rules.description"
+                                        :inline-message="true">
                             <el-input v-model="row.description" />
                           </el-form-item>
                         </div>
@@ -424,15 +419,11 @@
                   </el-table>
                 </div>
                 <el-form-item label="Defect photos of Items" style="margin-top: 20px">
-                  <el-upload
-                    v-model:fileList="fileListTwo"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataTwo"
-                    multiple
-                    list-type="picture-card"
-                    :before-upload="uploadFileTwo"
-                    accept=".gif, .jpeg, .jpg, .png">
-                    <el-icon><Plus /></el-icon>
+                  <el-upload v-model:fileList="fileListTwo" :action="uploadUrl" :data="uploadDataTwo" multiple list-type="picture-card"
+                             :before-upload="uploadFileTwo" accept=".gif, .jpeg, .jpg, .png">
+                    <el-icon>
+                      <Plus />
+                    </el-icon>
                     <template #file="{ file }">
                       <div>
                         <div>
@@ -442,7 +433,9 @@
                               <el-icon><zoom-in /></el-icon>
                             </span>
                             <span class="el-upload-list__item-delete" @click="onRemoveTwo(file)">
-                              <el-icon><Delete /></el-icon>
+                              <el-icon>
+                                <Delete />
+                              </el-icon>
                             </span>
                           </span>
                           <el-button type="primary" @click="clickFileRemark(file, 2)" text>Remark</el-button>
@@ -473,7 +466,8 @@
                     <el-table-column label="Description" min-width="160">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'ehsdQualitySiteTestList.' + $index + '.description'" :rules="rules.description" :inline-message="true">
+                          <el-form-item :prop="'ehsdQualitySiteTestList.' + $index + '.description'" :rules="rules.description"
+                                        :inline-message="true">
                             <el-input v-model="row.description" :rows="4" type="textarea" />
                           </el-form-item>
                         </div>
@@ -531,15 +525,11 @@
                   </el-col>
                 </el-row>
                 <el-form-item label="Photos" style="margin-top: 20px">
-                  <el-upload
-                    v-model:fileList="fileListThree"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataThree"
-                    multiple
-                    list-type="picture-card"
-                    :before-upload="uploadFileThree"
-                    accept=".gif, .jpeg, .jpg, .png">
-                    <el-icon><Plus /></el-icon>
+                  <el-upload v-model:fileList="fileListThree" :action="uploadUrl" :data="uploadDataThree" multiple list-type="picture-card"
+                             :before-upload="uploadFileThree" accept=".gif, .jpeg, .jpg, .png">
+                    <el-icon>
+                      <Plus />
+                    </el-icon>
                     <template #file="{ file }">
                       <div>
                         <div>
@@ -549,7 +539,9 @@
                               <el-icon><zoom-in /></el-icon>
                             </span>
                             <span class="el-upload-list__item-delete" @click="onRemoveThree(file)">
-                              <el-icon><Delete /></el-icon>
+                              <el-icon>
+                                <Delete />
+                              </el-icon>
                             </span>
                           </span>
                           <el-button type="primary" @click="clickFileRemark(file, 3)" text>Remark</el-button>
@@ -581,7 +573,8 @@
                     <el-table-column label="Ref. Sample" width="180">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSample'" :rules="rules.refSample" :inline-message="true">
+                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSample'" :rules="rules.refSample"
+                                        :inline-message="true">
                             <el-input v-model="row.refSample" />
                           </el-form-item>
                         </div>
@@ -590,7 +583,8 @@
                     <el-table-column label="1# Sample" width="180">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSampleOne'" :rules="rules.refSampleOne" :inline-message="true">
+                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSampleOne'" :rules="rules.refSampleOne"
+                                        :inline-message="true">
                             <el-input v-model="row.refSampleOne" />
                           </el-form-item>
                         </div>
@@ -599,7 +593,8 @@
                     <el-table-column label="2# Sample" width="180">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSampleTwo'" :rules="rules.refSampleTwo" :inline-message="true">
+                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSampleTwo'" :rules="rules.refSampleTwo"
+                                        :inline-message="true">
                             <el-input v-model="row.refSampleTwo" />
                           </el-form-item>
                         </div>
@@ -608,10 +603,8 @@
                     <el-table-column label="3# Sample" width="180">
                       <template #default="{ row, $index }">
                         <div style="width: 100%">
-                          <el-form-item
-                            :prop="'ehsdQualityProductColorList.' + $index + '.refSampleThree'"
-                            :rules="rules.refSampleThree"
-                            :inline-message="true">
+                          <el-form-item :prop="'ehsdQualityProductColorList.' + $index + '.refSampleThree'" :rules="rules.refSampleThree"
+                                        :inline-message="true">
                             <el-input v-model="row.refSampleThree" />
                           </el-form-item>
                         </div>
@@ -658,7 +651,8 @@
                       <el-table-column label="Actual" width="180">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonActual'" :rules="rules.cartonActual" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonActual'" :rules="rules.cartonActual"
+                                          :inline-message="true">
                               <el-input v-model="row.cartonActual" />
                             </el-form-item>
                           </div>
@@ -669,7 +663,8 @@
                       <el-table-column label="Marking/Spec." width="160">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonSizeSpec'" :rules="rules.cartonSizeSpec" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonSizeSpec'" :rules="rules.cartonSizeSpec"
+                                          :inline-message="true">
                               <el-input v-model="row.cartonSizeSpec" />
                             </el-form-item>
                           </div>
@@ -678,7 +673,8 @@
                       <el-table-column label="Actual" width="180">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonSizeActual'" :rules="rules.cartonSizeActual" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.cartonSizeActual'" :rules="rules.cartonSizeActual"
+                                          :inline-message="true">
                               <el-input v-model="row.cartonSizeActual" />
                             </el-form-item>
                           </div>
@@ -689,7 +685,8 @@
                       <el-table-column label="Marking/Spec." width="160">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.grossWeightSpec'" :rules="rules.grossWeightSpec" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.grossWeightSpec'" :rules="rules.grossWeightSpec"
+                                          :inline-message="true">
                               <el-input v-model="row.grossWeightSpec" />
                             </el-form-item>
                           </div>
@@ -698,10 +695,8 @@
                       <el-table-column label="Actual" width="180">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item
-                              :prop="'ehsdQualityPackList.' + $index + '.grossWeightActual'"
-                              :rules="rules.grossWeightActual"
-                              :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.grossWeightActual'" :rules="rules.grossWeightActual"
+                                          :inline-message="true">
                               <el-input v-model="row.grossWeightActual" />
                             </el-form-item>
                           </div>
@@ -712,7 +707,8 @@
                       <el-table-column label="Marking/Spec." width="160">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.innerBoxSpec'" :rules="rules.innerBoxSpec" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.innerBoxSpec'" :rules="rules.innerBoxSpec"
+                                          :inline-message="true">
                               <el-input v-model="row.innerBoxSpec" />
                             </el-form-item>
                           </div>
@@ -721,7 +717,8 @@
                       <el-table-column label="Actual" width="180">
                         <template #default="{ row, $index }">
                           <div style="width: 100%">
-                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.innerBoxActual'" :rules="rules.innerBoxActual" :inline-message="true">
+                            <el-form-item :prop="'ehsdQualityPackList.' + $index + '.innerBoxActual'" :rules="rules.innerBoxActual"
+                                          :inline-message="true">
                               <el-input v-model="row.innerBoxActual" />
                             </el-form-item>
                           </div>
@@ -806,20 +803,13 @@
               <div style="width: 100%">
                 <div style="margin-top: 20px">SUPPORT DOCUMENTATION</div>
                 <el-form-item label="Video" required>
-                  <el-upload
-                    class="avatar-uploader"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataFour"
-                    :show-file-list="false"
-                    :on-success="onSuccess"
-                    :before-upload="uploadFileFour"
-                    accept=".mp4">
-                    <video
-                      v-if="formData.data.supportDocumentationFileList && formData.data.supportDocumentationFileList.length > 0"
-                      :src="formData.data.supportDocumentationFileList[0].fileUrl"
-                      style="width: 300px; height: 300px"
-                      controls></video>
-                    <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+                  <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadDataFour" :show-file-list="false" :on-success="onSuccess"
+                             :before-upload="uploadFileFour" accept=".mp4">
+                    <video v-if="formData.data.supportDocumentationFileList && formData.data.supportDocumentationFileList.length > 0"
+                           :src="formData.data.supportDocumentationFileList[0].fileUrl" style="width: 300px; height: 300px" controls></video>
+                    <el-icon v-else class="avatar-uploader-icon">
+                      <Plus />
+                    </el-icon>
                   </el-upload>
                 </el-form-item>
               </div>
@@ -1113,8 +1103,12 @@ const rules = ref({
   siteTestRemark: [{ required: true, message: "请输入", trigger: "blur" }],
   passed: [{ required: true, message: "请输入", trigger: "blur" }],
   failed: [{ required: true, message: "请输入", trigger: "blur" }],
-  productSpecificationResult: [{ required: true, message: "请选择", trigger: "change" }],
-  productSpecificationRemark: [{ required: true, message: "请输入", trigger: "blur" }],
+  productSpecificationResult: [
+    { required: true, message: "请选择", trigger: "change" },
+  ],
+  productSpecificationRemark: [
+    { required: true, message: "请输入", trigger: "blur" },
+  ],
   cartonSpec: [{ required: true, message: "请输入", trigger: "blur" }],
   cartonActual: [{ required: true, message: "请输入", trigger: "blur" }],
   cartonSizeSpec: [{ required: true, message: "请输入", trigger: "blur" }],
@@ -1299,50 +1293,75 @@ const clickInspectionTwo = (row) => {
   proxy.post("/ehsdQuality/detail", { id: row.id }).then((res) => {
     formData.data = res;
     if (formData.data.inspectionSummary) {
-      formData.data.inspectionSummaryList = JSON.parse(formData.data.inspectionSummary);
+      formData.data.inspectionSummaryList = JSON.parse(
+        formData.data.inspectionSummary
+      );
     }
     if (formData.data.shippingMarks) {
       formData.data.shippingMarksList = JSON.parse(formData.data.shippingMarks);
     }
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 10 }).then((fileObj) => {
-      formData.data.sampleCollectionRecordFileList = fileObj[res.id] || [];
-      if (formData.data.sampleCollectionRecordFileList && formData.data.sampleCollectionRecordFileList.length > 0) {
-        fileListOne.value = formData.data.sampleCollectionRecordFileList.map((item) => {
-          return {
-            raw: item,
-            name: item.fileName,
-            url: item.fileUrl,
-          };
-        });
-      }
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 20 }).then((fileObj) => {
-      formData.data.workshipPhotoFileList = fileObj[res.id] || [];
-      if (formData.data.workshipPhotoFileList && formData.data.workshipPhotoFileList.length > 0) {
-        fileListTwo.value = formData.data.workshipPhotoFileList.map((item) => {
-          return {
-            raw: item,
-            name: item.fileName,
-            url: item.fileUrl,
-          };
-        });
-      }
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 30 }).then((fileObj) => {
-      formData.data.defectPhotosOfItemsFileList = fileObj[res.id] || [];
-      if (formData.data.defectPhotosOfItemsFileList && formData.data.defectPhotosOfItemsFileList.length > 0) {
-        fileListThree.value = formData.data.defectPhotosOfItemsFileList.map((item) => {
-          return {
-            raw: item,
-            name: item.fileName,
-            url: item.fileUrl,
-          };
-        });
-      }
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 40 }).then((fileObj) => {
-      formData.data.supportDocumentationFileList = fileObj[res.id] || [];
-    });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 10 })
+      .then((fileObj) => {
+        formData.data.sampleCollectionRecordFileList = fileObj[res.id] || [];
+        if (
+          formData.data.sampleCollectionRecordFileList &&
+          formData.data.sampleCollectionRecordFileList.length > 0
+        ) {
+          fileListOne.value = formData.data.sampleCollectionRecordFileList.map(
+            (item) => {
+              return {
+                raw: item,
+                name: item.fileName,
+                url: item.fileUrl,
+              };
+            }
+          );
+        }
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 20 })
+      .then((fileObj) => {
+        formData.data.workshipPhotoFileList = fileObj[res.id] || [];
+        if (
+          formData.data.workshipPhotoFileList &&
+          formData.data.workshipPhotoFileList.length > 0
+        ) {
+          fileListTwo.value = formData.data.workshipPhotoFileList.map(
+            (item) => {
+              return {
+                raw: item,
+                name: item.fileName,
+                url: item.fileUrl,
+              };
+            }
+          );
+        }
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 30 })
+      .then((fileObj) => {
+        formData.data.defectPhotosOfItemsFileList = fileObj[res.id] || [];
+        if (
+          formData.data.defectPhotosOfItemsFileList &&
+          formData.data.defectPhotosOfItemsFileList.length > 0
+        ) {
+          fileListThree.value = formData.data.defectPhotosOfItemsFileList.map(
+            (item) => {
+              return {
+                raw: item,
+                name: item.fileName,
+                url: item.fileUrl,
+              };
+            }
+          );
+        }
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 40 })
+      .then((fileObj) => {
+        formData.data.supportDocumentationFileList = fileObj[res.id] || [];
+      });
   });
 };
 const clickSteps = (val) => {
@@ -1411,25 +1430,30 @@ const submitFollow = async (status) => {
       selectSteps.value = 11;
       return ElMessage("SUPPORT DOCUMENTATION填写不正确");
     }
-    formData.data.inspectionSummary = JSON.stringify(formData.data.inspectionSummaryList);
+    formData.data.inspectionSummary = JSON.stringify(
+      formData.data.inspectionSummaryList
+    );
     if (fileListOne.value && fileListOne.value.length > 0) {
-      formData.data.sampleCollectionRecordFileList = fileListOne.value.map((item) => {
-        return {
-          id: item.raw.id,
-          fileName: item.raw.fileName,
-          fileUrl: item.raw.fileUrl,
-          remark: item.raw.remark,
-        };
-      });
+      formData.data.sampleCollectionRecordFileList = fileListOne.value.map(
+        (item) => {
+          return {
+            id: item.raw.id,
+            fileName: item.raw.fileName,
+            fileUrl: item.raw.fileUrl,
+            remark: item.raw.remark,
+          };
+        }
+      );
     } else {
       formData.data.sampleCollectionRecordFileList = [];
     }
-    formData.data.ehsdQualityCartonsList = formData.data.ehsdQualityCartonsList.map((item) => {
-      return {
-        ...item,
-        total: formData.data.ehsdQualityCartonsList.length,
-      };
-    });
+    formData.data.ehsdQualityCartonsList =
+      formData.data.ehsdQualityCartonsList.map((item) => {
+        return {
+          ...item,
+          total: formData.data.ehsdQualityCartonsList.length,
+        };
+      });
     if (fileListTwo.value && fileListTwo.value.length > 0) {
       formData.data.workshipPhotoFileList = fileListTwo.value.map((item) => {
         return {
@@ -1443,19 +1467,28 @@ const submitFollow = async (status) => {
       formData.data.workshipPhotoFileList = [];
     }
     if (fileListThree.value && fileListThree.value.length > 0) {
-      formData.data.defectPhotosOfItemsFileList = fileListThree.value.map((item) => {
-        return {
-          id: item.raw.id,
-          fileName: item.raw.fileName,
-          fileUrl: item.raw.fileUrl,
-          remark: item.raw.remark,
-        };
-      });
+      formData.data.defectPhotosOfItemsFileList = fileListThree.value.map(
+        (item) => {
+          return {
+            id: item.raw.id,
+            fileName: item.raw.fileName,
+            fileUrl: item.raw.fileUrl,
+            remark: item.raw.remark,
+          };
+        }
+      );
     } else {
       formData.data.defectPhotosOfItemsFileList = [];
     }
-    formData.data.shippingMarks = JSON.stringify(formData.data.shippingMarksList);
-    if (!(formData.data.supportDocumentationFileList && formData.data.supportDocumentationFileList.length > 0)) {
+    formData.data.shippingMarks = JSON.stringify(
+      formData.data.shippingMarksList
+    );
+    if (
+      !(
+        formData.data.supportDocumentationFileList &&
+        formData.data.supportDocumentationFileList.length > 0
+      )
+    ) {
       return ElMessage("请上传视频");
     }
     formData.data.step = "1,2,3,4,5,6,7,8,9,10,11";
@@ -1468,25 +1501,30 @@ const submitFollow = async (status) => {
       openInspection.value = false;
     });
   } else {
-    formData.data.inspectionSummary = JSON.stringify(formData.data.inspectionSummaryList);
+    formData.data.inspectionSummary = JSON.stringify(
+      formData.data.inspectionSummaryList
+    );
     if (fileListOne.value && fileListOne.value.length > 0) {
-      formData.data.sampleCollectionRecordFileList = fileListOne.value.map((item) => {
-        return {
-          id: item.raw.id,
-          fileName: item.raw.fileName,
-          fileUrl: item.raw.fileUrl,
-          remark: item.raw.remark,
-        };
-      });
+      formData.data.sampleCollectionRecordFileList = fileListOne.value.map(
+        (item) => {
+          return {
+            id: item.raw.id,
+            fileName: item.raw.fileName,
+            fileUrl: item.raw.fileUrl,
+            remark: item.raw.remark,
+          };
+        }
+      );
     } else {
       formData.data.sampleCollectionRecordFileList = [];
     }
-    formData.data.ehsdQualityCartonsList = formData.data.ehsdQualityCartonsList.map((item) => {
-      return {
-        ...item,
-        total: formData.data.ehsdQualityCartonsList.length,
-      };
-    });
+    formData.data.ehsdQualityCartonsList =
+      formData.data.ehsdQualityCartonsList.map((item) => {
+        return {
+          ...item,
+          total: formData.data.ehsdQualityCartonsList.length,
+        };
+      });
     if (fileListTwo.value && fileListTwo.value.length > 0) {
       formData.data.workshipPhotoFileList = fileListTwo.value.map((item) => {
         return {
@@ -1500,18 +1538,22 @@ const submitFollow = async (status) => {
       formData.data.workshipPhotoFileList = [];
     }
     if (fileListThree.value && fileListThree.value.length > 0) {
-      formData.data.defectPhotosOfItemsFileList = fileListThree.value.map((item) => {
-        return {
-          id: item.raw.id,
-          fileName: item.raw.fileName,
-          fileUrl: item.raw.fileUrl,
-          remark: item.raw.remark,
-        };
-      });
+      formData.data.defectPhotosOfItemsFileList = fileListThree.value.map(
+        (item) => {
+          return {
+            id: item.raw.id,
+            fileName: item.raw.fileName,
+            fileUrl: item.raw.fileUrl,
+            remark: item.raw.remark,
+          };
+        }
+      );
     } else {
       formData.data.defectPhotosOfItemsFileList = [];
     }
-    formData.data.shippingMarks = JSON.stringify(formData.data.shippingMarksList);
+    formData.data.shippingMarks = JSON.stringify(
+      formData.data.shippingMarksList
+    );
     proxy.post("/ehsdQuality/submit", formData.data).then(() => {
       ElMessage({
         message: "暂存成功",
@@ -1521,7 +1563,10 @@ const submitFollow = async (status) => {
   }
 };
 const clickAdd = () => {
-  if (formData.data.inspectionSummaryList && formData.data.inspectionSummaryList.length > 0) {
+  if (
+    formData.data.inspectionSummaryList &&
+    formData.data.inspectionSummaryList.length > 0
+  ) {
     formData.data.inspectionSummaryList.push({
       summaryLabel: "",
       summaryValue: "Passed",
@@ -1539,7 +1584,9 @@ const handleDelete = (index) => {
   formData.data.inspectionSummaryList.splice(index, 1);
 };
 const changeAqlResult = () => {
-  let data = formData.data.ehsdQualityAqlList.filter((item) => item.aqlResult === 0);
+  let data = formData.data.ehsdQualityAqlList.filter(
+    (item) => item.aqlResult === 0
+  );
   if (data && data.length === 3) {
     formData.data.summaryResult = 0;
   } else {
@@ -1547,7 +1594,10 @@ const changeAqlResult = () => {
   }
 };
 const clickProblemAdd = () => {
-  if (formData.data.ehsdQualityProblemList && formData.data.ehsdQualityProblemList.length > 0) {
+  if (
+    formData.data.ehsdQualityProblemList &&
+    formData.data.ehsdQualityProblemList.length > 0
+  ) {
     formData.data.ehsdQualityProblemList.push({
       remark: "",
     });
@@ -1577,7 +1627,9 @@ const uploadFileOne = async (file) => {
   return true;
 };
 const onRemoveOne = (file) => {
-  fileListOne.value = fileListOne.value.filter((item) => item.raw.fileUrl !== file.raw.fileUrl);
+  fileListOne.value = fileListOne.value.filter(
+    (item) => item.raw.fileUrl !== file.raw.fileUrl
+  );
 };
 const fileListTwo = ref([]);
 const uploadDataTwo = ref({});
@@ -1591,7 +1643,9 @@ const uploadFileTwo = async (file) => {
   return true;
 };
 const onRemoveTwo = (file) => {
-  fileListTwo.value = fileListTwo.value.filter((item) => item.raw.fileUrl !== file.raw.fileUrl);
+  fileListTwo.value = fileListTwo.value.filter(
+    (item) => item.raw.fileUrl !== file.raw.fileUrl
+  );
 };
 const fileListThree = ref([]);
 const uploadDataThree = ref({});
@@ -1605,7 +1659,9 @@ const uploadFileThree = async (file) => {
   return true;
 };
 const onRemoveThree = (file) => {
-  fileListThree.value = fileListThree.value.filter((item) => item.raw.fileUrl !== file.raw.fileUrl);
+  fileListThree.value = fileListThree.value.filter(
+    (item) => item.raw.fileUrl !== file.raw.fileUrl
+  );
 };
 const uploadDataFour = ref({});
 const uploadFileFour = async (file) => {
@@ -1698,7 +1754,10 @@ const changeClass = ({ row, rowIndex }) => {
   }
 };
 const clickWorkShipAdd = () => {
-  if (formData.data.ehsdQualityWorkshipList && formData.data.ehsdQualityWorkshipList.length > 0) {
+  if (
+    formData.data.ehsdQualityWorkshipList &&
+    formData.data.ehsdQualityWorkshipList.length > 0
+  ) {
     formData.data.ehsdQualityWorkshipList.push({
       description: "",
       remark: "",
@@ -1763,7 +1822,10 @@ const getSummaries = (param) => {
   return sums;
 };
 const clickSiteTestAdd = () => {
-  if (formData.data.ehsdQualitySiteTestList && formData.data.ehsdQualitySiteTestList.length > 0) {
+  if (
+    formData.data.ehsdQualitySiteTestList &&
+    formData.data.ehsdQualitySiteTestList.length > 0
+  ) {
     formData.data.ehsdQualitySiteTestList.push({
       description: "",
       sampleSize: undefined,
@@ -1786,7 +1848,9 @@ const clickSiteTestAdd = () => {
   }
 };
 const changeSiteTestResult = () => {
-  let data = formData.data.ehsdQualitySiteTestList.filter((item) => item.result === 0);
+  let data = formData.data.ehsdQualitySiteTestList.filter(
+    (item) => item.result === 0
+  );
   if (data && data.length === formData.data.ehsdQualitySiteTestList.length) {
     formData.data.siteTestResult = 0;
   } else {
@@ -1794,7 +1858,10 @@ const changeSiteTestResult = () => {
   }
 };
 const clickMarkingAdd = () => {
-  if (formData.data.markingDetailList && formData.data.markingDetailList.length > 0) {
+  if (
+    formData.data.markingDetailList &&
+    formData.data.markingDetailList.length > 0
+  ) {
     formData.data.markingDetailList.push({
       name: "",
       result: "",

+ 23 - 96
src/views/EHSD/productLibrary/companyProduct/index.vue

@@ -1,29 +1,16 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="产品分类"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="产品分类" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           props.selectStatus
             ? {}
             : {
@@ -38,25 +25,15 @@
                 action: () => openModal('add'),
                 disabled: false,
               },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #name="{ item }">
           <div>
-            <span
-              style="color: #409eff; cursor: pointer; word-break: break-all"
-              @click="handleOpenProductContract(item)"
-              >{{ item.name }}</span
-            >
+            <span style="color: #409eff; cursor: pointer; word-break: break-all" @click="handleOpenProductContract(item)">{{ item.name }}</span>
           </div>
         </template>
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
@@ -74,54 +51,30 @@
         </template>
         <template #costPrice="{ item }">
           <div>
-            <span v-if="item.costPrice"
-              >{{ item.costCurrency }} {{ item.costPrice }}</span
-            >
+            <span v-if="item.costPrice">{{ item.costCurrency }} {{ item.costPrice }}</span>
           </div>
         </template>
       </byTable>
     </div>
 
-    <el-dialog
-      :title="modalType == 'add' ? '添加产品' : '编辑产品'"
-      v-model="dialogVisible"
-      width="700"
-      v-loading="submitLoading"
-      destroy-on-close
-    >
+    <el-dialog :title="modalType == 'add' ? '添加产品' : '编辑产品'" v-model="dialogVisible" width="700" v-loading="submitLoading" destroy-on-close>
       <div class="public_height_dialog">
-        <byForm
-          :formConfig="formConfig"
-          :formOption="formOption"
-          v-model="formData.data"
-          :rules="rules"
-          ref="byform"
-        >
+        <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
           <template #nameEnglish>
             <div style="width: 100%">
               <el-form-item label="英文名" prop="nameEnglish">
-                <el-input
-                  v-model="formData.data.nameEnglish"
-                  placeholder="请输入"
-                  onkeyup="value=value.replace(/[^\x00-\xff]/g, '')"
-                ></el-input>
+                <el-input v-model="formData.data.nameEnglish" placeholder="请输入" onkeyup="value=value.replace(/[^\x00-\xff]/g, '')"></el-input>
                 <!-- @input="(val) => handleKeyup(val)" -->
               </el-form-item>
             </div>
           </template>
           <template #productPic>
             <div>
-              <el-upload
-                v-model:fileList="fileList"
-                action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                :data="uploadData"
-                list-type="picture-card"
-                :on-remove="handleRemove"
-                :before-upload="handleBeforeUpload"
-                :on-preview="handlePreview"
-                accept=".gif, .jpeg, .jpg, .png"
-              >
-                <el-icon><Plus /></el-icon>
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :before-upload="handleBeforeUpload" :on-preview="handlePreview" accept=".gif, .jpeg, .jpg, .png">
+                <el-icon>
+                  <Plus />
+                </el-icon>
               </el-upload>
             </div>
           </template>
@@ -129,47 +82,21 @@
       </div>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">确 定</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="导入产品"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="excelLoading"
-    >
-      <el-upload
-        :action="actionUrl + '/productInfo/excelImportByEhsd'"
-        :headers="headers"
-        :on-success="handleSuccess"
-        :on-progress="handleProgress"
-        :show-file-list="false"
-        :on-error="handleError"
-        accept=".xlsx"
-      >
+    <el-dialog title="导入产品" v-model="openExcelDialog" width="400" v-loading="excelLoading">
+      <el-upload :action="actionUrl + '/productInfo/excelImportByEhsd'" :headers="headers" :on-success="handleSuccess" :on-progress="handleProgress"
+                 :show-file-list="false" :on-error="handleError" accept=".xlsx">
         <el-button type="primary">点击导入</el-button>
       </el-upload>
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      v-if="productContractDialog"
-      v-model="productContractDialog"
-      :title="'外销合同'"
-      width="80%"
-      append-to-body
-    >
+    <el-dialog v-if="productContractDialog" v-model="productContractDialog" :title="'外销合同'" width="80%" append-to-body>
       <ProductContract :currentProductId="currentProductId"></ProductContract>
     </el-dialog>
   </div>

+ 26 - 114
src/views/EHSD/productLibrary/customerProduct/index.vue

@@ -1,29 +1,16 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="产品分类"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="产品分类" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           props.selectStatus
             ? {}
             : {
@@ -38,25 +25,15 @@
                 action: () => openModal('add'),
                 disabled: false,
               },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #name="{ item }">
           <div>
-            <span
-              style="color: #409eff; cursor: pointer; word-break: break-all"
-              @click="handleOpenProductContract(item)"
-              >{{ item.name }}</span
-            >
+            <span style="color: #409eff; cursor: pointer; word-break: break-all" @click="handleOpenProductContract(item)">{{ item.name }}</span>
           </div>
         </template>
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
@@ -74,48 +51,19 @@
         </template>
         <template #costPrice="{ item }">
           <div>
-            <span v-if="item.costPrice"
-              >{{ item.costCurrency }} {{ item.costPrice }}</span
-            >
+            <span v-if="item.costPrice">{{ item.costCurrency }} {{ item.costPrice }}</span>
           </div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加产品' : '编辑产品'"
-      v-model="dialogVisible"
-      width="700"
-      v-loading="submitLoading"
-      destroy-on-close
-    >
+    <el-dialog :title="modalType == 'add' ? '添加产品' : '编辑产品'" v-model="dialogVisible" width="700" v-loading="submitLoading" destroy-on-close>
       <div class="public_height_dialog">
-        <byForm
-          :formConfig="formConfig"
-          :formOption="formOption"
-          v-model="formData.data"
-          :rules="rules"
-          ref="byform"
-        >
+        <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
           <template #customerId>
             <div>
-              <el-select
-                v-model="formData.data.customerId"
-                filterable
-                remote
-                reserve-keyword
-                placeholder="请输入关键字"
-                remote-show-suffix
-                :remote-method="remoteMethod"
-                :loading="loadingSearch"
-                @input="remoteMethod"
-                v-if="modalType == 'add'"
-              >
-                <el-option
-                  v-for="item in customerData"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                />
+              <el-select v-model="formData.data.customerId" filterable remote reserve-keyword placeholder="请输入关键字" remote-show-suffix
+                         :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" v-if="modalType == 'add'">
+                <el-option v-for="item in customerData" :key="item.value" :label="item.label" :value="item.value" />
               </el-select>
               <el-select v-model="formData.data.customerName" disabled v-else>
               </el-select>
@@ -124,28 +72,18 @@
           <template #nameEnglish>
             <div style="width: 100%">
               <el-form-item label="英文名" prop="nameEnglish">
-                <el-input
-                  v-model="formData.data.nameEnglish"
-                  placeholder="请输入"
-                  onkeyup="value=value.replace(/[^\x00-\xff]/g, '')"
-                ></el-input>
+                <el-input v-model="formData.data.nameEnglish" placeholder="请输入" onkeyup="value=value.replace(/[^\x00-\xff]/g, '')"></el-input>
                 <!-- @input="(val) => handleKeyup(val)" -->
               </el-form-item>
             </div>
           </template>
           <template #productPic>
             <div>
-              <el-upload
-                v-model:fileList="fileList"
-                action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                :data="uploadData"
-                list-type="picture-card"
-                :on-remove="handleRemove"
-                :before-upload="handleBeforeUpload"
-                :on-preview="handlePreview"
-                accept=".gif, .jpeg, .jpg, .png"
-              >
-                <el-icon><Plus /></el-icon>
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :before-upload="handleBeforeUpload" :on-preview="handlePreview" accept=".gif, .jpeg, .jpg, .png">
+                <el-icon>
+                  <Plus />
+                </el-icon>
               </el-upload>
             </div>
           </template>
@@ -153,46 +91,20 @@
       </div>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">确 定</el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="导入产品"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="excelLoading"
-    >
-      <el-upload
-        :action="actionUrl + '/productInfo/excelImportByEhsd'"
-        :headers="headers"
-        :on-success="handleSuccess"
-        :on-progress="handleProgress"
-        :show-file-list="false"
-        :on-error="handleError"
-        accept=".xlsx"
-      >
+    <el-dialog title="导入产品" v-model="openExcelDialog" width="400" v-loading="excelLoading">
+      <el-upload :action="actionUrl + '/productInfo/excelImportByEhsd'" :headers="headers" :on-success="handleSuccess" :on-progress="handleProgress"
+                 :show-file-list="false" :on-error="handleError" accept=".xlsx">
         <el-button type="primary">点击导入</el-button>
       </el-upload>
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      v-if="productContractDialog"
-      v-model="productContractDialog"
-      :title="'外销合同'"
-      width="80%"
-      append-to-body
-    >
+    <el-dialog v-if="productContractDialog" v-model="productContractDialog" :title="'外销合同'" width="80%" append-to-body>
       <ProductContract :currentProductId="currentProductId"></ProductContract>
     </el-dialog>
   </div>

+ 6 - 7
src/views/EHSD/saleContract/contractEHSD/index.vue

@@ -83,17 +83,16 @@
       <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="uploadUrl" :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="uploadUrl" :data="indicationUploadData" multiple
+                       :before-upload="indicationUploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
@@ -147,8 +146,8 @@
               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="uploadUrl" :data="uploadData" multiple
+                       :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>

+ 80 - 340
src/views/EHSD/saleContract/exportTracking/index.vue

@@ -1,16 +1,7 @@
 <template>
   <div class="tenant">
-    <byTable
-      :tableHeight="tableHeight"
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      :selectConfig="selectConfig"
-      highlight-current-row
-      :action-list="[]"
-      @get-list="getList"
-    >
+    <byTable :tableHeight="tableHeight" :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading"
+             :selectConfig="selectConfig" highlight-current-row :action-list="[]" @get-list="getList">
       <template #code="{ item }">
         <div style="width: 100%">
           <span class="public-class" @click="openDetails(item)">{{
@@ -29,16 +20,8 @@
 
       <template #contractProduct="{ item }">
         <div style="width: 100%">
-          <div
-            v-for="(product, index) in item.contractProductList"
-            :key="index"
-          >
-            <el-tooltip
-              class="box-item"
-              effect="dark"
-              :content="product.productName"
-              placement="top-start"
-            >
+          <div v-for="(product, index) in item.contractProductList" :key="index">
+            <el-tooltip class="box-item" effect="dark" :content="product.productName" placement="top-start">
               <div class="hidden-text">
                 {{ product.productName }}
               </div>
@@ -49,10 +32,7 @@
 
       <template #tags="{ item }">
         <div style="width: 100%">
-          <div
-            v-for="(product, index) in item.contractProductList"
-            :key="index"
-          >
+          <div v-for="(product, index) in item.contractProductList" :key="index">
             {{ dictValueLabel(product.tradeMethods, tradeMethods) }}
           </div>
         </div>
@@ -62,12 +42,7 @@
         <div style="width: 100%">
           <div v-if="item.purchaseList && item.purchaseList.length > 0">
             <div v-for="(purchase, index) in item.purchaseList" :key="index">
-              <el-tooltip
-                class="box-item"
-                effect="dark"
-                :content="purchase.supplyName"
-                placement="top-start"
-              >
+              <el-tooltip class="box-item" effect="dark" :content="purchase.supplyName" placement="top-start">
                 <div class="hidden-text">
                   {{ purchase.supplyName }}
                 </div>
@@ -80,12 +55,7 @@
       <template #purchaseCode="{ item }">
         <div style="width: 100%">
           <div v-if="item.purchaseList && item.purchaseList.length > 0">
-            <div
-              v-for="(purchase, index) in item.purchaseList"
-              :key="index"
-              class="public-class"
-              @click="hdanlePushPurchase(purchase.code)"
-            >
+            <div v-for="(purchase, index) in item.purchaseList" :key="index" class="public-class" @click="hdanlePushPurchase(purchase.code)">
               {{ purchase.code }}
             </div>
           </div>
@@ -114,34 +84,19 @@
 
       <template #remarks="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookRemarksRecords(item)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookRemarksRecords(item)">查看</el-button>
         </div>
       </template>
 
       <template #receipt="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookContractFile(item, true)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookContractFile(item, true)">查看</el-button>
         </div>
       </template>
 
       <template #package="{ item }">
         <div style="width: 100%">
-          <el-button
-            type="primary"
-            text
-            @click="handleClickLookContractFile(item, false)"
-            >查看</el-button
-          >
+          <el-button type="primary" text @click="handleClickLookContractFile(item, false)">查看</el-button>
         </div>
       </template>
 
@@ -152,186 +107,80 @@
       </template>
 
       <!-- 动态头部插槽 -->
-      <template
-        v-for="(documentary, index) in headerList"
-        v-slot:[documentary.value]="{ item }"
-        :key="documentary.value"
-      >
+      <template v-for="(documentary, index) in headerList" v-slot:[documentary.value]="{ item }" :key="documentary.value">
         <div style="width: 100%; display: flex; align-items: center">
           <span>{{ documentary.label }}</span>
-          <span
-            style="
+          <span style="
               color: #8400ff;
               cursor: pointer;
               display: flex;
               align-items: center;
-            "
-            @click="handleClickHeader(documentary.value)"
-            ><span>({{ headerData[documentary.value] || 0 }})</span>
-            <span
-              v-if="documentary.value == currentHeader && clickNum == 1"
-              class="iconfont icon-iconm_shanchu"
-              style="color: #d81e06; font-size: 20px"
-            >
+            " @click="handleClickHeader(documentary.value)"><span>({{ headerData[documentary.value] || 0 }})</span>
+            <span v-if="documentary.value == currentHeader && clickNum == 1" class="iconfont icon-iconm_shanchu"
+                  style="color: #d81e06; font-size: 20px">
             </span>
-            <span
-              v-if="documentary.value == currentHeader && clickNum == 2"
-              class="iconfont icon-iconm_quertj"
-              style="color: #16c4af; font-size: 20px"
-            >
+            <span v-if="documentary.value == currentHeader && clickNum == 2" class="iconfont icon-iconm_quertj"
+                  style="color: #16c4af; font-size: 20px">
             </span>
           </span>
         </div>
       </template>
 
       <!-- 动态内容插槽 -->
-      <template
-        v-for="(documentary, index) in headerList"
-        v-slot:[documentary.slot]="{ item }"
-        :key="documentary.slot"
-      >
+      <template v-for="(documentary, index) in headerList" v-slot:[documentary.slot]="{ item }" :key="documentary.slot">
         <div style="width: 100%">
           <div v-if="documentary.value == '1'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >已提交</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >未提交</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">已提交</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>未提交</el-button>
               </div>
             </div>
           </div>
-          <div
-            v-else-if="
+          <div v-else-if="
               ['2', '3', '4', '5', '7', '9'].includes(documentary.value)
-            "
-          >
+            ">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >查看</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >添加</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">查看</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>添加</el-button>
               </div>
             </div>
           </div>
 
           <div v-else-if="documentary.value == '6'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="!judgeHaveData(purchase, documentary.value)"
-                  style="color: #f59a23"
-                  >待验货</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else-if="judgeHaveDataOne(purchase, documentary.value)"
-                  >通过</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else
-                  style="color: red"
-                  >未通过</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="!judgeHaveData(purchase, documentary.value)" style="color: #f59a23">待验货</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-else-if="judgeHaveDataOne(purchase, documentary.value)">通过</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" v-else style="color: red">未通过</el-button>
               </div>
             </div>
           </div>
 
           <div v-else-if="documentary.value == '8'">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="!judgeHaveData(purchase, documentary.value)"
-                  style="color: #f59a23"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-else-if="judgeHaveDataOne(purchase, documentary.value)"
-                  >已收到</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: red"
-                  v-else
-                  >未收到</el-button
-                >
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="!judgeHaveData(purchase, documentary.value)" style="color: #f59a23">添加</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-else-if="judgeHaveDataOne(purchase, documentary.value)">已收到</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: red" v-else>未收到</el-button>
               </div>
             </div>
           </div>
           <div v-else-if="['10', '11', '12'].includes(documentary.value)">
             <div v-if="item.purchaseList && item.purchaseList.length > 0">
-              <div
-                v-for="(purchase, index) in item.purchaseList"
-                :key="purchase.id"
-              >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  v-if="judgeHaveData(purchase, documentary.value)"
-                  >{{
+              <div v-for="(purchase, index) in item.purchaseList" :key="purchase.id">
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)"
+                           v-if="judgeHaveData(purchase, documentary.value)">{{
                     judgeHaveDataOne(purchase, documentary.value)
-                  }}</el-button
-                >
-                <el-button
-                  type="primary"
-                  text
-                  @click="handleClickLook(item, purchase, documentary)"
-                  style="color: #f59a23"
-                  v-else
-                  >添加</el-button
-                >
+                  }}</el-button>
+                <el-button type="primary" text @click="handleClickLook(item, purchase, documentary)" style="color: #f59a23" v-else>添加</el-button>
               </div>
             </div>
           </div>
@@ -355,31 +204,13 @@
       </template> -->
     </byTable>
     <!-- 备注弹窗 -->
-    <el-dialog
-      title="备注"
-      v-if="openRemarks"
-      v-model="openRemarks"
-      width="600"
-    >
-      <byForm
-        :formConfig="remarksFormConfig"
-        :formOption="formOption"
-        v-model="formData.remarksFormData"
-        :rules="remarksRules"
-        ref="remarksForm"
-        v-loading="formLoading"
-      >
+    <el-dialog title="备注" v-if="openRemarks" v-model="openRemarks" width="600">
+      <byForm :formConfig="remarksFormConfig" :formOption="formOption" v-model="formData.remarksFormData" :rules="remarksRules" ref="remarksForm"
+              v-loading="formLoading">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="formData.remarksFormData.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.remarksFormData.fileList" :action="uploadUrl" :data="uploadData" multiple
+                       :before-upload="uploadFile" :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain>选择</el-button>
             </el-upload>
           </div>
@@ -387,52 +218,32 @@
       </byForm>
       <template #footer>
         <el-button @click="openRemarks = false" size="large">关 闭</el-button>
-        <el-button type="primary" @click="submitRemarks()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitRemarks()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
     <!-- 记录弹窗 -->
-    <el-dialog
-      :title="`备注记录`"
-      v-if="openRemarkRecords"
-      v-model="openRemarkRecords"
-      width="600"
-    >
+    <el-dialog :title="`备注记录`" v-if="openRemarkRecords" v-model="openRemarkRecords" width="600">
       <div style="padding-left: 50px; margin-bottom: 20px">
-        <el-button type="primary" @click="handleClickLookRemarks()"
-          >添加备注</el-button
-        >
+        <el-button type="primary" @click="handleClickLookRemarks()">添加备注</el-button>
       </div>
       <el-timeline>
-        <el-timeline-item
-          v-for="(activity, index) in remarkRecordsData"
-          :key="index"
-        >
-          <div
-            style="
+        <el-timeline-item v-for="(activity, index) in remarkRecordsData" :key="index">
+          <div style="
               width: 100%;
               display: flex;
               justify-content: space-between;
               color: #bfb9b9;
-            "
-          >
+            ">
             <div>{{ activity.createTime }}</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>
@@ -441,35 +252,17 @@
       </el-timeline>
 
       <template #footer>
-        <el-button @click="openRemarkRecords = false" size="large"
-          >关 闭</el-button
-        >
+        <el-button @click="openRemarkRecords = false" size="large">关 闭</el-button>
       </template>
     </el-dialog>
 
     <!-- 交接单、包装指示弹窗 -->
-    <el-dialog
-      :title="fileTitle"
-      v-if="openFiles"
-      v-model="openFiles"
-      width="600"
-    >
-      <byForm
-        :formConfig="filesFormConfig"
-        :formOption="formOption"
-        v-model="formData.filesFormData"
-      >
+    <el-dialog :title="fileTitle" v-if="openFiles" v-model="openFiles" width="600">
+      <byForm :formConfig="filesFormConfig" :formOption="formOption" v-model="formData.filesFormData">
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="formData.filesFormData.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.filesFormData.fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-success="handleSuccess" :on-preview="onPreviewFile">
               <el-button type="primary" plain disabled>选择</el-button>
             </el-upload>
           </div>
@@ -481,42 +274,27 @@
     </el-dialog>
 
     <!-- 记录弹窗 -->
-    <el-dialog
-      :title="`(${selectNode.label})详情记录`"
-      v-if="openRecords"
-      v-model="openRecords"
-      width="600"
-    >
+    <el-dialog :title="`(${selectNode.label})详情记录`" v-if="openRecords" v-model="openRecords" width="600">
       <div style="padding-left: 50px; margin-bottom: 20px">
-        <el-button type="primary" @click="handleClickAddRecord()"
-          >添加记录</el-button
-        >
+        <el-button type="primary" @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>
@@ -530,73 +308,35 @@
     </el-dialog>
 
     <!-- 添加记录弹窗 -->
-    <el-dialog
-      :title="`添加记录(${selectNode.label})`"
-      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="`添加记录(${selectNode.label})`" 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 #typeSlot>
           <div style="width: 100%">
-            <el-select
-              v-model="formData.recordsFormData.content"
-              class="m-2"
-              placeholder="请选择"
-              v-if="selectNode.value == '6'"
-            >
+            <el-select v-model="formData.recordsFormData.content" class="m-2" placeholder="请选择" v-if="selectNode.value == '6'">
               <el-option label="通过" value="1" />
               <el-option label="未通过" value="0" />
             </el-select>
-            <el-select
-              v-model="formData.recordsFormData.content"
-              class="m-2"
-              placeholder="请选择"
-              v-if="selectNode.value == '8'"
-            >
+            <el-select v-model="formData.recordsFormData.content" class="m-2" placeholder="请选择" v-if="selectNode.value == '8'">
               <el-option label="收到" value="1" />
               <el-option label="未收到" value="0" />
             </el-select>
-            <el-date-picker
-              v-if="['10', '11', '12'].includes(selectNode.value)"
-              v-model="formData.recordsFormData.content"
-              type="date"
-              placeholder="请选择"
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-            />
+            <el-date-picker v-if="['10', '11', '12'].includes(selectNode.value)" v-model="formData.recordsFormData.content" type="date"
+                            placeholder="请选择" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
           </div>
         </template>
         <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="uploadUrl" :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>
   </div>

+ 37 - 153
src/views/EHSD/saleContract/sampleEHSD/index.vue

@@ -1,27 +1,15 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      :selectConfig="selectConfig"
-      highlight-current-row
-      :action-list="[
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+             highlight-current-row :action-list="[
         {
           text: '新建样品单',
           action: () => newSample(),
         },
-      ]"
-      @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>
 
@@ -33,50 +21,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>
@@ -94,68 +56,33 @@
       </template>
     </byTable>
 
-    <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="uploadUrl" :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="uploadUrl" :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"
-    >
-      <ContractDetailsOne
-        :sampleId="currentSampleId"
-        :code="currentCode"
-      ></ContractDetailsOne>
+    <el-dialog title="样品单详情" v-if="openDetailsDialog" v-model="openDetailsDialog" width="1100">
+      <ContractDetailsOne :sampleId="currentSampleId" :code="currentCode"></ContractDetailsOne>
     </el-dialog>
 
     <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="920">
@@ -163,54 +90,33 @@
       <SamplePDFNew :rowData="rowData" ref="PdfDom"></SamplePDFNew>
       <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="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>
@@ -223,43 +129,21 @@
       </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="uploadUrl" :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>
   </div>

+ 2 - 2
src/views/connect/E-mail/mail/com/mailWrite.vue

@@ -59,8 +59,8 @@
         </el-form-item>
         <el-form-item label="附件">
           <div style="width: 100%">
-            <el-upload v-model:fileList="fileList" class="upload-demo" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
-                       drag multiple :show-file-list="false" :before-upload="handleBeforeUpload">
+            <el-upload v-model:fileList="fileList" class="upload-demo" :action="uploadUrl" :data="uploadData" drag multiple :show-file-list="false"
+                       :before-upload="handleBeforeUpload">
               <div>
                 <img src="@/assets/images/icon_attachment.svg" class="att-img" fit="scale-down" />
                 <span style="padding-left: 8px">将文件拖到此处,或<span style="color: #409eff">点击上传</span></span>

+ 2 - 2
src/views/customer/file/index.vue

@@ -230,8 +230,8 @@
       <byForm :formConfig="formConfigAFollow" :formOption="formOption" v-model="formFollow.data" :rules="rulesFollow" ref="follow">
         <template #fileSlot>
           <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button type="primary">文件上传</el-button>
             </el-upload>
           </div>

+ 2 - 2
src/views/customer/highseas/index.vue

@@ -217,8 +217,8 @@
       <byForm :formConfig="formConfigAFollow" :formOption="formOption" v-model="formFollow.data" :rules="rulesFollow" ref="follow">
         <template #fileSlot>
           <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button type="primary">文件上传</el-button>
             </el-upload>
           </div>

+ 2 - 2
src/views/customer/privatesea/index.vue

@@ -216,8 +216,8 @@
       <byForm :formConfig="formConfigAFollow" :formOption="formOption" v-model="formFollow.data" :rules="rulesFollow" ref="follow">
         <template #fileSlot>
           <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button type="primary">文件上传</el-button>
             </el-upload>
           </div>

+ 42 - 186
src/views/finance/fundManage/accountPayment/index.vue

@@ -1,20 +1,10 @@
 <template>
   <div class="user">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           select: select,
-        }"
-        :action-list="[]"
-        @moreSearch="moreSearch"
-        @get-list="getList"
-      >
+        }" :action-list="[]" @moreSearch="moreSearch" @get-list="getList">
         <template #amount="{ item }">
           <div style="width: 100%">
             <span>{{ item.currency }} {{ item.incomeAmount }}</span>
@@ -22,37 +12,17 @@
         </template>
         <template #file="{ item }">
           <div style="width: 100%">
-            <el-button type="primary" text @click="handleOpenFile(item)"
-              >查看</el-button
-            >
+            <el-button type="primary" text @click="handleOpenFile(item)">查看</el-button>
           </div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      title="打款"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="500"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog title="打款" v-if="dialogVisible" v-model="dialogVisible" width="500" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #fileSlot>
           <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-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button type="primary">文件上传</el-button>
             </el-upload>
           </div>
@@ -60,65 +30,31 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm()"
-          size="large"
-          :loading="submitLoading"
-          v-show="submitType === 'add'"
-        >
+        <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading" v-show="submitType === 'add'">
           确 定
         </el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="高级检索"
-      v-if="openSearch"
-      v-model="openSearch"
-      width="600"
-      :before-close="cancelSearch"
-    >
-      <byForm
-        :formConfig="formSearchConfig"
-        :formOption="formOptionTwo"
-        v-model="sourceList.pagination"
-      >
+    <el-dialog title="高级检索" v-if="openSearch" v-model="openSearch" width="600" :before-close="cancelSearch">
+      <byForm :formConfig="formSearchConfig" :formOption="formOptionTwo" v-model="sourceList.pagination">
         <template #departmentId>
           <div>
-            <el-tree-select
-              v-model="sourceList.pagination.departmentId"
-              :data="deptTreeData"
-              check-strictly
-              :render-after-expand="false"
-              node-key="deptId"
-              style="width: 100%"
-              :props="defaultProps"
-              clearable
-            />
+            <el-tree-select v-model="sourceList.pagination.departmentId" :data="deptTreeData" check-strictly :render-after-expand="false"
+                            node-key="deptId" style="width: 100%" :props="defaultProps" clearable />
           </div>
         </template>
         <template #time>
           <div style="width: 100%">
             <el-row :gutter="10">
               <el-col :span="11">
-                <el-date-picker
-                  v-model="sourceList.pagination.beginCreateTime"
-                  type="datetime"
-                  placeholder="请选择"
-                  style="width: 100%"
-                  value-format="YYYY-MM-DD HH:mm:ss"
-                />
+                <el-date-picker v-model="sourceList.pagination.beginCreateTime" type="datetime" placeholder="请选择" style="width: 100%"
+                                value-format="YYYY-MM-DD HH:mm:ss" />
               </el-col>
               <el-col :span="2" style="text-align: center">到</el-col>
               <el-col :span="11">
-                <el-date-picker
-                  v-model="sourceList.pagination.endCreateTime"
-                  type="datetime"
-                  placeholder="请选择"
-                  style="width: 100%"
-                  value-format="YYYY-MM-DD HH:mm:ss"
-                />
+                <el-date-picker v-model="sourceList.pagination.endCreateTime" type="datetime" placeholder="请选择" style="width: 100%"
+                                value-format="YYYY-MM-DD HH:mm:ss" />
               </el-col>
             </el-row>
           </div>
@@ -127,23 +63,13 @@
           <div style="width: 100%">
             <el-row :gutter="10">
               <el-col :span="11">
-                <el-date-picker
-                  v-model="sourceList.pagination.beginTime"
-                  type="datetime"
-                  placeholder="请选择"
-                  style="width: 100%"
-                  value-format="YYYY-MM-DD HH:mm:ss"
-                />
+                <el-date-picker v-model="sourceList.pagination.beginTime" type="datetime" placeholder="请选择" style="width: 100%"
+                                value-format="YYYY-MM-DD HH:mm:ss" />
               </el-col>
               <el-col :span="2" style="text-align: center">到</el-col>
               <el-col :span="11">
-                <el-date-picker
-                  v-model="sourceList.pagination.endTime"
-                  type="datetime"
-                  placeholder="请选择"
-                  style="width: 100%"
-                  value-format="YYYY-MM-DD HH:mm:ss"
-                />
+                <el-date-picker v-model="sourceList.pagination.endTime" type="datetime" placeholder="请选择" style="width: 100%"
+                                value-format="YYYY-MM-DD HH:mm:ss" />
               </el-col>
             </el-row>
           </div>
@@ -152,27 +78,13 @@
           <div style="width: 100%">
             <el-row :gutter="10">
               <el-col :span="11">
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="sourceList.pagination.startAmount"
-                  placeholder="请输入"
-                  style="width: 100%"
-                  :precision="2"
-                  :controls="false"
-                  :min="0"
-                />
+                <el-input-number onmousewheel="return false;" v-model="sourceList.pagination.startAmount" placeholder="请输入" style="width: 100%"
+                                 :precision="2" :controls="false" :min="0" />
               </el-col>
               <el-col :span="2" style="text-align: center">到</el-col>
               <el-col :span="11">
-                <el-input-number
-                  onmousewheel="return false;"
-                  v-model="sourceList.pagination.endAmount"
-                  placeholder="请输入"
-                  style="width: 100%"
-                  :precision="2"
-                  :controls="false"
-                  :min="0"
-                />
+                <el-input-number onmousewheel="return false;" v-model="sourceList.pagination.endAmount" placeholder="请输入" style="width: 100%"
+                                 :precision="2" :controls="false" :min="0" />
               </el-col>
             </el-row>
           </div>
@@ -180,9 +92,7 @@
       </byForm>
       <template #footer>
         <el-button @click="cancelSearch()" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitSearch()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitSearch()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
@@ -191,75 +101,32 @@
       <PaymentPDF v-else :rowData="rowData"></PaymentPDF>
       <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" v-print="printObj" size="large">打印</el-button>
+        <el-button type="primary" @click="clickDownload()" size="large">下载PDF</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="冲销"
-      v-if="openCancelledOut"
-      v-model="openCancelledOut"
-      width="500"
-    >
-      <byForm
-        :formConfig="formCancelledOutConfig"
-        :formOption="formOptionTwo"
-        v-model="formCancelledOutData.data"
-        :rules="rulesCancelledOut"
-        ref="cancelledOut"
-      >
+    <el-dialog title="冲销" v-if="openCancelledOut" v-model="openCancelledOut" width="500">
+      <byForm :formConfig="formCancelledOutConfig" :formOption="formOptionTwo" v-model="formCancelledOutData.data" :rules="rulesCancelledOut"
+              ref="cancelledOut">
         <template #detail>
           <div style="width: 100%">
-            <el-button
-              type="primary"
-              style="margin-left: -15px"
-              @click="clickDetail"
-              text
-              >查看详情</el-button
-            >
+            <el-button type="primary" style="margin-left: -15px" @click="clickDetail" text>查看详情</el-button>
           </div>
         </template>
       </byForm>
       <template #footer>
-        <el-button @click="openCancelledOut = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="danger"
-          @click="submitCancelledOutForm()"
-          size="large"
-          :loading="submitCancelledOutLoading"
-          >冲 销</el-button
-        >
+        <el-button @click="openCancelledOut = false" size="large">取 消</el-button>
+        <el-button type="danger" @click="submitCancelledOutForm()" size="large" :loading="submitCancelledOutLoading">冲 销</el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="关联附件"
-      v-if="openFileDialog"
-      v-model="openFileDialog"
-      width="500"
-    >
-      <byForm
-        :formConfig="fileConfig"
-        :formOption="formOption"
-        v-model="fileData.data"
-      >
+    <el-dialog title="关联附件" v-if="openFileDialog" v-model="openFileDialog" width="500">
+      <byForm :formConfig="fileConfig" :formOption="formOption" v-model="fileData.data">
         <template #businessFile>
-          <div
-            style="width: 100%"
-            v-if="fileData.data && fileData.data.fileList.length > 0"
-          >
+          <div style="width: 100%" v-if="fileData.data && fileData.data.fileList.length > 0">
             <div v-for="(item, index) in fileData.data.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>
@@ -267,18 +134,9 @@
           <div v-else>暂无关联</div>
         </template>
         <template #fundsFile>
-          <div
-            style="width: 100%"
-            v-if="fileData.data && fileData.data.fileListOne.length > 0"
-          >
-            <div
-              v-for="(item, index) in fileData.data.fileListOne"
-              :key="index"
-            >
-              <div
-                style="cursor: pointer; color: #409eff"
-                @click="openFile(item)"
-              >
+          <div style="width: 100%" v-if="fileData.data && fileData.data.fileListOne.length > 0">
+            <div v-for="(item, index) in fileData.data.fileListOne" :key="index">
+              <div style="cursor: pointer; color: #409eff" @click="openFile(item)">
                 {{ item.fileName }}
               </div>
             </div>
@@ -287,9 +145,7 @@
         </template>
       </byForm>
       <template #footer>
-        <el-button @click="openFileDialog = false" size="large"
-          >取 消</el-button
-        >
+        <el-button @click="openFileDialog = false" size="large">取 消</el-button>
       </template>
     </el-dialog>
   </div>

+ 25 - 34
src/views/oa/companyDisk/webDiskData/index.vue

@@ -1,31 +1,18 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="网盘目录"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-        @treeDelete="getList">
+      <treeList title="网盘目录" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList" @treeDelete="getList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row :action-list="[
           {
             text: '上传文件',
             action: () => openModal(),
             disabled: false,
           },
-        ]"
-        @get-list="getList">
+        ]" @get-list="getList">
         <template #name="{ item }">
           <div>
             <a style="color: #409eff; cursor: pointer" @click="clickName(item)">{{ item.name }}</a>
@@ -45,13 +32,8 @@
       <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #productFile>
           <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>上传文件</el-button>
             </el-upload>
           </div>
@@ -161,11 +143,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy.post("/netdisk/delete", [row.id]).then(() => {
                   ElMessage({
                     message: "删除成功",
@@ -219,7 +205,9 @@ const formConfig = computed(() => {
   ];
 });
 let rules = ref({
-  parentFolderId: [{ required: true, message: "请选择网盘目录", trigger: "change" }],
+  parentFolderId: [
+    { required: true, message: "请选择网盘目录", trigger: "change" },
+  ],
 });
 const openModal = () => {
   formData.data = {
@@ -272,9 +260,11 @@ const submitForm = () => {
 };
 const clickName = (item) => {
   if (item.type === 2) {
-    proxy.post("/fileInfo/getList", { businessIdList: [item.id] }).then((res) => {
-      window.open(res[item.id][0].fileUrl, "_blank");
-    });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [item.id] })
+      .then((res) => {
+        window.open(res[item.id][0].fileUrl, "_blank");
+      });
   } else {
     sourceList.value.pagination.pageNum = 1;
     sourceList.value.pagination.parentFolderId = item.id;
@@ -290,7 +280,8 @@ const getSize = (item) => {
   } else if (1024 * 1024 * 1024 > item.fileSize) {
     size = parseFloat(Number(item.fileSize) / 1024 / 1024).toFixed(2) + "MB";
   } else if (1024 * 1024 * 1024 * 1024 > item.fileSize) {
-    size = parseFloat(Number(item.fileSize) / 1024 / 1024 / 1024).toFixed(2) + "GB";
+    size =
+      parseFloat(Number(item.fileSize) / 1024 / 1024 / 1024).toFixed(2) + "GB";
   }
   return size;
 };

+ 142 - 76
src/views/oa/work/dailyPaper/index.vue

@@ -13,13 +13,19 @@
           <template #header="{ date }">
             <span>{{ date }}</span>
             <el-button-group>
-              <el-icon style="cursor: pointer" @click="selectDate('prev-month')"><ArrowLeft /></el-icon>
-              <el-icon style="cursor: pointer" @click="selectDate('next-month')"><ArrowRight /></el-icon>
+              <el-icon style="cursor: pointer" @click="selectDate('prev-month')">
+                <ArrowLeft />
+              </el-icon>
+              <el-icon style="cursor: pointer" @click="selectDate('next-month')">
+                <ArrowRight />
+              </el-icon>
             </el-button-group>
           </template>
         </el-calendar>
         <div style="margin: 20px 0 0 0">
-          <el-icon style="transform: translateY(3px)"><Document /></el-icon>
+          <el-icon style="transform: translateY(3px)">
+            <Document />
+          </el-icon>
           <span style="margin-left: 8px">日报</span>
         </div>
         <el-menu :default-active="menuDefault" class="el-menu-vertical-demo" style="padding: 10px 0" @select="handleSelectMenu">
@@ -34,7 +40,9 @@
           </el-menu-item>
         </el-menu>
         <div style="padding: 20px 0 10px 0; border-top: 1px solid #eee">
-          <el-icon style="transform: translateY(3px)"><Timer /></el-icon>
+          <el-icon style="transform: translateY(3px)">
+            <Timer />
+          </el-icon>
           <span style="margin-left: 8px">定时日报</span>
         </div>
       </div>
@@ -44,15 +52,11 @@
             <template #productPic>
               <div>
                 <div>
-                  <el-upload
-                    v-model:fileList="imgList"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadData"
-                    list-type="picture-card"
-                    :before-upload="uploadPicture"
-                    :limit="5"
-                    accept=".gif, .jpeg, .jpg, .png">
-                    <el-icon><Plus /></el-icon>
+                  <el-upload v-model:fileList="imgList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :before-upload="uploadPicture"
+                             :limit="5" accept=".gif, .jpeg, .jpg, .png">
+                    <el-icon>
+                      <Plus />
+                    </el-icon>
                   </el-upload>
                 </div>
                 <div style="color: #909399">建议尺寸800*800, 最多5张. 单个图片不得超过3M, 格式gif、jpeg、jpg、png</div>
@@ -60,12 +64,7 @@
             </template>
             <template #productFile>
               <div style="width: 100%">
-                <el-upload
-                  v-model:fileList="attachmentList"
-                  action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                  :data="uploadData"
-                  :before-upload="uploadFile"
-                  accept=".pdf">
+                <el-upload v-model:fileList="attachmentList" :action="uploadUrl" :data="uploadData" :before-upload="uploadFile" accept=".pdf">
                   <el-button>上传文件</el-button>
                   <span style="color: #909399; margin-left: 8px">上传格式为pdf文件</span>
                 </el-upload>
@@ -88,9 +87,8 @@
           <el-button type="primary" @click="clickSubmit()" size="large">确 定</el-button>
         </div>
         <div style="display: flex" v-else>
-          <div
-            style="width: 260px; border-right: 1px solid #eee; padding: 20px; max-height: calc(100vh - 100px - 72px - 60px); overflow-y: auto"
-            v-if="isMounted">
+          <div style="width: 260px; border-right: 1px solid #eee; padding: 20px; max-height: calc(100vh - 100px - 72px - 60px); overflow-y: auto"
+               v-if="isMounted">
             <ul v-infinite-scroll="load" class="infinite-list" style="overflow: auto">
               <li v-for="(item, index) in sourceList.data" :key="item">
                 <div style="padding: 8px 0; color: #909399" v-if="judgeShow(sourceList.data, item, index)">
@@ -98,7 +96,9 @@
                   <span style="margin-left: 8px">{{ weekFormat(item.week) }}</span>
                 </div>
                 <div class="dailyPaper" @click="selectDailyPaper(item)">
-                  <el-icon :style="'transform: translateY(2px); color: ' + (dailyPaperId === item.id ? '#46a6ff;' : '#000;')"><User /></el-icon>
+                  <el-icon :style="'transform: translateY(2px); color: ' + (dailyPaperId === item.id ? '#46a6ff;' : '#000;')">
+                    <User />
+                  </el-icon>
                   <span :style="'margin-left: 8px; color: ' + (dailyPaperId === item.id ? '#46a6ff;' : '#000;')">{{ item.userName }}的日报</span>
                 </div>
               </li>
@@ -111,14 +111,14 @@
                 <el-tooltip class="box-item" effect="light" placement="bottom-end">
                   <template #content>
                     <div style="padding: 8px 0; cursor: pointer" @click="clickShare(dailyPaperDetail)">分享这篇日报</div>
-                    <div
-                      style="padding: 8px 0; cursor: pointer"
-                      @click="clickLookOver(dailyPaperDetail)"
-                      v-if="dailyPaperDetail.createUser !== useUserStore().user.userId">
+                    <div style="padding: 8px 0; cursor: pointer" @click="clickLookOver(dailyPaperDetail)"
+                         v-if="dailyPaperDetail.createUser !== useUserStore().user.userId">
                       查看所有日报
                     </div>
                   </template>
-                  <el-icon><MoreFilled /></el-icon>
+                  <el-icon>
+                    <MoreFilled />
+                  </el-icon>
                 </el-tooltip>
               </div>
             </div>
@@ -180,13 +180,17 @@
             <div style="padding: 8px 0" v-if="dailyPaperDetail.commentList && dailyPaperDetail.commentList.length > 0">
               <div style="display: flex; margin-bottom: 16px" v-for="item in dailyPaperDetail.commentList" :key="item.id">
                 <div style="margin: 8px">
-                  <el-icon style="font-size: 32px"><User /></el-icon>
+                  <el-icon style="font-size: 32px">
+                    <User />
+                  </el-icon>
                 </div>
                 <div style="width: calc(100% - 48px)">
                   <div style="padding: 4px 0; position: relative">
                     <span>{{ item.userName }}</span>
                     <div style="position: absolute; right: 0; top: 2px; cursor: pointer" @click="clickReply(item)">
-                      <el-icon style="transform: translateY(3px); font-size: 18px"><ChatDotRound /></el-icon>
+                      <el-icon style="transform: translateY(3px); font-size: 18px">
+                        <ChatDotRound />
+                      </el-icon>
                       <span style="margin-left: 8px">回复</span>
                     </div>
                   </div>
@@ -340,9 +344,15 @@ const formConfig = computed(() => {
   ];
 });
 let rules = ref({
-  completedWork: [{ required: true, message: "请输入今日完成工作", trigger: "blur" }],
-  unfinishedWork: [{ required: true, message: "请输入未完成工作", trigger: "blur" }],
-  coordinatedWork: [{ required: true, message: "请输入需协调工作", trigger: "blur" }],
+  completedWork: [
+    { required: true, message: "请输入今日完成工作", trigger: "blur" },
+  ],
+  unfinishedWork: [
+    { required: true, message: "请输入未完成工作", trigger: "blur" },
+  ],
+  coordinatedWork: [
+    { required: true, message: "请输入需协调工作", trigger: "blur" },
+  ],
 });
 const formShare = reactive({
   data: {
@@ -363,7 +373,9 @@ const formConfigShare = computed(() => {
   ];
 });
 let rulesShare = ref({
-  completedWork: [{ required: true, message: "请输入今日完成工作", trigger: "blur" }],
+  completedWork: [
+    { required: true, message: "请输入今日完成工作", trigger: "blur" },
+  ],
 });
 const selectState = ref(false);
 watch(
@@ -405,14 +417,20 @@ const getList = () => {
     sourceList.value.data = sourceList.value.data.concat(res.rows);
     sourceList.value.total = res.total;
     if (sourceList.value.data && sourceList.value.data.length > 0) {
-      if (dailyPaperId.value !== sourceList.value.data[0].id && !sourceList.value.pagination.senderId) {
+      if (
+        dailyPaperId.value !== sourceList.value.data[0].id &&
+        !sourceList.value.pagination.senderId
+      ) {
         selectDailyPaper(sourceList.value.data[0]);
       }
     } else {
       dailyPaperDetail.value = {};
       dailyPaperId.value = "";
     }
-    if (sourceList.value.total > sourceList.value.pagination.pageNum * sourceList.value.pagination.pageSize) {
+    if (
+      sourceList.value.total >
+      sourceList.value.pagination.pageNum * sourceList.value.pagination.pageSize
+    ) {
       load();
     }
   });
@@ -433,7 +451,10 @@ const newDaily = () => {
   newStatus.value = true;
 };
 const load = () => {
-  if (sourceList.value.total > sourceList.value.pagination.pageNum * sourceList.value.pagination.pageSize) {
+  if (
+    sourceList.value.total >
+    sourceList.value.pagination.pageNum * sourceList.value.pagination.pageSize
+  ) {
     sourceList.value.pagination.pageNum++;
     getList();
   }
@@ -466,15 +487,25 @@ const selectDailyPaper = (item) => {
   dailyPaperId.value = item.id;
   proxy.post("/dailyReport/detail", { id: item.id }).then((res) => {
     dailyPaperDetail.value = res;
-    proxy.post("/fileInfo/getList", { businessIdList: [item.id], fileType: 1 }).then((resPicture) => {
-      dailyPaperDetail.value.imgList = resPicture[item.id];
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [item.id], fileType: 2 }).then((resFile) => {
-      dailyPaperDetail.value.attachmentList = resFile[item.id];
-    });
-    proxy.post("/dailyReportComments/page", { pageNum: 1, pageSize: 999, dailyReportId: item.id }).then((res) => {
-      dailyPaperDetail.value.commentList = res.rows;
-    });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [item.id], fileType: 1 })
+      .then((resPicture) => {
+        dailyPaperDetail.value.imgList = resPicture[item.id];
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [item.id], fileType: 2 })
+      .then((resFile) => {
+        dailyPaperDetail.value.attachmentList = resFile[item.id];
+      });
+    proxy
+      .post("/dailyReportComments/page", {
+        pageNum: 1,
+        pageSize: 999,
+        dailyReportId: item.id,
+      })
+      .then((res) => {
+        dailyPaperDetail.value.commentList = res.rows;
+      });
   });
 };
 const judgeShow = (data, item, index) => {
@@ -485,7 +516,9 @@ const judgeShow = (data, item, index) => {
   return status;
 };
 const uploadPicture = async (file) => {
-  if (!["image/gif", "image/jpeg", "image/jpg", "image/png"].includes(file.type)) {
+  if (
+    !["image/gif", "image/jpeg", "image/jpg", "image/png"].includes(file.type)
+  ) {
     ElMessage("请上传格式为gif、jpeg、jpg、png的图片");
     return false;
   } else if (file.size / 1024 / 1024 > 3) {
@@ -534,12 +567,17 @@ const clickSubmit = () => {
         };
       });
     }
-    if (dailyReportDetailsList.value && dailyReportDetailsList.value.length > 0) {
-      formData.data.dailyReportDetailsList = dailyReportDetailsList.value.map((item) => {
-        return {
-          recipientId: item,
-        };
-      });
+    if (
+      dailyReportDetailsList.value &&
+      dailyReportDetailsList.value.length > 0
+    ) {
+      formData.data.dailyReportDetailsList = dailyReportDetailsList.value.map(
+        (item) => {
+          return {
+            recipientId: item,
+          };
+        }
+      );
       proxy.post("/dailyReport/add", formData.data).then(() => {
         ElMessage({
           message: "新建成功",
@@ -553,10 +591,16 @@ const clickSubmit = () => {
   });
 };
 const getUser = () => {
-  proxy.get("/tenantUser/list", { pageNum: 1, pageSize: 10000, tenantId: useUserStore().user.tenantId }).then((res) => {
-    userList.value = res.rows;
-    // .filter((item) => item.userId !== useUserStore().user.userId);
-  });
+  proxy
+    .get("/tenantUser/list", {
+      pageNum: 1,
+      pageSize: 10000,
+      tenantId: useUserStore().user.tenantId,
+    })
+    .then((res) => {
+      userList.value = res.rows;
+      // .filter((item) => item.userId !== useUserStore().user.userId);
+    });
 };
 const getStyle = (val) => {
   if (val) {
@@ -577,16 +621,27 @@ const commentSubmit = () => {
   if (!comment.data.text) {
     return ElMessage("请输入评论内容");
   }
-  proxy.post("/dailyReportComments/add", { ...comment.data, dailyReportId: dailyPaperId.value }).then(() => {
-    ElMessage({
-      message: "评论成功",
-      type: "success",
-    });
-    comment.data = {};
-    proxy.post("/dailyReportComments/page", { pageNum: 1, pageSize: 999, dailyReportId: dailyPaperId.value }).then((res) => {
-      dailyPaperDetail.value.commentList = res.rows;
+  proxy
+    .post("/dailyReportComments/add", {
+      ...comment.data,
+      dailyReportId: dailyPaperId.value,
+    })
+    .then(() => {
+      ElMessage({
+        message: "评论成功",
+        type: "success",
+      });
+      comment.data = {};
+      proxy
+        .post("/dailyReportComments/page", {
+          pageNum: 1,
+          pageSize: 999,
+          dailyReportId: dailyPaperId.value,
+        })
+        .then((res) => {
+          dailyPaperDetail.value.commentList = res.rows;
+        });
     });
-  });
 };
 const clickReply = (item) => {
   reply.data.text = "";
@@ -596,17 +651,28 @@ const replySubmit = () => {
   if (!reply.data.text) {
     return ElMessage("请输入回复内容");
   }
-  proxy.post("/dailyReportComments/add", { ...reply.data, dailyReportId: dailyPaperId.value }).then(() => {
-    ElMessage({
-      message: "回复成功",
-      type: "success",
-    });
-    reply.data.text = "";
-    reply.data.replyId = "";
-    proxy.post("/dailyReportComments/page", { pageNum: 1, pageSize: 999, dailyReportId: dailyPaperId.value }).then((res) => {
-      dailyPaperDetail.value.commentList = res.rows;
+  proxy
+    .post("/dailyReportComments/add", {
+      ...reply.data,
+      dailyReportId: dailyPaperId.value,
+    })
+    .then(() => {
+      ElMessage({
+        message: "回复成功",
+        type: "success",
+      });
+      reply.data.text = "";
+      reply.data.replyId = "";
+      proxy
+        .post("/dailyReportComments/page", {
+          pageNum: 1,
+          pageSize: 999,
+          dailyReportId: dailyPaperId.value,
+        })
+        .then((res) => {
+          dailyPaperDetail.value.commentList = res.rows;
+        });
     });
-  });
 };
 const clickShare = (detail) => {
   formShare.data.id = detail.id;

+ 12 - 61
src/views/oa/work/task/index.vue

@@ -1,21 +1,13 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               highlight-current-row :action-list="[
           {
             text: '添加任务',
             action: () => openModal('add'),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #title="{ item }">
           <div>
             <span style="color: #409eff">{{ item.title }}</span>
@@ -23,76 +15,37 @@
         </template>
         <template #file="{ item }">
           <div>
-            <span
-              style="color: #409eff; cursor: pointer"
-              @click="clickFile(item.id)"
-              >{{ item.fileName }}</span
-            >
+            <span style="color: #409eff; cursor: pointer" @click="clickFile(item.id)">{{ item.fileName }}</span>
           </div>
         </template>
       </byTable>
     </div>
 
-    <el-dialog
-      :title="modalType == 'add' ? '添加任务' : '编辑任务'"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="600"
-      v-loading="loadingDialog"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="submit"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加任务' : '编辑任务'" v-if="dialogVisible" v-model="dialogVisible" width="600" v-loading="loadingDialog">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #importanceLv>
           <div>
             <el-radio-group v-model="formData.data.importanceLv">
-              <el-radio
-                v-for="item in importanceLv"
-                :key="item.value"
-                :label="item.value"
-                border
-                >{{ item.label }}</el-radio
-              >
+              <el-radio v-for="item in importanceLv" :key="item.value" :label="item.value" border>{{ item.label }}</el-radio>
             </el-radio-group>
           </div>
         </template>
         <template #urgencyLv>
           <div>
             <el-radio-group v-model="formData.data.urgencyLv">
-              <el-radio
-                v-for="item in urgencyLv"
-                :key="item.value"
-                :label="item.value"
-                border
-                >{{ item.label }}</el-radio
-              >
+              <el-radio v-for="item in urgencyLv" :key="item.value" :label="item.value" border>{{ item.label }}</el-radio>
             </el-radio-group>
           </div>
         </template>
         <template #dueDate>
           <div>
-            <el-date-picker
-              v-model="formData.data.dueDate"
-              type="date"
-              placeholder="请选择完成期限"
-              value-format="YYYY-MM-DD"
-            />
+            <el-date-picker v-model="formData.data.dueDate" type="date" placeholder="请选择完成期限" value-format="YYYY-MM-DD" />
           </div>
         </template>
         <template #fileList>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              :limit="1"
-              :before-upload="uploadFile"
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" :limit="1" :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -100,9 +53,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
   </div>

+ 3 - 3
src/views/process/processApproval/index.vue

@@ -77,7 +77,7 @@
           <el-form-item prop="remark" label-width="80px" label="附件上传">
             <el-upload
               v-model:fileList="flowForm.fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+              :action="uploadUrl"
               :data="uploadData"
               multiple
               :before-upload="uploadFile"
@@ -129,8 +129,8 @@
               </el-form-item>
               <el-form-item prop="remark" label-width="80px" label="附件上传">
                 <div style="width:100%">
-                  <el-upload v-model:fileList="flowForm.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="flowForm.fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                             :on-success="handleSuccess" :on-preview="onPreviewFile">
                     <el-button>选择</el-button>
                   </el-upload>
                 </div>

+ 18 - 71
src/views/product/material/index.vue

@@ -1,29 +1,16 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="物料分类"
-        submitType="2"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="物料分类" submitType="2" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           props.selectStatus
             ? {}
             : {
@@ -38,48 +25,25 @@
                 action: () => openModal('add'),
                 disabled: false,
               },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加' : '编辑'"
-      v-model="dialogVisible"
-      width="500"
-      v-loading="loading"
-      destroy-on-close
-    >
+    <el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-model="dialogVisible" width="500" v-loading="loading" destroy-on-close>
       <div class="public_height_dialog">
-        <byForm
-          :formConfig="formConfig"
-          :formOption="formOption"
-          v-model="formData.data"
-          :rules="rules"
-          ref="byform"
-        >
+        <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
           <template #productPic>
             <div>
-              <el-upload
-                v-model:fileList="fileList"
-                action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                :data="uploadData"
-                list-type="picture-card"
-                :on-remove="handleRemove"
-                :on-success="handleSuccess"
-                :before-upload="handleBeforeUpload"
-              >
-                <el-icon><Plus /></el-icon>
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :on-success="handleSuccess" :before-upload="handleBeforeUpload">
+                <el-icon>
+                  <Plus />
+                </el-icon>
               </el-upload>
             </div>
           </template>
@@ -88,32 +52,15 @@
 
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="Excel导入"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="loading"
-    >
+    <el-dialog title="Excel导入" v-model="openExcelDialog" width="400" v-loading="loading">
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitExcel()"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitExcel()" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 22 - 82
src/views/product/product/index.vue

@@ -1,30 +1,16 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="产品分类"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="产品分类" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :statConfig="statConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :statConfig="statConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: 'Excel导入',
             action: () => openExcel(),
@@ -35,17 +21,10 @@
             action: () => openModal('add'),
             disabled: false,
           },
-        ]"
-        @get-list="getList"
-        @moreSearch="retrievalModal = true"
-      >
+        ]" @get-list="getList" @moreSearch="retrievalModal = true">
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
@@ -56,11 +35,7 @@
         <h4>高级检索</h4>
       </template>
       <template #default>
-        <byForm
-          :formConfig="formConfig2"
-          :formOption="formOption"
-          v-model="sourceList.pagination"
-        >
+        <byForm :formConfig="formConfig2" :formOption="formOption" v-model="sourceList.pagination">
           <template #slot> 可自定义所需功能 </template>
         </byForm>
       </template>
@@ -71,34 +46,16 @@
         </div>
       </template>
     </el-drawer>
-    <el-dialog
-      :title="modalType == 'add' ? '添加' : '编辑'"
-      v-model="dialogVisible"
-      width="500"
-      v-loading="loading"
-      destroy-on-close
-    >
+    <el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-model="dialogVisible" width="500" v-loading="loading" destroy-on-close>
       <div class="public_height_dialog">
-        <byForm
-          :formConfig="formConfig"
-          :formOption="formOption"
-          v-model="formData.data"
-          :rules="rules"
-          ref="byform"
-        >
+        <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
           <template #productPic>
             <div>
-              <el-upload
-                v-model:fileList="fileList"
-                action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                :data="uploadData"
-                list-type="picture-card"
-                :on-remove="handleRemove"
-                :on-success="handleSuccess"
-                :before-upload="handleBeforeUpload"
-                accept=".gif, .jpeg, .jpg, .png"
-              >
-                <el-icon><Plus /></el-icon>
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :on-success="handleSuccess" :before-upload="handleBeforeUpload" accept=".gif, .jpeg, .jpg, .png">
+                <el-icon>
+                  <Plus />
+                </el-icon>
               </el-upload>
             </div>
           </template>
@@ -107,32 +64,15 @@
 
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="Excel导入"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="loading"
-    >
+    <el-dialog title="Excel导入" v-model="openExcelDialog" width="400" v-loading="loading">
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitExcel()"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitExcel()" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
@@ -690,9 +630,9 @@ const getDict = () => {
 };
 getDict();
 const clickSearch = () => {
-  sourceList.value.pagination.keyword = '';
-  getList()
-}
+  sourceList.value.pagination.keyword = "";
+  getList();
+};
 </script>
   
 <style lang="scss" scoped>

+ 18 - 72
src/views/product/product/index2.vue

@@ -1,29 +1,16 @@
 <template>
   <div class="user">
     <div class="tree">
-      <treeList
-        title="产品分类"
-        submitType="1"
-        :data="treeListData"
-        v-model="sourceList.pagination.productClassifyId"
-        @change="treeChange"
-        @changeTreeList="getTreeList"
-      >
+      <treeList title="产品分类" submitType="1" :data="treeListData" v-model="sourceList.pagination.productClassifyId" @change="treeChange"
+                @changeTreeList="getTreeList">
       </treeList>
     </div>
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: 'Excel导入',
             action: () => openExcel(),
@@ -34,49 +21,25 @@
             action: () => openModal('add'),
             disabled: false,
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #pic="{ item }">
           <div v-if="item.fileList.length > 0">
-            <img
-              :src="item.fileList[0].fileUrl"
-              class="pic"
-              @click="handleClickFile(item.fileList[0])"
-            />
+            <img :src="item.fileList[0].fileUrl" class="pic" @click="handleClickFile(item.fileList[0])" />
           </div>
           <div v-else></div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加' : '编辑'"
-      v-model="dialogVisible"
-      width="500"
-      v-loading="loading"
-      destroy-on-close
-    >
+    <el-dialog :title="modalType == 'add' ? '添加' : '编辑'" v-model="dialogVisible" width="500" v-loading="loading" destroy-on-close>
       <div class="public_height_dialog">
-        <byForm
-          :formConfig="formConfig"
-          :formOption="formOption"
-          v-model="formData.data"
-          :rules="rules"
-          ref="byform"
-        >
+        <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
           <template #productPic>
             <div>
-              <el-upload
-                v-model:fileList="fileList"
-                action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                :data="uploadData"
-                list-type="picture-card"
-                :on-remove="handleRemove"
-                :on-success="handleSuccess"
-                :before-upload="handleBeforeUpload"
-                accept=".gif, .jpeg, .jpg, .png"
-              >
-                <el-icon><Plus /></el-icon>
+              <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" list-type="picture-card" :on-remove="handleRemove"
+                         :on-success="handleSuccess" :before-upload="handleBeforeUpload" accept=".gif, .jpeg, .jpg, .png">
+                <el-icon>
+                  <Plus />
+                </el-icon>
               </el-upload>
             </div>
           </template>
@@ -85,32 +48,15 @@
 
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="Excel导入"
-      v-model="openExcelDialog"
-      width="400"
-      v-loading="loading"
-    >
+    <el-dialog title="Excel导入" v-model="openExcelDialog" width="400" v-loading="loading">
       <template #footer>
-        <el-button @click="openExcelDialog = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitExcel()"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button @click="openExcelDialog = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitExcel()" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 12 - 57
src/views/production/project/processes/index.vue

@@ -2,75 +2,35 @@
   <div class="tenant">
     <!-- <Banner /> -->
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: '添加工序',
             action: () => openModal('add'),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #fileSlot="{ item }">
-          <div
-            style="cursor: pointer; color: #409eff"
-            @click="handleClickFile(item)"
-          >
+          <div style="cursor: pointer; color: #409eff" @click="handleClickFile(item)">
             {{ item.fileName }}
           </div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加工序' : '编辑工序'"
-      v-model="dialogVisible"
-      width="800"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加工序' : '编辑工序'" v-model="dialogVisible" width="800" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #slot>
           <div>
-            <el-upload
-              v-model:fileList="fileList"
-              class="upload-demo"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :limit="3"
-              :data="uploadData"
-              :on-preview="handlePreview"
-              :on-remove="handleRemove"
-              :on-success="handleSuccess"
-              :before-upload="handleBeforeUpload"
-              accept=".pdf"
-            >
+            <el-upload v-model:fileList="fileList" class="upload-demo" :action="uploadUrl" :limit="3" :data="uploadData" :on-preview="handlePreview"
+                       :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload" accept=".pdf">
               <el-button type="primary">点击上传</el-button>
               <template #file>
                 <div>
                   <div style="margin-top: 15px">
-                    <el-tag
-                      class="ml-2"
-                      type="info"
-                      v-for="(item, index) in fileList"
-                      :key="index"
-                      closable
-                      @close="handleClose(index)"
-                      >{{ item.fileName }}</el-tag
-                    >
+                    <el-tag class="ml-2" type="info" v-for="(item, index) in fileList" :key="index" closable
+                            @close="handleClose(index)">{{ item.fileName }}</el-tag>
                   </div>
                 </div>
               </template>
@@ -80,12 +40,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 96 - 127
src/views/publicModule/companyConfig/index.vue

@@ -1,22 +1,14 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      highlight-current-row
-      :selectConfig="selectConfig"
-      :table-events="{
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+             :selectConfig="selectConfig" :table-events="{
         select: select,
-      }"
-      :action-list="[
+      }" :action-list="[
         {
           text: '添加公司',
           action: () => openModal('add'),
         },
-      ]"
-      @get-list="getList">
+      ]" @get-list="getList">
       <template #timeSlot="{ item }"> {{ item.startDate }} - {{ item.stopDate }} </template>
     </byTable>
     <el-dialog :title="modalType == 'add' ? '添加公司' : '编辑公司'" v-if="dialogVisible" v-model="dialogVisible" width="600" v-loading="loading">
@@ -45,13 +37,8 @@
             </el-col>
             <el-col :span="7">
               <el-form-item prop="provinceName">
-                <selectCity
-                  placeholder="省/洲"
-                  @change="(val) => getCityData(val, '30', true)"
-                  addressId="provinceId"
-                  addressName="provinceName"
-                  v-model="formData.data"
-                  :data="provinceData">
+                <selectCity placeholder="省/洲" @change="(val) => getCityData(val, '30', true)" addressId="provinceId" addressName="provinceName"
+                            v-model="formData.data" :data="provinceData">
                 </selectCity>
               </el-form-item>
             </el-col>
@@ -100,100 +87,64 @@
             <el-row style="width: 100%">
               <el-col :span="6">
                 <el-form-item label="企业logo">
-                  <el-upload
-                    class="avatar-uploader"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataOne"
-                    :show-file-list="false"
-                    :on-success="enterpriseLogoListSuccess"
-                    :before-upload="uploadFileOne">
-                    <el-image
-                      v-if="formData.data.enterpriseLogoList && formData.data.enterpriseLogoList.length > 0"
-                      :src="formData.data.enterpriseLogoList[0].fileUrl"
-                      fit="scale-down"
-                      class="avatar" />
-                    <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+                  <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadDataOne" :show-file-list="false"
+                             :on-success="enterpriseLogoListSuccess" :before-upload="uploadFileOne">
+                    <el-image v-if="formData.data.enterpriseLogoList && formData.data.enterpriseLogoList.length > 0"
+                              :src="formData.data.enterpriseLogoList[0].fileUrl" fit="scale-down" class="avatar" />
+                    <el-icon v-else class="avatar-uploader-icon">
+                      <Plus />
+                    </el-icon>
                   </el-upload>
-                  <el-button 
-                    class="delete-btn" 
-                    type="danger" 
-                    v-if="formData.data.enterpriseLogoList && formData.data.enterpriseLogoList.length > 0"
-                    @click="formData.data.enterpriseLogoList = []">
+                  <el-button class="delete-btn" type="danger" v-if="formData.data.enterpriseLogoList && formData.data.enterpriseLogoList.length > 0"
+                             @click="formData.data.enterpriseLogoList = []">
                     删除
                   </el-button>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="法人签名">
-                  <el-upload
-                    class="avatar-uploader"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataTwo"
-                    :show-file-list="false"
-                    :on-success="larSignListSuccess"
-                    :before-upload="uploadFileTwo">
-                    <el-image
-                      v-if="formData.data.larSignList && formData.data.larSignList.length > 0"
-                      :src="formData.data.larSignList[0].fileUrl"
-                      fit="scale-down"
-                      class="avatar" />
-                    <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+                  <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadDataTwo" :show-file-list="false"
+                             :on-success="larSignListSuccess" :before-upload="uploadFileTwo">
+                    <el-image v-if="formData.data.larSignList && formData.data.larSignList.length > 0" :src="formData.data.larSignList[0].fileUrl"
+                              fit="scale-down" class="avatar" />
+                    <el-icon v-else class="avatar-uploader-icon">
+                      <Plus />
+                    </el-icon>
                   </el-upload>
-                  <el-button 
-                    class="delete-btn" 
-                    type="danger" 
-                    v-if="formData.data.larSignList && formData.data.larSignList.length > 0"
-                    @click="formData.data.larSignList = []">
+                  <el-button class="delete-btn" type="danger" v-if="formData.data.larSignList && formData.data.larSignList.length > 0"
+                             @click="formData.data.larSignList = []">
                     删除
                   </el-button>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="公章">
-                  <el-upload
-                    class="avatar-uploader"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataThree"
-                    :show-file-list="false"
-                    :on-success="officialSealListSuccess"
-                    :before-upload="uploadFileThree">
-                    <el-image
-                      v-if="formData.data.officialSealList && formData.data.officialSealList.length > 0"
-                      :src="formData.data.officialSealList[0].fileUrl"
-                      fit="scale-down"
-                      class="avatar" />
-                    <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+                  <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadDataThree" :show-file-list="false"
+                             :on-success="officialSealListSuccess" :before-upload="uploadFileThree">
+                    <el-image v-if="formData.data.officialSealList && formData.data.officialSealList.length > 0"
+                              :src="formData.data.officialSealList[0].fileUrl" fit="scale-down" class="avatar" />
+                    <el-icon v-else class="avatar-uploader-icon">
+                      <Plus />
+                    </el-icon>
                   </el-upload>
-                  <el-button 
-                    class="delete-btn" 
-                    type="danger" 
-                     v-if="formData.data.officialSealList && formData.data.officialSealList.length > 0"
-                    @click="formData.data.officialSealList = []">
+                  <el-button class="delete-btn" type="danger" v-if="formData.data.officialSealList && formData.data.officialSealList.length > 0"
+                             @click="formData.data.officialSealList = []">
                     删除
                   </el-button>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="合同章">
-                  <el-upload
-                    class="avatar-uploader"
-                    action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                    :data="uploadDataFour"
-                    :show-file-list="false"
-                    :on-success="contractSealListSuccess"
-                    :before-upload="uploadFileFour">
-                    <el-image
-                      v-if="formData.data.contractSealList && formData.data.contractSealList.length > 0"
-                      :src="formData.data.contractSealList[0].fileUrl"
-                      fit="scale-down"
-                      class="avatar" />
-                    <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+                  <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadDataFour" :show-file-list="false"
+                             :on-success="contractSealListSuccess" :before-upload="uploadFileFour">
+                    <el-image v-if="formData.data.contractSealList && formData.data.contractSealList.length > 0"
+                              :src="formData.data.contractSealList[0].fileUrl" fit="scale-down" class="avatar" />
+                    <el-icon v-else class="avatar-uploader-icon">
+                      <Plus />
+                    </el-icon>
                   </el-upload>
-                  <el-button 
-                    class="delete-btn" 
-                    type="danger" 
-                    v-if="formData.data.contractSealList && formData.data.contractSealList.length > 0" 
-                    @click="formData.data.contractSealList = []">
+                  <el-button class="delete-btn" type="danger" v-if="formData.data.contractSealList && formData.data.contractSealList.length > 0"
+                             @click="formData.data.contractSealList = []">
                     删除
                   </el-button>
                 </el-form-item>
@@ -232,7 +183,9 @@ let modalType = ref("add");
 let rules = ref({
   name: [{ required: true, message: "请输入公司名称", trigger: "blur" }],
   countryId: [{ required: true, message: "请选择国家", trigger: "change" }],
-  countryEnStr: [{ required: true, message: "请输入国家 (英文)", trigger: "blur" }],
+  countryEnStr: [
+    { required: true, message: "请输入国家 (英文)", trigger: "blur" },
+  ],
 });
 const { proxy } = getCurrentInstance();
 const contactInformationType = ref([]);
@@ -328,11 +281,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy
                   .post("/corporation/delete", {
                     id: row.id,
@@ -452,27 +409,31 @@ const formConfig = computed(() => {
   ];
 });
 const getDict = () => {
-  proxy.getDictOne(["enterprise_type", "taxpayer_qualification"]).then((res) => {
-    enterpriseType.value = res["enterprise_type"].map((x) => ({
-      label: x.dictValue,
-      value: x.dictKey,
-    }));
-    contactInformationType.value = res["taxpayer_qualification"].map((x) => ({
-      label: x.dictValue,
-      value: x.dictKey,
-    }));
-  });
+  proxy
+    .getDictOne(["enterprise_type", "taxpayer_qualification"])
+    .then((res) => {
+      enterpriseType.value = res["enterprise_type"].map((x) => ({
+        label: x.dictValue,
+        value: x.dictKey,
+      }));
+      contactInformationType.value = res["taxpayer_qualification"].map((x) => ({
+        label: x.dictValue,
+        value: x.dictKey,
+      }));
+    });
 };
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  proxy.post("/corporation/page", sourceList.value.pagination).then((message) => {
-    sourceList.value.data = message.rows;
-    sourceList.value.pagination.total = message.total;
-    setTimeout(() => {
-      loading.value = false;
-    }, 200);
-  });
+  proxy
+    .post("/corporation/page", sourceList.value.pagination)
+    .then((message) => {
+      sourceList.value.data = message.rows;
+      sourceList.value.pagination.total = message.total;
+      setTimeout(() => {
+        loading.value = false;
+      }, 200);
+    });
 };
 const countryData = ref([]);
 const provinceData = ref([]);
@@ -546,18 +507,26 @@ const getDtl = (row) => {
     if (formData.data.provinceId) {
       getCityData(formData.data.provinceId, "30");
     }
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 1 }).then((resFile) => {
-      formData.data.enterpriseLogoList = resFile[res.id];
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 2 }).then((resFile) => {
-      formData.data.larSignList = resFile[res.id];
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 3 }).then((resFile) => {
-      formData.data.officialSealList = resFile[res.id];
-    });
-    proxy.post("/fileInfo/getList", { businessIdList: [res.id], fileType: 4 }).then((resFile) => {
-      formData.data.contractSealList = resFile[res.id];
-    });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 1 })
+      .then((resFile) => {
+        formData.data.enterpriseLogoList = resFile[res.id];
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 2 })
+      .then((resFile) => {
+        formData.data.larSignList = resFile[res.id];
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 3 })
+      .then((resFile) => {
+        formData.data.officialSealList = resFile[res.id];
+      });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [res.id], fileType: 4 })
+      .then((resFile) => {
+        formData.data.contractSealList = resFile[res.id];
+      });
     dialogVisible.value = true;
   });
 };
@@ -638,7 +607,7 @@ const contractSealListSuccess = (response, uploadFile) => {
 <style lang="scss" scoped>
 .tenant {
   padding: 20px;
-  .delete-btn{
+  .delete-btn {
     margin-top: 10px;
     margin-left: 25px;
   }

+ 36 - 179
src/views/purchaseManage/purchaseManage/handoverSlip/index.vue

@@ -1,25 +1,15 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      highlight-current-row
-      :selectConfig="selectConfig"
-      :row-class-name="getRowClass"
-      :table-events="{
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+             :selectConfig="selectConfig" :row-class-name="getRowClass" :table-events="{
         select: selectRow,
-      }"
-      :action-list="[
+      }" :action-list="[
         {
           text: '采购',
           disabled: selectData.length === 0,
           action: () => start(),
         },
-      ]"
-      @get-list="getList"
-    >
+      ]" @get-list="getList">
       <!-- {
           text: '转生产',
           disabled: selectData.length === 0,
@@ -33,118 +23,42 @@
       </template>
       <template #details="{ item }">
         <div>
-          <el-button
-            type="primary"
-            link
-            v-if="item.expendQuantity >= 0"
-            @click="handleClickDetails(item)"
-            >查看</el-button
-          >
-          <el-button
-            type="primary"
-            link
-            style="color: #f54a45"
-            v-else
-            @click="handleClickDetails(item)"
-            >查看</el-button
-          >
+          <el-button type="primary" link v-if="item.expendQuantity >= 0" @click="handleClickDetails(item)">查看</el-button>
+          <el-button type="primary" link style="color: #f54a45" v-else @click="handleClickDetails(item)">查看</el-button>
         </div>
       </template>
       <template #btn="{ item }">
         <div v-if="item.expendQuantity > 0">
-          <el-button type="primary" link @click="start(10, item)"
-            >采购</el-button
-          >
-          <el-button type="primary" link @click="transferToProduction(item)"
-            >转生产</el-button
-          >
+          <el-button type="primary" link @click="start(10, item)">采购</el-button>
+          <el-button type="primary" link @click="transferToProduction(item)">转生产</el-button>
         </div>
         <div v-else-if="item.expendQuantity == 0">
-          <el-button type="primary" link @click="handleFollow(item)"
-            >跟进</el-button
-          >
-          <el-button type="primary" link @click="lookRecords(item)"
-            >跟进记录</el-button
-          >
+          <el-button type="primary" link @click="handleFollow(item)">跟进</el-button>
+          <el-button type="primary" link @click="lookRecords(item)">跟进记录</el-button>
         </div>
         <div v-else>
-          <el-button
-            type="primary"
-            link
-            style="color: #f54a45"
-            @click="handleFollow(item)"
-            >跟进</el-button
-          >
-          <el-button
-            type="primary"
-            link
-            style="color: #f54a45"
-            @click="lookRecords(item)"
-            >跟进记录</el-button
-          >
+          <el-button type="primary" link style="color: #f54a45" @click="handleFollow(item)">跟进</el-button>
+          <el-button type="primary" link style="color: #f54a45" @click="lookRecords(item)">跟进记录</el-button>
         </div>
       </template>
     </byTable>
 
-    <el-dialog
-      title="转生产"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="1200"
-      v-loading="loadingDialog"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="submit"
-      >
+    <el-dialog title="转生产" v-if="dialogVisible" v-model="dialogVisible" width="1200" v-loading="loadingDialog">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #details>
           <div style="width: 100%">
-            <el-table
-              :data="formData.data.list"
-              style="width: 100%; margin-top: 16px"
-            >
-              <el-table-column
-                prop="productCode"
-                label="物品编码"
-                width="140"
-              />
-              <el-table-column
-                prop="productName"
-                label="物品名称"
-                min-width="220"
-              />
-              <el-table-column
-                prop="productUnit"
-                label="单位"
-                width="100"
-                :formatter="
+            <el-table :data="formData.data.list" style="width: 100%; margin-top: 16px">
+              <el-table-column prop="productCode" label="物品编码" width="140" />
+              <el-table-column prop="productName" label="物品名称" min-width="220" />
+              <el-table-column prop="productUnit" label="单位" width="100" :formatter="
                   (row) => dictValueLabel(row.productUnit, productUnit)
-                "
-              />
-              <el-table-column
-                prop="expendQuantity"
-                label="待处理数量"
-                width="120"
-              />
+                " />
+              <el-table-column prop="expendQuantity" label="待处理数量" width="120" />
               <el-table-column label="转生产数量" width="160">
                 <template #default="{ row, $index }">
                   <div style="width: 100%">
-                    <el-form-item
-                      :prop="'list.' + $index + '.quantity'"
-                      :rules="rules.quantity"
-                      :inline-message="true"
-                    >
-                      <el-input-number
-                        v-model="row.quantity"
-                        placeholder="请输入数量"
-                        style="width: 100%"
-                        :precision="0"
-                        :controls="false"
-                        :min="0"
-                      />
+                    <el-form-item :prop="'list.' + $index + '.quantity'" :rules="rules.quantity" :inline-message="true">
+                      <el-input-number v-model="row.quantity" placeholder="请输入数量" style="width: 100%" :precision="0" :controls="false" :min="0" />
                     </el-form-item>
                   </div>
                 </template>
@@ -152,31 +66,15 @@
               <el-table-column label="完工期限" width="180">
                 <template #default="{ row, $index }">
                   <div style="width: 100%">
-                    <el-form-item
-                      :prop="'list.' + $index + '.time'"
-                      :rules="rules.time"
-                      :inline-message="true"
-                    >
-                      <el-date-picker
-                        v-model="row.time"
-                        type="date"
-                        placeholder="请选择"
-                        value-format="YYYY-MM-DD"
-                      />
+                    <el-form-item :prop="'list.' + $index + '.time'" :rules="rules.time" :inline-message="true">
+                      <el-date-picker v-model="row.time" type="date" placeholder="请选择" value-format="YYYY-MM-DD" />
                     </el-form-item>
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column
-                align="center"
-                label="操作"
-                width="80"
-                fixed="right"
-              >
+              <el-table-column align="center" label="操作" width="80" fixed="right">
                 <template #default="{ row, $index }">
-                  <el-button type="primary" link @click="handleDelete($index)"
-                    >删除</el-button
-                  >
+                  <el-button type="primary" link @click="handleDelete($index)">删除</el-button>
                 </template>
               </el-table-column>
             </el-table>
@@ -185,45 +83,22 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="填写跟进"
-      v-if="dialogVisibleOne"
-      v-model="dialogVisibleOne"
-      width="500"
-      v-loading="loadingDialog"
-    >
-      <byForm
-        :formConfig="formConfigOne"
-        :formOption="formOption"
-        v-model="formData.dataOne"
-        :rules="rulesOne"
-        ref="submitOne"
-      >
+    <el-dialog title="填写跟进" v-if="dialogVisibleOne" v-model="dialogVisibleOne" width="500" v-loading="loadingDialog">
+      <byForm :formConfig="formConfigOne" :formOption="formOption" v-model="formData.dataOne" :rules="rulesOne" ref="submitOne">
       </byForm>
       <template #footer>
-        <el-button @click="dialogVisibleOne = false" size="large"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="submitFormOne()" size="large"
-          >确 定</el-button
-        >
+        <el-button @click="dialogVisibleOne = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitFormOne()" size="large">确 定</el-button>
       </template>
     </el-dialog>
 
     <el-dialog title="跟进记录" v-model="dialogVisibleTwo" width="500">
       <div style="width: 100%">
         <el-timeline :reverse="false">
-          <el-timeline-item
-            placement="top"
-            v-for="(activity, index) in activities"
-            :key="index"
-            :timestamp="activity.followUpTime"
-          >
+          <el-timeline-item placement="top" v-for="(activity, index) in activities" :key="index" :timestamp="activity.followUpTime">
             <div>
               跟进结果:
               <span>{{ activity.resultType ? "已处理" : "处理中" }}</span>
@@ -234,34 +109,16 @@
       </div>
     </el-dialog>
 
-    <el-dialog
-      title="交接单"
-      v-if="openHandover"
-      v-model="openHandover"
-      width="800"
-    >
-      <byForm
-        :formConfig="formHandoverConfig"
-        :formOption="formOption"
-        v-model="productRow.data"
-      >
+    <el-dialog title="交接单" v-if="openHandover" v-model="openHandover" width="800">
+      <byForm :formConfig="formHandoverConfig" :formOption="formOption" v-model="productRow.data">
         <template #remark>
           <div style="width: 100%">
-            <Editor
-              ref="remarkEditor"
-              :readOnly="true"
-              :value="productRow.data.remark"
-            />
+            <Editor ref="remarkEditor" :readOnly="true" :value="productRow.data.remark" />
           </div>
         </template>
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="productRow.data.fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              multiple
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="productRow.data.fileList" :action="uploadUrl" multiple :on-preview="onPreviewFile">
             </el-upload>
           </div>
         </template>

+ 10 - 50
src/views/purchaseManage/purchaseManage/handoverSlipOne/index.vue

@@ -1,24 +1,15 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      highlight-current-row
-      :selectConfig="selectConfig"
-      :table-events="{
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+             :selectConfig="selectConfig" :table-events="{
         select: selectRow,
-      }"
-      :action-list="[
+      }" :action-list="[
         {
           text: '采购',
           disabled: selectData.length === 0,
           action: () => start(),
         },
-      ]"
-      @get-list="getList"
-    >
+      ]" @get-list="getList">
       <template #claimTime="{ item }">
         <div>
           <span v-if="item.claimTime">{{ item.claimTime }}</span>
@@ -27,21 +18,8 @@
       </template>
       <template #details="{ item }">
         <div>
-          <el-button
-            type="primary"
-            link
-            v-if="item.expendQuantity >= 0"
-            @click="handleClickDetails(item)"
-            >查看</el-button
-          >
-          <el-button
-            type="primary"
-            link
-            style="color: #f54a45"
-            v-else
-            @click="handleClickDetails(item)"
-            >查看</el-button
-          >
+          <el-button type="primary" link v-if="item.expendQuantity >= 0" @click="handleClickDetails(item)">查看</el-button>
+          <el-button type="primary" link style="color: #f54a45" v-else @click="handleClickDetails(item)">查看</el-button>
         </div>
       </template>
       <template #btn="{ item }">
@@ -49,34 +27,16 @@
       </template>
     </byTable>
 
-    <el-dialog
-      title="交接单"
-      v-if="openHandover"
-      v-model="openHandover"
-      width="800"
-    >
-      <byForm
-        :formConfig="formHandoverConfig"
-        :formOption="formOption"
-        v-model="productRow.data"
-      >
+    <el-dialog title="交接单" v-if="openHandover" v-model="openHandover" width="800">
+      <byForm :formConfig="formHandoverConfig" :formOption="formOption" v-model="productRow.data">
         <template #remark>
           <div style="width: 100%">
-            <Editor
-              ref="remarkEditor"
-              :readOnly="true"
-              :value="productRow.data.remark"
-            />
+            <Editor ref="remarkEditor" :readOnly="true" :value="productRow.data.remark" />
           </div>
         </template>
         <template #file>
           <div style="width: 100%">
-            <el-upload
-              v-model:fileList="productRow.data.fileList"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              multiple
-              :on-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="productRow.data.fileList" :action="uploadUrl" multiple :on-preview="onPreviewFile">
             </el-upload>
           </div>
         </template>

+ 12 - 57
src/views/purchaseManage/purchaseManage/purchase/index.vue

@@ -2,50 +2,27 @@
   <div class="tenant">
     <!-- <Banner /> -->
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: selectRow,
           'select-all': selectRow,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: '采购',
             disabled: selectData.length === 0,
             action: () => start(),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #fileSlot="{ item }">
-          <div
-            style="cursor: pointer; color: #409eff"
-            @click="handleClickFile(item)"
-          >
+          <div style="cursor: pointer; color: #409eff" @click="handleClickFile(item)">
             {{ item.fileName }}
           </div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加供应商' : '编辑供应商'"
-      v-model="dialogVisible"
-      width="800"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加供应商' : '编辑供应商'" v-model="dialogVisible" width="800" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #address>
           <el-row :gutter="10" style="width: 100%">
             <el-col :span="8">
@@ -89,31 +66,14 @@
 
         <template #fileSlot>
           <div>
-            <el-upload
-              v-model:fileList="fileList"
-              class="upload-demo"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :limit="3"
-              :data="uploadData"
-              :on-preview="handlePreview"
-              :on-remove="handleRemove"
-              :on-success="handleSuccess"
-              :before-upload="handleBeforeUpload"
-              accept=".pdf"
-            >
+            <el-upload v-model:fileList="fileList" class="upload-demo" :action="uploadUrl" :limit="3" :data="uploadData" :on-preview="handlePreview"
+                       :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload" accept=".pdf">
               <el-button type="primary">选择</el-button>
               <template #file>
                 <div>
                   <div style="margin-top: 15px">
-                    <el-tag
-                      class="ml-2"
-                      type="info"
-                      v-for="(item, index) in fileList"
-                      :key="index"
-                      closable
-                      @close="handleClose(index)"
-                      >{{ item.fileName }}</el-tag
-                    >
+                    <el-tag class="ml-2" type="info" v-for="(item, index) in fileList" :key="index" closable
+                            @close="handleClose(index)">{{ item.fileName }}</el-tag>
                   </div>
                 </div>
               </template>
@@ -123,12 +83,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 43 - 151
src/views/purchaseManage/purchaseManage/purchaseDocumentary/index.vue

@@ -1,27 +1,12 @@
 <template>
   <div class="content">
-    <el-form
-      :inline="true"
-      :model="sourceList.pagination"
-      class="demo-form-inline"
-    >
+    <el-form :inline="true" :model="sourceList.pagination" class="demo-form-inline">
       <el-form-item label="采购合同号:" prop="code">
-        <el-input
-          v-model="sourceList.pagination.code"
-          placeholder="请输入采购合同号"
-        />
+        <el-input v-model="sourceList.pagination.code" placeholder="请输入采购合同号" />
       </el-form-item>
       <el-form-item label="采购员:" prop="userId">
-        <el-select
-          v-model="sourceList.pagination.userId"
-          placeholder="请选择业务员"
-        >
-          <el-option
-            v-for="item in userList"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
+        <el-select v-model="sourceList.pagination.userId" placeholder="请选择业务员">
+          <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
           </el-option>
         </el-select>
       </el-form-item>
@@ -30,60 +15,38 @@
       </el-form-item>
     </el-form>
     <div style="padding: 10px 20px; width: 100%; box-sizing: border-box">
-      <div
-        style="
+      <div style="
           width: 100%;
           display: flex;
           padding-bottom: 5px;
           overflow-x: auto;
-        "
-        class="topScrollDom"
-        @scroll="handleScroll($event, true)"
-      >
-        <div
-          v-for="(item, index) in purchaseTrackType"
-          :key="index"
-          style="display: flex; align-items: center"
-        >
-          <div
-            style="width: 200px; height: 80px; position: relative"
-            @click="selectRegion(item)"
-          >
-            <div
-              :class="
+        " class="topScrollDom" @scroll="handleScroll($event, true)">
+        <div v-for="(item, index) in purchaseTrackType" :key="index" style="display: flex; align-items: center">
+          <div style="width: 200px; height: 80px; position: relative" @click="selectRegion(item)">
+            <div :class="
                 selectRecordDocumentaryId === item.id
                   ? 'regionSelect'
                   : 'regionNoSelect'
-              "
-              style="cursor: pointer"
-            >
+              " style="cursor: pointer">
               <div style="color: #333333; font-size: 13px; font-weight: 700">
                 {{ item.count }}
               </div>
               <div style="color: #333333; font-size: 12px; font-weight: 700">
                 {{ item.name }}
               </div>
-              <div
-                class="right-bottom"
-                style="position: absolute; right: 0; bottom: 0"
-              >
+              <div class="right-bottom" style="position: absolute; right: 0; bottom: 0">
                 {{ index + 1 }}
               </div>
             </div>
-            <el-icon class="beacon" v-if="index < purchaseTrackType.length - 1"
-              ><CaretRight
-            /></el-icon>
+            <el-icon class="beacon" v-if="index < purchaseTrackType.length - 1">
+              <CaretRight />
+            </el-icon>
           </div>
         </div>
       </div>
     </div>
     <div class="main-content" v-loading="loading">
-      <el-card
-        class="box-card"
-        v-for="(item, index) in sourceList.data"
-        :key="index"
-        style="margin-bottom: 20px"
-      >
+      <el-card class="box-card" v-for="(item, index) in sourceList.data" :key="index" style="margin-bottom: 20px">
         <template #header>
           <el-row>
             <el-col :span="4">
@@ -103,79 +66,42 @@
             </el-col>
           </el-row>
         </template>
-        <div
-          style="overflow-x: auto; width: 100%"
-          class="scrollDom"
-          @scroll="handleScroll($event, false, index)"
-        >
+        <div style="overflow-x: auto; width: 100%" class="scrollDom" @scroll="handleScroll($event, false, index)">
           <el-steps :space="200" align-center>
-            <el-step
-              v-for="(itemType, key) in purchaseTrackType"
-              :key="key"
-              :title="itemType.name"
-              :status="getStatus(itemType, item)"
-            />
+            <el-step v-for="(itemType, key) in purchaseTrackType" :key="key" :title="itemType.name" :status="getStatus(itemType, item)" />
           </el-steps>
           <div style="display: flex">
-            <div
-              v-for="(itemType, key) in purchaseTrackType"
-              :key="key"
-              style="width: 200px !important; min-width: 200px !important"
-            >
+            <div v-for="(itemType, key) in purchaseTrackType" :key="key" style="width: 200px !important; min-width: 200px !important">
               <div style="padding: 8px 0; text-align: center">
-                <el-icon
-                  style="color: #409eff; cursor: pointer"
-                  @click="clickAdd(item, itemType)"
-                  ><EditPen
-                /></el-icon>
+                <el-icon style="color: #409eff; cursor: pointer" @click="clickAdd(item, itemType)">
+                  <EditPen />
+                </el-icon>
               </div>
-              <div
-                style="text-align: center"
-                v-if="
+              <div style="text-align: center" v-if="
                   item.documentaryRecord && item.documentaryRecord[itemType.id]
-                "
-              >
+                ">
                 <el-tooltip class="box-item" effect="light" placement="bottom">
                   <template #content>
-                    <div
-                      style="
+                    <div style="
                         max-width: 400px;
                         max-height: 50vh;
                         overflow-y: auto;
-                      "
-                    >
+                      ">
                       <el-timeline>
-                        <el-timeline-item
-                          v-for="(activity, index) in item.documentaryRecord[
+                        <el-timeline-item v-for="(activity, index) in item.documentaryRecord[
                             itemType.id
-                          ]"
-                          :key="index"
-                          :timestamp="activity.createTime"
-                          :hide-timestamp="true"
-                        >
+                          ]" :key="index" :timestamp="activity.createTime" :hide-timestamp="true">
                           <div style="background-color: #e2fbe8; padding: 8px">
                             <div style="font-size: 12px">
                               {{ activity.createTime }}
                             </div>
-                            <div
-                              style="font-size: 12px"
-                              v-html="getStyle(activity.remark)"
-                            ></div>
-                            <div
-                              v-if="
+                            <div style="font-size: 12px" v-html="getStyle(activity.remark)"></div>
+                            <div v-if="
                                 activity.fileList &&
                                 activity.fileList.length > 0
-                              "
-                            >
-                              <div
-                                v-for="(file, index) in activity.fileList"
-                                :key="index"
-                              >
-                                <a
-                                  style="color: #409eff; cursor: pointer"
-                                  @click="openFile(file.fileUrl)"
-                                  >{{ file.fileName }}</a
-                                >
+                              ">
+                              <div v-for="(file, index) in activity.fileList" :key="index">
+                                <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
                               </div>
                             </div>
                           </div>
@@ -183,15 +109,12 @@
                       </el-timeline>
                     </div>
                   </template>
-                  <span
-                    style="
+                  <span style="
                       color: #409eff;
                       cursor: pointer;
                       padding: 8px 0;
                       font-size: 12px;
-                    "
-                    >跟单详情</span
-                  >
+                    ">跟单详情</span>
                 </el-tooltip>
               </div>
             </div>
@@ -201,51 +124,22 @@
     </div>
 
     <el-row style="padding-top: 20px" justify="end" type="flex">
-      <el-pagination
-        background
-        layout="total, sizes, prev, pager, next, jumper"
-        :current-page="sourceList.pagination.pageNum"
-        :page-size="sourceList.pagination.pageSize"
-        :total="sourceList.pagination.total"
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-      />
+      <el-pagination background layout="total, sizes, prev, pager, next, jumper" :current-page="sourceList.pagination.pageNum"
+                     :page-size="sourceList.pagination.pageSize" :total="sourceList.pagination.total" @size-change="handleSizeChange"
+                     @current-change="handlePageChange" />
     </el-row>
 
-    <el-dialog
-      :title="title"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="600"
-      v-loading="loadingDialog"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="submit"
-      >
+    <el-dialog :title="title" v-if="dialogVisible" v-model="dialogVisible" width="600" v-loading="loadingDialog">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #completionTime>
           <div>
-            <el-date-picker
-              v-model="formData.data.completionTime"
-              type="datetime"
-              placeholder="请选择完成时间"
-              value-format="YYYY-MM-DD HH:mm:ss"
-            />
+            <el-date-picker v-model="formData.data.completionTime" type="datetime" placeholder="请选择完成时间" value-format="YYYY-MM-DD HH:mm:ss" />
           </div>
         </template>
         <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-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -253,9 +147,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
   </div>

+ 12 - 57
src/views/purchaseManage/purchaseManage/subscribe/index.vue

@@ -2,48 +2,25 @@
   <div class="tenant">
     <!-- <Banner /> -->
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           //element talbe事件都能传
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: '发起申购',
             action: () => openModal(),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #fileSlot="{ item }">
-          <div
-            style="cursor: pointer; color: #409eff"
-            @click="handleClickFile(item)"
-          >
+          <div style="cursor: pointer; color: #409eff" @click="handleClickFile(item)">
             {{ item.fileName }}
           </div>
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加供应商' : '编辑供应商'"
-      v-model="dialogVisible"
-      width="800"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加供应商' : '编辑供应商'" v-model="dialogVisible" width="800" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #address>
           <el-row :gutter="10" style="width: 100%">
             <el-col :span="8">
@@ -87,31 +64,14 @@
 
         <template #fileSlot>
           <div>
-            <el-upload
-              v-model:fileList="fileList"
-              class="upload-demo"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :limit="3"
-              :data="uploadData"
-              :on-preview="handlePreview"
-              :on-remove="handleRemove"
-              :on-success="handleSuccess"
-              :before-upload="handleBeforeUpload"
-              accept=".pdf"
-            >
+            <el-upload v-model:fileList="fileList" class="upload-demo" :action="uploadUrl" :limit="3" :data="uploadData" :on-preview="handlePreview"
+                       :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload" accept=".pdf">
               <el-button type="primary">选择</el-button>
               <template #file>
                 <div>
                   <div style="margin-top: 15px">
-                    <el-tag
-                      class="ml-2"
-                      type="info"
-                      v-for="(item, index) in fileList"
-                      :key="index"
-                      closable
-                      @close="handleClose(index)"
-                      >{{ item.fileName }}</el-tag
-                    >
+                    <el-tag class="ml-2" type="info" v-for="(item, index) in fileList" :key="index" closable
+                            @close="handleClose(index)">{{ item.fileName }}</el-tag>
                   </div>
                 </div>
               </template>
@@ -121,12 +81,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 70 - 76
src/views/purchaseManage/purchasePayment/invoice/index.vue

@@ -1,20 +1,13 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               highlight-current-row :action-list="[
           {
             text: '添加发票',
             action: () => openModal('add'),
           },
-        ]"
-        @get-list="getList">
+        ]" @get-list="getList">
       </byTable>
     </div>
 
@@ -22,24 +15,14 @@
       <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #money>
           <div style="width: 100%">
-            <el-input-number
-              onmousewheel="return false;"
-              v-model="formData.data.money"
-              placeholder="请输入开票金额"
-              :precision="2"
-              :controls="false"
-              :min="0" />
+            <el-input-number onmousewheel="return false;" v-model="formData.data.money" placeholder="请输入开票金额" :precision="2" :controls="false"
+                             :min="0" />
           </div>
         </template>
         <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>上传文件</el-button>
             </el-upload>
           </div>
@@ -52,14 +35,8 @@
             <el-table-column label="关联金额">
               <template #default="{ row, $index }">
                 <el-form-item :prop="'invoiceDetailsList.' + $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" />
+                  <el-input-number onmousewheel="return false;" v-model="row.money" placeholder="请输入关联金额" style="width: 100%" :precision="2"
+                                   :controls="false" :min="0" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -170,11 +147,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy
                   .post("/invoice/delete", {
                     id: row.id,
@@ -212,16 +193,18 @@ const getDict = () => {
         });
       }
     });
-  proxy.post("/supplierInfo/page", { pageNum: 1, pageSize: 999 }).then((res) => {
-    if (res.rows && res.rows.length > 0) {
-      supplierList.value = res.rows.map((item) => {
-        return {
-          label: item.name,
-          value: item.id,
-        };
-      });
-    }
-  });
+  proxy
+    .post("/supplierInfo/page", { pageNum: 1, pageSize: 999 })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        supplierList.value = res.rows.map((item) => {
+          return {
+            label: item.name,
+            value: item.id,
+          };
+        });
+      }
+    });
 };
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
@@ -307,22 +290,24 @@ const openModal = (val) => {
 };
 const changeSupply = (val) => {
   if (val) {
-    proxy.get("/purchase/getNoInvoiceListBySupplyId", { supplyId: val }).then((res) => {
-      if (res.data && res.data.length > 0) {
-        formData.data.invoiceDetailsList = res.data.map((item) => {
-          return {
-            purchaseId: item.id,
-            code: item.code,
-            amount: item.amount,
-            sumInvoiceMoney: item.sumInvoiceMoney,
-            money: 0,
-            remark: "",
-          };
-        });
-      } else {
-        formData.data.invoiceDetailsList = [];
-      }
-    });
+    proxy
+      .get("/purchase/getNoInvoiceListBySupplyId", { supplyId: val })
+      .then((res) => {
+        if (res.data && res.data.length > 0) {
+          formData.data.invoiceDetailsList = res.data.map((item) => {
+            return {
+              purchaseId: item.id,
+              code: item.code,
+              amount: item.amount,
+              sumInvoiceMoney: item.sumInvoiceMoney,
+              money: 0,
+              remark: "",
+            };
+          });
+        } else {
+          formData.data.invoiceDetailsList = [];
+        }
+      });
   } else {
     formData.data.invoiceDetailsList = [];
   }
@@ -348,12 +333,19 @@ const submitForm = () => {
         };
       });
     }
-    if (!(formData.data.invoiceDetailsList && formData.data.invoiceDetailsList.length > 0)) {
+    if (
+      !(
+        formData.data.invoiceDetailsList &&
+        formData.data.invoiceDetailsList.length > 0
+      )
+    ) {
       return ElMessage("该供应商暂无关联合同");
     }
     let money = 0;
     for (let i = 0; i < formData.data.invoiceDetailsList.length; i++) {
-      money = parseFloat(Number(money) + Number(formData.data.invoiceDetailsList[i].money)).toFixed(2);
+      money = parseFloat(
+        Number(money) + Number(formData.data.invoiceDetailsList[i].money)
+      ).toFixed(2);
     }
     if (money != formData.data.money) {
       return ElMessage("开票金额不等于关联金额");
@@ -380,17 +372,19 @@ const update = (row) => {
   modalType.value = "edit";
   loadingDialog.value = true;
   proxy.post("/invoice/detail", { id: row.id }).then((res) => {
-    proxy.post("/fileInfo/getList", { businessIdList: [row.id] }).then((res) => {
-      if (res[row.id] && res[row.id].length > 0) {
-        fileList.value = res[row.id].map((item) => {
-          return {
-            raw: item,
-            name: item.fileName,
-            url: item.fileUrl,
-          };
-        });
-      }
-    });
+    proxy
+      .post("/fileInfo/getList", { businessIdList: [row.id] })
+      .then((res) => {
+        if (res[row.id] && res[row.id].length > 0) {
+          fileList.value = res[row.id].map((item) => {
+            return {
+              raw: item,
+              name: item.fileName,
+              url: item.fileUrl,
+            };
+          });
+        }
+      });
     res.invoiceDetailsList = res.invoiceDetailsVoList.map((item) => {
       return {
         code: item.purchaseCode,

+ 20 - 88
src/views/purchaseManage/supplier/supplier/index.vue

@@ -1,24 +1,15 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :selectConfig="selectConfig"
-        :table-events="{
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+               :selectConfig="selectConfig" :table-events="{
           select: select,
-        }"
-        :action-list="[
+        }" :action-list="[
           {
             text: '添加供应商',
             action: () => openModal('add'),
           },
-        ]"
-        @get-list="getList"
-      >
+        ]" @get-list="getList">
         <template #address="{ item }">
           <div>
             {{ item.countryName }}, {{ item.provinceName }} ,
@@ -27,32 +18,12 @@
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '添加供应商' : '编辑供应商'"
-      v-model="dialogVisible"
-      width="600"
-      v-loading="loading"
-      destroy-on-close
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog :title="modalType == 'add' ? '添加供应商' : '编辑供应商'" v-model="dialogVisible" width="600" v-loading="loading" destroy-on-close>
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #countryId>
           <div>
-            <el-select
-              v-model="formData.data.countryId"
-              placeholder="国家"
-              @change="(val) => getCityData(val, '20', true)"
-            >
-              <el-option
-                v-for="item in countryData"
-                :label="item.chineseName"
-                :value="item.id"
-              >
+            <el-select v-model="formData.data.countryId" placeholder="国家" @change="(val) => getCityData(val, '20', true)">
+              <el-option v-for="item in countryData" :label="item.chineseName" :value="item.id">
               </el-option>
             </el-select>
           </div>
@@ -60,27 +31,15 @@
 
         <template #provinceId>
           <div>
-            <selectCity
-              placeholder="省/洲"
-              @change="(val) => getCityData(val, '30', true)"
-              addressId="provinceId"
-              addressName="provinceName"
-              v-model="formData.data"
-              :data="provinceData"
-            >
+            <selectCity placeholder="省/洲" @change="(val) => getCityData(val, '30', true)" addressId="provinceId" addressName="provinceName"
+                        v-model="formData.data" :data="provinceData">
             </selectCity>
           </div>
         </template>
 
         <template #cityId>
           <div>
-            <selectCity
-              placeholder="城市"
-              addressId="cityId"
-              addressName="cityName"
-              v-model="formData.data"
-              :data="cityData"
-            >
+            <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData">
             </selectCity>
           </div>
         </template>
@@ -89,21 +48,14 @@
           <el-row :gutter="10" style="width: 100%">
             <el-col :span="8">
               <el-form-item prop="contactPerson">
-                <el-input
-                  v-model="formData.data.contactPerson"
-                  placeholder="联系人"
-                >
+                <el-input v-model="formData.data.contactPerson" placeholder="联系人">
                 </el-input>
               </el-form-item>
             </el-col>
             <el-col :span="16">
               <el-form-item prop="contactNumber">
-                <el-input
-                  v-model="formData.data.contactNumber"
-                  placeholder="联系电话"
-                  :formatter="(val) => val.replace(/[^\d\-]/g, '')"
-                  :parser="(val) => val.replace(/[^\d\-]/g, '')"
-                >
+                <el-input v-model="formData.data.contactNumber" placeholder="联系电话" :formatter="(val) => val.replace(/[^\d\-]/g, '')"
+                          :parser="(val) => val.replace(/[^\d\-]/g, '')">
                 </el-input>
               </el-form-item>
             </el-col>
@@ -113,36 +65,21 @@
           <el-row :gutter="10" style="width: 100%">
             <el-col :span="8">
               <el-form-item prop="accountPeriod">
-                <el-input-number
-                  v-model="formData.data.accountPeriod"
-                  placeholder="请输入账期 (天)"
-                  style="width: 100%"
-                  :precision="0"
-                  :controls="false"
-                  :min="0"
-                />
+                <el-input-number v-model="formData.data.accountPeriod" placeholder="请输入账期 (天)" style="width: 100%" :precision="0" :controls="false"
+                                 :min="0" />
               </el-form-item>
             </el-col>
             <el-col :span="16">
               <el-form-item prop="accountPeriodRemark">
-                <el-input
-                  v-model="formData.data.accountPeriodRemark"
-                  placeholder="请输入账期说明"
-                />
+                <el-input v-model="formData.data.accountPeriodRemark" placeholder="请输入账期说明" />
               </el-form-item>
             </el-col>
           </el-row>
         </template>
         <template #fileSlot>
           <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-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -150,12 +87,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm()"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>

+ 31 - 163
src/views/salesMange/saleContract/claim/index.vue

@@ -1,145 +1,58 @@
 <template>
   <div class="tenant">
-    <byTable
-      :source="sourceList.data"
-      :pagination="sourceList.pagination"
-      :config="config"
-      :loading="loading"
-      highlight-current-row
-      :selectConfig="selectConfig"
-      :action-list="[]"
-      @get-list="getList"
-    >
+    <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
+             :selectConfig="selectConfig" :action-list="[]" @get-list="getList">
       <template #money="{ item }">
         {{ item.currency }} {{ moneyFormat(item.amount) }}
       </template>
       <template #isClaim="{ item }">
         <div style="width: 100%">
           <span v-if="item.isClaim == 0">未认领</span>
-          <a
-            style="color: #409eff; cursor: pointer"
-            @click="clickRecord(item)"
-            v-else-if="item.isClaim == 1"
-            >已认领</a
-          >
-          <a
-            style="color: #409eff; cursor: pointer"
-            @click="clickRecord(item)"
-            v-else
-            >部分认领</a
-          >
+          <a style="color: #409eff; cursor: pointer" @click="clickRecord(item)" v-else-if="item.isClaim == 1">已认领</a>
+          <a style="color: #409eff; cursor: pointer" @click="clickRecord(item)" v-else>部分认领</a>
         </div>
       </template>
     </byTable>
 
-    <el-dialog
-      title="认领"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="50%"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
+    <el-dialog title="认领" v-if="dialogVisible" v-model="dialogVisible" width="50%" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform">
         <template #detail>
           <div style="width: 100%">
-            <el-button
-              type="primary"
-              style="margin-bottom: 10px"
-              @click="dialogVisibleOne = true"
-              >选择合同</el-button
-            >
+            <el-button type="primary" style="margin-bottom: 10px" @click="dialogVisibleOne = true">选择合同</el-button>
             <el-table :data="formData.data.claimContractList">
-              <el-table-column
-                prop="contractCode"
-                label="合同编码"
-                width="140"
-              />
+              <el-table-column prop="contractCode" label="合同编码" width="140" />
               <el-table-column label="合同金额" width="140">
                 <template #default="{ row, $index }">
                   {{ row.currency }}{{ moneyFormat(row.contractTotal, 2) }}
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="sumContractNotClaimMoney"
-                label="未结清金额"
-                width="100"
-              />
+              <el-table-column prop="sumContractNotClaimMoney" label="未结清金额" width="100" />
               <el-table-column prop="money" label="关联金额" min-width="150">
                 <template #default="{ row, $index }">
-                  <el-form-item
-                    :prop="'claimContractList.' + $index + '.money'"
-                    :rules="rules.money"
-                    :inline-message="true"
-                  >
-                    <el-input-number
-                      v-model="row.money"
-                      :precision="2"
-                      :controls="false"
-                      :min="0"
-                      onmousewheel="return false;"
-                    />
+                  <el-form-item :prop="'claimContractList.' + $index + '.money'" :rules="rules.money" :inline-message="true">
+                    <el-input-number v-model="row.money" :precision="2" :controls="false" :min="0" onmousewheel="return false;" />
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="claimType"
-                label="到账类型"
-                min-width="150"
-              >
+              <el-table-column prop="claimType" label="到账类型" min-width="150">
                 <template #default="{ row, $index }">
-                  <el-form-item
-                    :prop="'claimContractList.' + $index + '.claimType'"
-                    :rules="rules.claimType"
-                    :inline-message="true"
-                  >
+                  <el-form-item :prop="'claimContractList.' + $index + '.claimType'" :rules="rules.claimType" :inline-message="true">
                     <el-select v-model="row.claimType" style="width: 100%">
-                      <el-option
-                        v-for="item in claimTypeList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
-                      />
+                      <el-option v-for="item in claimTypeList" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="contractMoney"
-                label="换算金额"
-                min-width="150"
-              >
+              <el-table-column prop="contractMoney" label="换算金额" min-width="150">
                 <template #default="{ row, $index }">
-                  <el-form-item
-                    :prop="'claimContractList.' + $index + '.contractMoney'"
-                    :rules="rules.contractMoney"
-                    :inline-message="true"
-                  >
-                    <el-input-number
-                      v-model="row.contractMoney"
-                      :precision="2"
-                      :controls="false"
-                      :min="0"
-                      onmousewheel="return false;"
-                    />
+                  <el-form-item :prop="'claimContractList.' + $index + '.contractMoney'" :rules="rules.contractMoney" :inline-message="true">
+                    <el-input-number v-model="row.contractMoney" :precision="2" :controls="false" :min="0" onmousewheel="return false;" />
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="zip"
-                label="操作"
-                width="60"
-                align="center"
-              >
+              <el-table-column prop="zip" label="操作" width="60" align="center">
                 <template #default="{ $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>
@@ -147,30 +60,14 @@
         </template>
         <template #fileSlot>
           <div>
-            <el-upload
-              v-model:fileList="fileList"
-              :show-file-list="false"
-              class="upload-demo"
-              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-              :data="uploadData"
-              :on-preview="handlePreview"
-              :on-remove="handleRemove"
-              :on-success="handleSuccess"
-              :before-upload="handleBeforeUpload"
-            >
+            <el-upload v-model:fileList="fileList" :show-file-list="false" class="upload-demo" :action="uploadUrl" :data="uploadData"
+                       :on-preview="handlePreview" :on-remove="handleRemove" :on-success="handleSuccess" :before-upload="handleBeforeUpload">
               <el-button type="primary">选择</el-button>
             </el-upload>
             <div>
               <div style="margin-top: 15px">
-                <el-tag
-                  style="margin-right: 10px"
-                  class="ml-2"
-                  type="info"
-                  v-for="(item, index) in fileListCopy"
-                  :key="index"
-                  closable
-                  @close="handleClose(index)"
-                >
+                <el-tag style="margin-right: 10px" class="ml-2" type="info" v-for="(item, index) in fileListCopy" :key="index" closable
+                        @close="handleClose(index)">
                   {{ item.fileName }}
                 </el-tag>
               </div>
@@ -180,53 +77,24 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading">
           确 定
         </el-button>
       </template>
     </el-dialog>
 
-    <el-dialog
-      title="合同选择"
-      v-if="dialogVisibleOne"
-      v-model="dialogVisibleOne"
-      width="80%"
-      v-loading="loading"
-      destroy-on-close
-    >
-      <ContractSelect
-        @handleSelectContrct="handleSelectContrct"
-      ></ContractSelect>
+    <el-dialog title="合同选择" v-if="dialogVisibleOne" v-model="dialogVisibleOne" width="80%" v-loading="loading" destroy-on-close>
+      <ContractSelect @handleSelectContrct="handleSelectContrct"></ContractSelect>
     </el-dialog>
 
-    <el-dialog
-      title="认领记录"
-      v-if="openRecord"
-      v-model="openRecord"
-      width="500"
-    >
-      <byForm
-        :formConfig="formRecordConfig"
-        :formOption="formOption"
-        v-model="rowData.data"
-      >
+    <el-dialog title="认领记录" v-if="openRecord" v-model="openRecord" width="500">
+      <byForm :formConfig="formRecordConfig" :formOption="formOption" v-model="rowData.data">
         <template #recordList>
           <div>
-            <div
-              style="width: 100%"
-              v-if="
+            <div style="width: 100%" v-if="
                 rowData.data.recordList && rowData.data.recordList.length > 0
-              "
-            >
-              <div
-                v-for="(item, index) in rowData.data.recordList"
-                :key="index"
-              >
+              ">
+              <div v-for="(item, index) in rowData.data.recordList" :key="index">
                 <div style="color: #ccc">{{ item.createTime }}</div>
                 <div>认领人: {{ item.claimUserName }}</div>
                 <div>合同编号: {{ item.contractCode }}</div>

+ 43 - 151
src/views/salesMange/saleContract/salesDocumentary/index.vue

@@ -1,27 +1,12 @@
 <template>
   <div class="content">
-    <el-form
-      :inline="true"
-      :model="sourceList.pagination"
-      class="demo-form-inline"
-    >
+    <el-form :inline="true" :model="sourceList.pagination" class="demo-form-inline">
       <el-form-item label="销售合同号:" prop="code">
-        <el-input
-          v-model="sourceList.pagination.code"
-          placeholder="请输入销售合同号"
-        />
+        <el-input v-model="sourceList.pagination.code" placeholder="请输入销售合同号" />
       </el-form-item>
       <el-form-item label="业务员:" prop="userId">
-        <el-select
-          v-model="sourceList.pagination.userId"
-          placeholder="请选择业务员"
-        >
-          <el-option
-            v-for="item in userList"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
+        <el-select v-model="sourceList.pagination.userId" placeholder="请选择业务员">
+          <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
           </el-option>
         </el-select>
       </el-form-item>
@@ -30,60 +15,38 @@
       </el-form-item>
     </el-form>
     <div style="padding: 10px 20px; width: 100%; box-sizing: border-box">
-      <div
-        style="
+      <div style="
           width: 100%;
           display: flex;
           padding-bottom: 5px;
           overflow-x: auto;
-        "
-        class="topScrollDom"
-        @scroll="handleScroll($event, true)"
-      >
-        <div
-          v-for="(item, index) in purchaseTrackType"
-          :key="index"
-          style="display: flex; align-items: center"
-        >
-          <div
-            style="width: 200px; height: 80px; position: relative"
-            @click="selectRegion(item)"
-          >
-            <div
-              :class="
+        " class="topScrollDom" @scroll="handleScroll($event, true)">
+        <div v-for="(item, index) in purchaseTrackType" :key="index" style="display: flex; align-items: center">
+          <div style="width: 200px; height: 80px; position: relative" @click="selectRegion(item)">
+            <div :class="
                 selectRecordDocumentaryId === item.id
                   ? 'regionSelect'
                   : 'regionNoSelect'
-              "
-              style="cursor: pointer"
-            >
+              " style="cursor: pointer">
               <div style="color: #333333; font-size: 13px; font-weight: 700">
                 {{ item.count }}
               </div>
               <div style="color: #333333; font-size: 12px; font-weight: 700">
                 {{ item.name }}
               </div>
-              <div
-                class="right-bottom"
-                style="position: absolute; right: 0; bottom: 0"
-              >
+              <div class="right-bottom" style="position: absolute; right: 0; bottom: 0">
                 {{ index + 1 }}
               </div>
             </div>
-            <el-icon class="beacon" v-if="index < purchaseTrackType.length - 1"
-              ><CaretRight
-            /></el-icon>
+            <el-icon class="beacon" v-if="index < purchaseTrackType.length - 1">
+              <CaretRight />
+            </el-icon>
           </div>
         </div>
       </div>
     </div>
     <div class="main-content" v-loading="loading">
-      <el-card
-        class="box-card"
-        v-for="(item, index) in sourceList.data"
-        :key="index"
-        style="margin-bottom: 20px"
-      >
+      <el-card class="box-card" v-for="(item, index) in sourceList.data" :key="index" style="margin-bottom: 20px">
         <template #header>
           <el-row>
             <el-col :span="4">
@@ -103,79 +66,42 @@
             </el-col>
           </el-row>
         </template>
-        <div
-          style="overflow-x: auto; width: 100%"
-          class="scrollDom"
-          @scroll="handleScroll($event, false, index)"
-        >
+        <div style="overflow-x: auto; width: 100%" class="scrollDom" @scroll="handleScroll($event, false, index)">
           <el-steps :space="200" align-center>
-            <el-step
-              v-for="(itemType, key) in purchaseTrackType"
-              :key="key"
-              :title="itemType.name"
-              :status="getStatus(itemType, item)"
-            />
+            <el-step v-for="(itemType, key) in purchaseTrackType" :key="key" :title="itemType.name" :status="getStatus(itemType, item)" />
           </el-steps>
           <div style="display: flex">
-            <div
-              v-for="(itemType, key) in purchaseTrackType"
-              :key="key"
-              style="width: 200px !important; min-width: 200px !important"
-            >
+            <div v-for="(itemType, key) in purchaseTrackType" :key="key" style="width: 200px !important; min-width: 200px !important">
               <div style="padding: 8px 0; text-align: center">
-                <el-icon
-                  style="color: #409eff; cursor: pointer"
-                  @click="clickAdd(item, itemType)"
-                  ><EditPen
-                /></el-icon>
+                <el-icon style="color: #409eff; cursor: pointer" @click="clickAdd(item, itemType)">
+                  <EditPen />
+                </el-icon>
               </div>
-              <div
-                style="text-align: center"
-                v-if="
+              <div style="text-align: center" v-if="
                   item.documentaryRecord && item.documentaryRecord[itemType.id]
-                "
-              >
+                ">
                 <el-tooltip class="box-item" effect="light" placement="bottom">
                   <template #content>
-                    <div
-                      style="
+                    <div style="
                         max-width: 400px;
                         max-height: 50vh;
                         overflow-y: auto;
-                      "
-                    >
+                      ">
                       <el-timeline>
-                        <el-timeline-item
-                          v-for="(activity, index) in item.documentaryRecord[
+                        <el-timeline-item v-for="(activity, index) in item.documentaryRecord[
                             itemType.id
-                          ]"
-                          :key="index"
-                          :timestamp="activity.createTime"
-                          :hide-timestamp="true"
-                        >
+                          ]" :key="index" :timestamp="activity.createTime" :hide-timestamp="true">
                           <div style="background-color: #e2fbe8; padding: 8px">
                             <div style="font-size: 12px">
                               {{ activity.createTime }}
                             </div>
-                            <div
-                              style="font-size: 12px"
-                              v-html="getStyle(activity.remark)"
-                            ></div>
-                            <div
-                              v-if="
+                            <div style="font-size: 12px" v-html="getStyle(activity.remark)"></div>
+                            <div v-if="
                                 activity.fileList &&
                                 activity.fileList.length > 0
-                              "
-                            >
-                              <div
-                                v-for="(file, index) in activity.fileList"
-                                :key="index"
-                              >
-                                <a
-                                  style="color: #409eff; cursor: pointer"
-                                  @click="openFile(file.fileUrl)"
-                                  >{{ file.fileName }}</a
-                                >
+                              ">
+                              <div v-for="(file, index) in activity.fileList" :key="index">
+                                <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
                               </div>
                             </div>
                           </div>
@@ -183,15 +109,12 @@
                       </el-timeline>
                     </div>
                   </template>
-                  <span
-                    style="
+                  <span style="
                       color: #409eff;
                       cursor: pointer;
                       padding: 8px 0;
                       font-size: 12px;
-                    "
-                    >跟单详情</span
-                  >
+                    ">跟单详情</span>
                 </el-tooltip>
               </div>
             </div>
@@ -201,51 +124,22 @@
     </div>
 
     <el-row style="padding-top: 20px" justify="end" type="flex">
-      <el-pagination
-        background
-        layout="total, sizes, prev, pager, next, jumper"
-        :current-page="sourceList.pagination.pageNum"
-        :page-size="sourceList.pagination.pageSize"
-        :total="sourceList.pagination.total"
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-      />
+      <el-pagination background layout="total, sizes, prev, pager, next, jumper" :current-page="sourceList.pagination.pageNum"
+                     :page-size="sourceList.pagination.pageSize" :total="sourceList.pagination.total" @size-change="handleSizeChange"
+                     @current-change="handlePageChange" />
     </el-row>
 
-    <el-dialog
-      :title="title"
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      width="600"
-      v-loading="loadingDialog"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="submit"
-      >
+    <el-dialog :title="title" v-if="dialogVisible" v-model="dialogVisible" width="600" v-loading="loadingDialog">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
         <template #completionTime>
           <div>
-            <el-date-picker
-              v-model="formData.data.completionTime"
-              type="datetime"
-              placeholder="请选择完成时间"
-              value-format="YYYY-MM-DD HH:mm:ss"
-            />
+            <el-date-picker v-model="formData.data.completionTime" type="datetime" placeholder="请选择完成时间" value-format="YYYY-MM-DD HH:mm:ss" />
           </div>
         </template>
         <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-preview="onPreviewFile"
-            >
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -253,9 +147,7 @@
       </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button type="primary" @click="submitForm()" size="large"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
       </template>
     </el-dialog>
   </div>

+ 75 - 67
src/views/salesMange/saleContract/serviceContract/index.vue

@@ -1,20 +1,13 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        :selectConfig="selectConfig"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" :selectConfig="selectConfig"
+               highlight-current-row :action-list="[
           {
             text: '新增合同',
             action: () => newContract(),
           },
-        ]"
-        @get-list="getList">
+        ]" @get-list="getList">
         <template #amount="{ item }">
           <div>
             <span style="padding-right: 4px">{{ item.currency }}</span>
@@ -76,13 +69,8 @@
         </template>
         <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -292,11 +280,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy
                   .post("/serviceContract/cancel", {
                     id: row.id,
@@ -347,25 +339,33 @@ const getDict = () => {
       };
     });
   });
-  proxy.get("/tenantUser/list", { pageNum: 1, pageSize: 10000, tenantId: useUserStore().user.tenantId }).then((res) => {
-    userList.value = res.rows.map((item) => {
-      return {
-        label: item.nickName,
-        value: item.userId,
-      };
+  proxy
+    .get("/tenantUser/list", {
+      pageNum: 1,
+      pageSize: 10000,
+      tenantId: useUserStore().user.tenantId,
+    })
+    .then((res) => {
+      userList.value = res.rows.map((item) => {
+        return {
+          label: item.nickName,
+          value: item.userId,
+        };
+      });
     });
-  });
 };
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  proxy.post("/serviceContract/page", sourceList.value.pagination).then((res) => {
-    sourceList.value.data = res.rows;
-    sourceList.value.pagination.total = res.total;
-    setTimeout(() => {
-      loading.value = false;
-    }, 200);
-  });
+  proxy
+    .post("/serviceContract/page", sourceList.value.pagination)
+    .then((res) => {
+      sourceList.value.data = res.rows;
+      sourceList.value.pagination.total = res.total;
+      setTimeout(() => {
+        loading.value = false;
+      }, 200);
+    });
 };
 getDict();
 getList();
@@ -385,37 +385,43 @@ const loadingDialog = ref(false);
 const openAddRecord = ref(false);
 const recordList = ref([]);
 const getRecordList = () => {
-  proxy.post("/serviceContractRecord/page", { serviceContractId: formData.data.serviceContractId }).then((res) => {
-    if (res.rows && res.rows.length > 0) {
-      recordList.value = res.rows;
-      let fileIds = res.rows.map((item) => {
-        return item.id;
-      });
-      proxy.post("/fileInfo/getList", { businessIdList: fileIds }).then((resFile) => {
-        recordList.value = recordList.value.map((item) => {
-          let fileData = [];
-          if (resFile[item.id] && resFile[item.id].length > 0) {
-            fileData = resFile[item.id];
-            // .map((item) => {
-            //   return {
-            //     raw: item,
-            //     name: item.fileName,
-            //     url: item.fileUrl,
-            //   };
-            // });
-          }
-          return {
-            ...item,
-            fileList: fileData,
-          };
+  proxy
+    .post("/serviceContractRecord/page", {
+      serviceContractId: formData.data.serviceContractId,
+    })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        recordList.value = res.rows;
+        let fileIds = res.rows.map((item) => {
+          return item.id;
         });
-        console.log(recordList.value);
-      });
-    } else {
-      recordList.value = [];
-    }
-    loadingDialog.value = false;
-  });
+        proxy
+          .post("/fileInfo/getList", { businessIdList: fileIds })
+          .then((resFile) => {
+            recordList.value = recordList.value.map((item) => {
+              let fileData = [];
+              if (resFile[item.id] && resFile[item.id].length > 0) {
+                fileData = resFile[item.id];
+                // .map((item) => {
+                //   return {
+                //     raw: item,
+                //     name: item.fileName,
+                //     url: item.fileUrl,
+                //   };
+                // });
+              }
+              return {
+                ...item,
+                fileList: fileData,
+              };
+            });
+            console.log(recordList.value);
+          });
+      } else {
+        recordList.value = [];
+      }
+      loadingDialog.value = false;
+    });
 };
 const clickRecord = (item) => {
   formData.data.serviceContractId = item.id;
@@ -475,7 +481,9 @@ const formConfig = computed(() => {
 });
 const rules = ref({
   userId: [{ required: true, message: "请选择服务人员", trigger: "change" }],
-  serviceTime: [{ required: true, message: "请选择服务时间", trigger: "change" }],
+  serviceTime: [
+    { required: true, message: "请选择服务时间", trigger: "change" },
+  ],
   status: [{ required: true, message: "请选择服务状态", trigger: "change" }],
   remark: [{ required: true, message: "请输入服务记录", trigger: "blur" }],
 });

+ 60 - 49
src/views/salesMange/shipmentMange/document/index.vue

@@ -1,24 +1,18 @@
 <template>
   <div class="tenant">
     <div class="content">
-      <byTable
-        :source="sourceList.data"
-        :pagination="sourceList.pagination"
-        :config="config"
-        :loading="loading"
-        highlight-current-row
-        :action-list="[
+      <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row :action-list="[
           {
             text: '创建单证',
             action: () => openModal(),
           },
-        ]"
-        @get-list="getList">
+        ]" @get-list="getList">
         <template #acceptCode="{ item }">
           <div>
             <div style="color: #409eff" v-if="item.acceptCode">{{ item.acceptCarriage }} ({{ item.acceptCode }})</div>
             <div v-else>
-              <el-button type="warning" style="background-color: var(--el-button-bg-color) !important" @click="clickAddAcceptCode(item)">填写</el-button>
+              <el-button type="warning" style="background-color: var(--el-button-bg-color) !important"
+                         @click="clickAddAcceptCode(item)">填写</el-button>
             </div>
           </div>
         </template>
@@ -91,7 +85,8 @@
     </el-dialog>
 
     <el-dialog title="货运详情" v-if="openAddAcceptCode" v-model="openAddAcceptCode" width="600">
-      <byForm :formConfig="formConfigTwo" :formOption="formOption" v-model="formDataTwo.data" :rules="rulesTwo" ref="submitTwo" v-loading="loadingTwo">
+      <byForm :formConfig="formConfigTwo" :formOption="formOption" v-model="formDataTwo.data" :rules="rulesTwo" ref="submitTwo"
+              v-loading="loadingTwo">
         <template #departureTime>
           <div>
             <el-date-picker v-model="formDataTwo.data.departureTime" type="datetime" placeholder="请选择起运时间" value-format="YYYY-MM-DD HH:mm:ss" />
@@ -99,13 +94,8 @@
         </template>
         <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-preview="onPreviewFile">
+            <el-upload v-model:fileList="fileList" :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
+                       :on-preview="onPreviewFile">
               <el-button>选择</el-button>
             </el-upload>
           </div>
@@ -425,7 +415,8 @@
                 {{ printDetails.sumRoughWeight }}
               </td>
               <td :rowspan="printDetails.documentsProducts.length" style="text-align: center" v-if="index === 0 && [1].includes(openStatus)">总尺寸</td>
-              <td :rowspan="printDetails.documentsProducts.length" style="text-align: center; border-right: 0" v-if="index === 0 && [1].includes(openStatus)">
+              <td :rowspan="printDetails.documentsProducts.length" style="text-align: center; border-right: 0"
+                  v-if="index === 0 && [1].includes(openStatus)">
                 总体积
               </td>
               <td style="text-align: center" v-if="[2, 3].includes(openStatus)">{{ printDetails.contract.currency }}{{ item.price }}</td>
@@ -455,7 +446,8 @@
                 {{ dictValueLabel(printDetails.contract.tradeMethods, tradeMethods) }}
                 PRICE:
               </td>
-              <td style="text-align: center" class="public-color">{{ printDetails.contract.currency }}{{ getAllMoney(statistics("price", "quantity", 2)) }}</td>
+              <td style="text-align: center" class="public-color">
+                {{ printDetails.contract.currency }}{{ getAllMoney(statistics("price", "quantity", 2)) }}</td>
             </tr>
           </template>
           <template v-if="[3].includes(openStatus)">
@@ -479,22 +471,19 @@
                 {{ dictValueLabel(printDetails.contract.tradeMethods, tradeMethods) }}
                 PRICE:
               </td>
-              <td style="text-align: center" class="public-color">{{ printDetails.contract.currency }}{{ getAllMoney(statistics("price", "quantity", 2)) }}</td>
+              <td style="text-align: center" class="public-color">
+                {{ printDetails.contract.currency }}{{ getAllMoney(statistics("price", "quantity", 2)) }}</td>
             </tr>
           </template>
         </table>
         <div v-if="[1].includes(openStatus)">
           <div style="font-weight: 700; padding: 4px 0">THE PACK FOR ABOVE CARGO ARE AS BELOWING SHOWS:</div>
-          <table
-            class="three"
-            cellspacing="0"
-            cellpadding="0"
-            border="0"
-            style="width: 100%; border-bottom: 0"
-            v-if="printDetails.packDetailList && printDetails.packDetailList.length > 0">
+          <table class="three" cellspacing="0" cellpadding="0" border="0" style="width: 100%; border-bottom: 0"
+                 v-if="printDetails.packDetailList && printDetails.packDetailList.length > 0">
             <tbody v-for="(item, index) in printDetails.packDetailList" :key="index">
               <tr v-for="(itemAAA, indexAAA) in item.packDetailGoodsList" :key="indexAAA">
-                <td :rowspan="item.packDetailGoodsList.length" style="text-align: center; width: 100px" v-if="indexAAA === 0">CTN NO.{{ index + 1 }}</td>
+                <td :rowspan="item.packDetailGoodsList.length" style="text-align: center; width: 100px" v-if="indexAAA === 0">CTN NO.{{ index + 1 }}
+                </td>
                 <td>
                   <div style="text-align: center">{{ itemAAA.remark }}</div>
                 </td>
@@ -1137,11 +1126,15 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-              }).then(() => {
+              ElMessageBox.confirm(
+                "此操作将永久删除该数据, 是否继续?",
+                "提示",
+                {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }
+              ).then(() => {
                 proxy
                   .post("/documents/delete", {
                     id: row.id,
@@ -1329,7 +1322,9 @@ const formConfig = computed(() => {
   ];
 });
 const rules = ref({
-  contractId: [{ required: true, message: "请选择出货主合同", trigger: "change" }],
+  contractId: [
+    { required: true, message: "请选择出货主合同", trigger: "change" },
+  ],
   countryId: [{ required: true, message: "请选择目的国", trigger: "change" }],
   describes: [{ required: true, message: "请输入货物描述", trigger: "blur" }],
   subDescribe: [{ required: true, message: "请输入副描述", trigger: "blur" }],
@@ -1462,9 +1457,13 @@ const formConfigTwo = computed(() => {
   ];
 });
 const rulesTwo = ref({
-  acceptCarriage: [{ required: true, message: "请输入承运方", trigger: "blur" }],
+  acceptCarriage: [
+    { required: true, message: "请输入承运方", trigger: "blur" },
+  ],
   code: [{ required: true, message: "请输入承运单号", trigger: "blur" }],
-  departureTime: [{ required: true, message: "请选择起运时间", trigger: "change" }],
+  departureTime: [
+    { required: true, message: "请选择起运时间", trigger: "change" },
+  ],
 });
 const clickAddAcceptCode = (item) => {
   formDataTwo.data = {
@@ -1528,9 +1527,11 @@ const clickToView = (item) => {
     documentsProducts: [],
     customer: {},
   };
-  proxy.get("/documents/generateInvoiceAPackPdf", { id: rowData.value.id }).then((res) => {
-    printDetails.value = res.data;
-  });
+  proxy
+    .get("/documents/generateInvoiceAPackPdf", { id: rowData.value.id })
+    .then((res) => {
+      printDetails.value = res.data;
+    });
 };
 const openPrint = ref(false);
 const openStatus = ref("");
@@ -1570,12 +1571,14 @@ const clickPrint = (status) => {
     openStatus.value = status;
     textShow.value = false;
     openCustomsDeclaration.value = true;
-    proxy.get("/documents/generateClearanceePdf", { id: rowData.value.id }).then((res) => {
-      if (res.data.content) {
-        res.data.content = JSON.parse(res.data.content);
-      }
-      printCustomsDeclaration.value = res.data;
-    });
+    proxy
+      .get("/documents/generateClearanceePdf", { id: rowData.value.id })
+      .then((res) => {
+        if (res.data.content) {
+          res.data.content = JSON.parse(res.data.content);
+        }
+        printCustomsDeclaration.value = res.data;
+      });
   }
   // proxy.get("/documents/generateInvoiceAPackPdf", { id: rowData.value.id }).then((res) => {
   //   printDetails.value = res.data;
@@ -1631,11 +1634,16 @@ const getStyle = (text) => {
 };
 const statistics = (label, label2, index) => {
   let num = 0;
-  if (printDetails.value.documentsProducts && printDetails.value.documentsProducts.length > 0) {
+  if (
+    printDetails.value.documentsProducts &&
+    printDetails.value.documentsProducts.length > 0
+  ) {
     printDetails.value.documentsProducts.map((item) => {
       if (label2) {
         if (item[label] && item[label2]) {
-          num = parseFloat(Number(num) + Number(item[label]) * Number(item[label2])).toFixed(index);
+          num = parseFloat(
+            Number(num) + Number(item[label]) * Number(item[label2])
+          ).toFixed(index);
         }
       } else {
         if (item[label]) {
@@ -1648,7 +1656,10 @@ const statistics = (label, label2, index) => {
 };
 const getAllMoney = (num) => {
   let money = num;
-  if (printDetails.value.contractProjectList && printDetails.value.contractProjectList.length > 0) {
+  if (
+    printDetails.value.contractProjectList &&
+    printDetails.value.contractProjectList.length > 0
+  ) {
     printDetails.value.contractProjectList.map((item) => {
       if (item.amount) {
         money = parseFloat(Number(money) + Number(item.amount)).toFixed(2);

+ 10 - 14
src/views/systemTenant/tenant/logoConfiguration/index.vue

@@ -2,14 +2,8 @@
   <div class="tenant">
     <div style="border-left: 3px solid #0084ff; padding-left: 8px">Logo 配置</div>
     <div style="padding: 32px 0 16px 0">
-      <el-upload
-        class="avatar-uploader"
-        action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-        :data="uploadData"
-        :show-file-list="false"
-        :on-success="handleAvatarSuccess"
-        :before-upload="uploadFile"
-        accept=".png">
+      <el-upload class="avatar-uploader" :action="uploadUrl" :data="uploadData" :show-file-list="false" :on-success="handleAvatarSuccess"
+                 :before-upload="uploadFile" accept=".png">
         <el-button type="primary">点击上传</el-button>
         <!-- <img v-if="imageUrl" :src="imageUrl" class="avatar" /> -->
         <!-- <el-image v-if="imageUrl" style="width: 120px; height: 30px" :src="imageUrl" fit="scale-down" />
@@ -103,13 +97,15 @@ const clickCancel = () => {
 };
 const clickSubmit = () => {
   if (fileList.value && fileList.value.length > 0) {
-    proxy.post("/tenantInfo/editLogo", { fileList: fileList.value }).then(() => {
-      ElMessage({
-        message: "保存成功",
-        type: "success",
+    proxy
+      .post("/tenantInfo/editLogo", { fileList: fileList.value })
+      .then(() => {
+        ElMessage({
+          message: "保存成功",
+          type: "success",
+        });
+        clickCancel();
       });
-      clickCancel();
-    });
   } else {
     ElMessage("请上传logo图片");
   }

+ 1 - 0
vite.config.js

@@ -40,6 +40,7 @@ export default defineConfig(({
         // https://cn.vitejs.dev/config/#server-proxy
         '/dev-api': {
           target: 'http://139.9.102.170:9901/test-api',
+          // target: 'http://192.168.1.101:9898/test-api',
           // 正式地址
           // target: "http://139.9.102.170:9900/prod-api",
           changeOrigin: true,

Some files were not shown because too many files changed in this diff