소스 검색

费用类型改为多选

lichao 3 년 전
부모
커밋
80aa35ad74
2개의 변경된 파일215개의 추가작업 그리고 14개의 파일을 삭제
  1. 45 6
      src/views/agreement/agreementTask/index.vue
  2. 170 8
      src/views/warehouseBusiness/agreement/index.vue

+ 45 - 6
src/views/agreement/agreementTask/index.vue

@@ -218,7 +218,9 @@
         fixed
         width="100"
         :formatter="tPackagesFormat"
-      />
+        show-overflow-tooltip
+      >
+      </el-table-column>
       <el-table-column
         label="费用类型"
         sortable
@@ -248,6 +250,7 @@
         align="center"
         prop="fContractno"
         show-overflow-tooltip
+        width="120"
       />
       <!--      <el-table-column label="费用名称" align="center" prop="fFeeid"/>-->
       <el-table-column
@@ -366,6 +369,7 @@
       append-to-body
       :before-close="handleClose"
       :close-on-click-modal="false"
+      :close-on-press-escape="false"
     >
       <template slot="title">
         <div class="avue-crud__dialog__header">
@@ -470,6 +474,7 @@
             v-model="form.tPackages"
             placeholder="请选择商品类别"
             :disabled="browseStatus"
+            multiple
           >
             <el-option
               v-for="(dict, index) in fTypeidOptions"
@@ -845,7 +850,6 @@ export default {
       agreementList: [],
       // 弹出层标题
       title: "",
-      // 是否显示弹出层
       open: false,
       // 结算方式,也可以从表t_stltypes中下拉选择,存储id,显示name字典
       fStltypeidOptions: [],
@@ -1085,6 +1089,10 @@ export default {
             : null;
         }
         this.form = response.data.tWarehouseAgreement;
+        this.form.tPackages = this.form.tPackages
+          .replace(/\[|]/g, "")
+          .replace(/\"/g, "")
+          .split(",");
         this.$set(this.form, "fTaskType", this.form.fTaskType + "");
         this.$set(this.form, "fEnddate", Date.parse(this.form.fEnddate));
         this.$set(this.form, "fBegindate", Date.parse(this.form.fBegindate));
@@ -1212,7 +1220,7 @@ export default {
       if (name == null || name === "") {
         return false;
       }
-      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
+      let queryParams = { fName: name };
       listGoods(queryParams).then((response) => {
         this.goodsOptions = response.rows;
       });
@@ -1236,7 +1244,22 @@ export default {
     },
     // 货物类别,存储t_packages,f_id 显示名称,可以多选t_packages 中的no或 name,模糊查找选择后,存储f_id,显示name字典翻译
     tPackagesFormat(row, column) {
-      return this.selectDictLabel(this.fTypeidOptions, row.tPackages);
+      // row.tPackages = row.tPackages
+      //   .replace(/\[|]/g, "")
+      //   .replace(/\"/g, "")
+      //   .split(",");
+      // return this.selectDictLabel(this.fTypeidOptions, row.tPackages);
+      let tPackages = row.tPackages
+        .replace(/\[|]/g, "")
+        .replace(/\"/g, "")
+        .split(",");
+      let changePackages = []
+      tPackages.forEach(item => {
+        let change = this.selectDictLabel(this.fTypeidOptions, item);
+        changePackages.push(change)
+      })
+      changePackages = changePackages.join(',')
+      return changePackages;
     },
     // 贸易方式,对应t_trademodels 字典翻译
     fTrademodeidFormat(row, column) {
@@ -1325,7 +1348,7 @@ export default {
         return false;
       }
       let fDc = this.form.fDc;
-      let queryParams = { pageNum: 1, pageSize: 10, fName: name, fDc: fDc };
+      let queryParams = { fName: name, fDc: fDc };
       listFees(queryParams).then((response) => {
         console.log(response);
         this.fWbuOptions = response.rows;
@@ -1382,7 +1405,6 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row, num) {
       if (num === 2) {
-        console.log("111");
         getAgreement(this.idCopy).then((response) => {
           this.register();
           if (response.data.dept) {
@@ -1405,6 +1427,12 @@ export default {
               this.agreementitemsList[item].fFeeunitid + ""
             );
           }
+          if (response.data.tWarehouseAgreement.tPackages) {
+            this.form.tPackages = this.form.tPackages
+              .replace(/\[|]/g, "")
+              .replace(/\"/g, "")
+              .split(",");
+          }
           if (response.data.tWarehouseAgreement.fBilltype) {
             this.form.fBilltype = response.data.tWarehouseAgreement.fBilltype
               .replace(/\[|]/g, "")
@@ -1423,6 +1451,7 @@ export default {
         this.cancelButton = true;
         const fId = row.fId || this.ids;
         getAgreement(fId).then((response) => {
+          console.log(response)
           this.register();
           if (response.data.dept) {
             this.deptName = response.data.dept.deptName
@@ -1442,6 +1471,12 @@ export default {
               this.agreementitemsList[item].fFeeunitid + ""
             );
           }
+          if (response.data.tWarehouseAgreement.tPackages) {
+            this.form.tPackages = this.form.tPackages
+              .replace(/\[|]/g, "")
+              .replace(/\"/g, "")
+              .split(",");
+          }
           if (response.data.tWarehouseAgreement.fBilltype) {
             this.form.fBilltype = response.data.tWarehouseAgreement.fBilltype
               .replace(/\[|]/g, "")
@@ -1494,6 +1529,10 @@ export default {
           addAgreement(formData).then((response) => {
             this.msgSuccess("操作成功");
             this.form = response.data.tWarehouseAgreement;
+            this.form.tPackages = this.form.tPackages
+              .replace(/\[|]/g, "")
+              .replace(/\"/g, "")
+              .split(",");
             this.$set(this.form, "fTaskType", this.form.fTaskType + "");
             this.$set(this.form, "fEnddate", Date.parse(this.form.fEnddate));
             this.$set(

+ 170 - 8
src/views/warehouseBusiness/agreement/index.vue

@@ -282,7 +282,7 @@
         </el-form-item>
 
         <el-form-item label="商品类别" prop="tPackages">
-          <el-select v-model="form.tPackages" :disabled="notChange" placeholder="请选择商品类别">
+          <el-select v-model="form.tPackages" :disabled="notChange" placeholder="请选择商品类别" multiple>
             <el-option
               v-for="(dict, index) in fTypeidOptions"
               :key="index.dictValue"
@@ -421,6 +421,112 @@
           </template>
         </el-table-column>
       </el-table>
+
+<!--      <div class="dialogTableTitle flex a-center jlr">-->
+<!--        <h2>附件明细</h2>-->
+<!--        <el-button @click="addRelevt()" :disabled="notChange">新增</el-button>-->
+<!--      </div>-->
+<!--      <el-table-->
+<!--        :data="relevantAttachments"-->
+<!--      >-->
+<!--        <el-table-column label="序号" type="index" width="80"> </el-table-column>-->
+<!--        <el-table-column-->
+<!--          prop="fName"-->
+<!--          header-align="center"-->
+<!--          align="center"-->
+<!--          label="附件名称"-->
+<!--        >-->
+<!--          <template slot-scope="scope">-->
+<!--            <el-input-->
+<!--              v-model="scope.row.fName"-->
+<!--              :disabled="browseStatus"-->
+<!--              placeholder="附件名称"-->
+<!--              show-word-limit-->
+<!--            />-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--          prop="createBy"-->
+<!--          header-align="center"-->
+<!--          align="center"-->
+<!--          label="上传人"-->
+<!--        >-->
+<!--          <template slot-scope="scope">-->
+<!--            <el-input-->
+<!--              v-model="scope.row.createBy"-->
+<!--              disabled-->
+<!--              placeholder="上传人"-->
+<!--              show-word-limit-->
+<!--            />-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--          prop="createTime"-->
+<!--          header-align="center"-->
+<!--          align="center"-->
+<!--          label="上传时间"-->
+<!--        >-->
+<!--          <template slot-scope="scope">-->
+<!--            <el-date-picker-->
+<!--              v-model="scope.row.createTime"-->
+<!--              type="date"-->
+<!--              disabled-->
+<!--              placeholder="上传时间"-->
+<!--              format="yyyy-MM-dd HH:mm"-->
+<!--              value-format="timestamp"-->
+<!--            ></el-date-picker>-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--          prop="fUrl"-->
+<!--          header-align="center"-->
+<!--          align="center"-->
+<!--          label="上传附件"-->
+<!--        >-->
+<!--          <template slot-scope="scope">-->
+<!--            <div style="display: flex; justify-content: center">-->
+<!--              <el-upload-->
+<!--                :multiple="true"-->
+<!--                class="upload-demo"-->
+<!--                :action="uploadImgUrl"-->
+<!--                :on-success="-->
+<!--                (res, file) => {-->
+<!--                  handleSucces(scope, res, file);-->
+<!--                }-->
+<!--              "-->
+<!--                :headers="headers"-->
+<!--                :disabled="browseStatus"-->
+<!--                :show-file-list="false"-->
+<!--              >-->
+<!--                <el-button size="small" type="text" :disabled="browseStatus"-->
+<!--                >点击上传</el-button-->
+<!--                >-->
+<!--              </el-upload>-->
+<!--              <el-button size="small" type="text" @click="checkFile(scope)"-->
+<!--              >查看</el-button-->
+<!--              >-->
+<!--            </div>-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--        <el-table-column-->
+<!--          header-align="center"-->
+<!--          align="center"-->
+<!--          label="操作"-->
+<!--          width="130PX"-->
+<!--          fixed="right"-->
+<!--        >-->
+<!--          <template slot-scope="scope">-->
+<!--            <el-button-->
+<!--              @click.native.prevent="deleteRow(scope.$index, relevantAttachments)"-->
+<!--              :disabled="browseStatus"-->
+<!--              size="small"-->
+<!--              type="text"-->
+<!--            >删除-->
+<!--            </el-button>-->
+<!--          </template>-->
+<!--        </el-table-column>-->
+<!--      </el-table>-->
+
       <div slot="footer" class="dialog-footer">
         <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
         <approval-comments v-if="addOrUpdateVisib" ref="ApprovalComments" @refreshDataList="returnData"></approval-comments>
@@ -462,6 +568,7 @@ import ApprovalComments from '@/views/startApproval'
 import Global from '@/layout/components/global'
 import Vue from 'vue'
 // import { listUser, queryUserVal } from '@/api/system/user'
+import { getToken } from "@/utils/auth";
 Vue.directive('dialogDrag', {
   bind(el, binding, vnode, oldVnode) {
     const dialogHeaderEl = el.querySelector('.el-dialog__header')
@@ -621,7 +728,13 @@ export default {
         fEnddate:[
           { required: true, message: ' ', trigger: 'blur' }
         ]
-      }
+      },
+      // 附件上传数组
+      relevantAttachments: [],
+      headers: {
+        Authorization: "Bearer " + getToken(),
+      },
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
     }
   },
   created() {
@@ -768,6 +881,12 @@ export default {
         // this.$set(this,'fMblnoOptions',response.data.corps)
         this.deptName = response.data.dept.deptName
         this.form = response.data.tWarehouseAgreement
+        if (response.data.tWarehouseAgreement.tPackages) {
+          this.form.tPackages = this.form.tPackages
+            .replace(/\[|]/g, "")
+            .replace(/\"/g, "")
+            .split(",");
+        }
         this.operator = this.form.createBy
         this.agreementitemsList = response.data.tWarehouseAgreementitems
         for (let item in this.agreementitemsList) {
@@ -1077,6 +1196,12 @@ export default {
           this.form = response.data.tWarehouseAgreement
           this.form.fId = null
           this.form.fBillstatus = ''
+          if (response.data.tWarehouseAgreement.tPackages) {
+            this.form.tPackages = this.form.tPackages
+              .replace(/\[|]/g, "")
+              .replace(/\"/g, "")
+              .split(",");
+          }
           // this.fMblnoOptions = response.data.corps
           this.agreementitemsList = response.data.tWarehouseAgreementitems
           for (let item in this.agreementitemsList) {
@@ -1095,6 +1220,12 @@ export default {
         getAgreement(fId).then(response => {
           this.deptName = response.data.dept.deptName
           this.form = response.data.tWarehouseAgreement
+          if (response.data.tWarehouseAgreement.tPackages) {
+            this.form.tPackages = this.form.tPackages
+              .replace(/\[|]/g, "")
+              .replace(/\"/g, "")
+              .split(",");
+          }
           // this.fMblnoOptions = response.data.corps
           this.agreementitemsList = response.data.tWarehouseAgreementitems
           for (let item in this.agreementitemsList) {
@@ -1117,11 +1248,11 @@ export default {
       if (name == null || name === '') {
         return false
       }
-      // let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 1 }
-      // listCorps(queryParams).then((response) => {
-      //   this.fMblnoOptions = response.rows
-      //   this.KHblnoOptions = response.rows
-      // })
+      let queryParams = { pageNum: 1, fName: name, type: 1 }
+      listCorps(queryParams).then((response) => {
+        this.fMblnoOptions = response.rows
+        this.KHblnoOptions = response.rows
+      })
     },
     debounce(fn, delay) {
       let timerId = null;
@@ -1181,7 +1312,38 @@ export default {
     },
     deleteRow(index, rows) {
       rows.splice(index, 1)
-    }
+    },
+    // 新增附件明细数据
+    addRelevt() {
+      console.log(123)
+      this.relevantAttachments.push({
+        fUrl: null,
+        fName: null,
+        createBy: this.createBy,
+        createTime: Date.parse(new Date()),
+      });
+      console.log(this.relevantAttachments)
+    },
+    //附件上传
+    handleSucces(scope, res, file) {
+      console.log(scope)
+      console.log(res)
+      this.relevantAttachments[scope.$index].fName = res.fileName;
+      this.relevantAttachments[scope.$index].fUrl = res.url;
+      // if (!this.relevantAttachments[scope.$index].fUrl) {
+      //   this.$message.error("上传失败");
+      // } else {
+      //   this.$message.success("上传成功");
+      // }
+    },
+    //附件查看
+    checkFile(scope) {
+      if (this.relevantAttachments[scope.$index].fUrl) {
+        window.open(this.relevantAttachments[scope.$index].fUrl);
+      } else {
+        this.$message.error("请上传附件");
+      }
+    },
   }
 }
 </script>