lrf402788946 4 years ago
parent
commit
5a36c28cb6

+ 4 - 0
src/views/client/contract.vue

@@ -127,6 +127,10 @@ export default {
     // 查合同 其他参数是...info,都包括在里面,可以输出看看
     // 查合同 其他参数是...info,都包括在里面,可以输出看看
     async searchTreaty({ skip = 0, limit = 10, ...info } = {}) {
     async searchTreaty({ skip = 0, limit = 10, ...info } = {}) {
       let obj = { skip, limit, ...info };
       let obj = { skip, limit, ...info };
+      if (!_.get(obj, 'client')) {
+        this.$message.error('请选择一个供应商后进行查询');
+        return;
+      }
       //如果role不是0就是用户,用户只能查看自己添加的合同,根据创始人owner来查询属于自己添加的合同
       //如果role不是0就是用户,用户只能查看自己添加的合同,根据创始人owner来查询属于自己添加的合同
       //用户与管理员的区别就是需不需要根据owner这个条件来查询用户
       //用户与管理员的区别就是需不需要根据owner这个条件来查询用户
       if (this.user.role !== '0') obj.owner = this.user.id;
       if (this.user.role !== '0') obj.owner = this.user.id;

+ 6 - 5
src/views/order/inDetail.vue

@@ -23,17 +23,17 @@
             </el-form-item>
             </el-form-item>
             <el-form-item label="合同">
             <el-form-item label="合同">
               <el-select v-model="detailForm.treaty" placeholder="请选择合同" @change="treayChange">
               <el-select v-model="detailForm.treaty" placeholder="请选择合同" @change="treayChange">
-                <el-option v-for="(item, index) in contractList" :key="index" :label="item.number" :value="item.id"></el-option>
+                <el-option v-for="(item, index) in contractList" :key="`treaty-${index}`" :label="item.number" :value="item.id"></el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="项目">
             <el-form-item label="项目">
               <el-select v-model="detailForm.item" placeholder="请选择项目" @change="projectChange">
               <el-select v-model="detailForm.item" placeholder="请选择项目" @change="projectChange">
-                <el-option v-for="(item, index) in projectList" :key="index" :label="item.name" :value="item.id"></el-option>
+                <el-option v-for="(item, index) in projectList" :key="`item-${index}`" :label="item.name" :value="item.id"></el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="项目线路">
             <el-form-item label="项目线路">
               <el-select v-model="detailForm.route" placeholder="请选择线路" @change="routeChange">
               <el-select v-model="detailForm.route" placeholder="请选择线路" @change="routeChange">
-                <el-option v-for="(item, index) in routeList" :key="index" :label="item.name" :value="item.id"></el-option>
+                <el-option v-for="(item, index) in routeList" :key="`route-${index}`" :label="item.name" :value="item.id"></el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
           </el-form>
           </el-form>
@@ -455,9 +455,9 @@ export default {
       this.computRate();
       this.computRate();
     },
     },
     //线路改变
     //线路改变
-    routeChange(data, type) {
+    async routeChange(data, type) {
       this.wayValue = data;
       this.wayValue = data;
-      this.searchWay();
+      await this.searchWay();
       if (type) return;
       if (type) return;
       for (let item of this.detailForm.goods) {
       for (let item of this.detailForm.goods) {
         item.mode = '';
         item.mode = '';
@@ -470,6 +470,7 @@ export default {
         item.sh_ys = 0;
         item.sh_ys = 0;
       }
       }
       this.computRate();
       this.computRate();
+      this.$forceUpdate();
     },
     },
     //是否有合同
     //是否有合同
     async isTreaty() {
     async isTreaty() {

+ 2 - 0
src/views/order/out.vue

@@ -258,6 +258,8 @@ export default {
         { label: '数量', model: 'number' },
         { label: '数量', model: 'number' },
         { label: '重量(t)', model: 'weight' },
         { label: '重量(t)', model: 'weight' },
         { label: '体积(m²)', model: 'volume' },
         { label: '体积(m²)', model: 'volume' },
+        { label: '运费税前应收', model: 'sq_ys' },
+        { label: '运费税后应收', model: 'sh_ys' },
         { label: '备注', model: 'remark' },
         { label: '备注', model: 'remark' },
       ],
       ],
       detailList: [],
       detailList: [],

+ 3 - 10
src/views/order/transport/sign.vue

@@ -104,7 +104,7 @@ export default {
         this.$set(this, `total`, total);
         this.$set(this, `total`, total);
       }
       }
       //查客户列表
       //查客户列表
-      const res1 = await this.cQuery({ type: '客户' });
+      const res1 = await this.cQuery({ type: '供应商' });
       if (this.$checkRes(res1)) {
       if (this.$checkRes(res1)) {
         const { data, total } = res1;
         const { data, total } = res1;
         this.$set(this, `nameList`, data);
         this.$set(this, `nameList`, data);
@@ -136,13 +136,6 @@ export default {
       this.$set(this, `form`, data);
       this.$set(this, `form`, data);
       this.dialog = true;
       this.dialog = true;
     },
     },
-    //过滤客户名称
-    roleSelect({ model, value }) {
-      if (model == 'client') {
-        let arr = this.nameList.find(i => i.id === value);
-        if (arr) return arr.name;
-      }
-    },
     //拼接货物名称
     //拼接货物名称
     getGoodsName(data) {
     getGoodsName(data) {
       let longName;
       let longName;
@@ -161,8 +154,8 @@ export default {
           return car.car_no;
           return car.car_no;
         }
         }
       } else if (type === '1') {
       } else if (type === '1') {
-        console.log(supplier);
-        return supplier.client;
+        const r = this.nameList.find(f => f._id === supplier.client);
+        if (r) return r.name;
       } else {
       } else {
         return supplier.car_no;
         return supplier.car_no;
       }
       }

+ 6 - 2
src/views/supplier/contract.vue

@@ -34,7 +34,7 @@
         </el-col>
         </el-col>
       </el-col>
       </el-col>
     </el-row>
     </el-row>
-    <el-dialog :visible.sync="dialog" title="客户合同详情" @close="toClose" width="50%">
+    <el-dialog :visible.sync="dialog" title="供应商合同详情" @close="toClose" width="50%">
       <!-- 物流里面的:data要换成v-model -->
       <!-- 物流里面的:data要换成v-model -->
       <data-form v-model="form" :fields="fields" @save="turnSave" :rules="rules">
       <data-form v-model="form" :fields="fields" @save="turnSave" :rules="rules">
         <template #options="{item}">
         <template #options="{item}">
@@ -75,7 +75,7 @@ export default {
           model: 'status',
           model: 'status',
           filter: 'select',
           filter: 'select',
           type: 'select',
           type: 'select',
-          formact: i => (i === '0' ? '使用' : '禁用'),
+          format: i => (i === '0' ? '使用' : '禁用'),
           list: [
           list: [
             { label: '使用', value: '0' },
             { label: '使用', value: '0' },
             { label: '禁用', value: '1' },
             { label: '禁用', value: '1' },
@@ -124,6 +124,10 @@ export default {
     // 查合同
     // 查合同
     async searchTreaty({ skip = 0, limit = 10, ...info } = {}) {
     async searchTreaty({ skip = 0, limit = 10, ...info } = {}) {
       let obj = { skip, limit, ...info };
       let obj = { skip, limit, ...info };
+      if (!_.get(obj, 'client')) {
+        this.$message.error('请选择一个供应商后进行查询');
+        return;
+      }
       if (this.user.role !== '0') obj.owner = this.user.id;
       if (this.user.role !== '0') obj.owner = this.user.id;
       const res = await this.query(obj);
       const res = await this.query(obj);
       if (this.$checkRes(res)) {
       if (this.$checkRes(res)) {