Sfoglia il codice sorgente

Merge tag 'Hotfix-mo-29' into develop

Finish Hotfix-mo-29
莫绍宝 3 anni fa
parent
commit
dd496dcd55

+ 9 - 0
src/api/common.js

@@ -79,4 +79,13 @@ export function checkOrder(params) {
     method: 'get',
     params
   })
+}
+
+// 获取业务员列表
+export function getSalesmanList(params) {
+  return request({
+    url: "/admin/user/list",
+    method: "get",
+    params,
+  });
 }

+ 7 - 0
src/styles/index.scss

@@ -234,9 +234,16 @@ div:focus {
 }
 
 .el-menu-item, .el-submenu__title {
+  height: 50px;
+  line-height: 50px;
   font-weight: 600 !important;
 }
 
+.el-submenu .el-menu-item {
+  height: 50px;
+  line-height: 50px;
+}
+
 .page-footer {
   height: 70px;
   .footer {

+ 65 - 4
src/views/supply/engin/components/commerce_form.vue

@@ -72,8 +72,18 @@
             <el-input v-model="mainForm.company" placeholder="请输入使用单位" disabled></el-input>
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row :gutter="20">
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="业务员" prop="salesMan">
+            <el-select v-model="mainForm.salesMan" placeholder="选择业务员" size="small" clearable style="width: 100%">
+              <el-option
+                v-for="item in outSalesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="联系人" prop="contactMan">
             <el-input v-model="mainForm.contactMan" placeholder="请输入联系人" disabled></el-input>
@@ -239,6 +249,20 @@
             <div>{{ status2Filter(scope.row) }}</div>
           </template>
         </el-table-column>
+
+        <el-table-column align="center" label="业务员" prop="serviceId" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.serviceId" placeholder="选择业务员" size="small" clearable>
+              <el-option
+                v-for="item in salesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+
         <el-table-column align="center" label="操作" width="100" fixed="right">
           <template slot-scope="scope">
             <el-button type="text" @click="deleteItem(scope.$index)">删除</el-button>
@@ -327,7 +351,7 @@
 
 <script>
 import { getOrderDetail, getComLoginList, getComLoginDetail, getWarehouseList, addCom, editCom, submitCom, checkStock, getWalletList } from "@/api/supply/engin";
-import { getDictList, getTypeList } from '@/api/common'
+import { getDictList, getTypeList, getSalesmanList } from '@/api/common'
 
 let that
 export default {
@@ -372,6 +396,7 @@ export default {
         createMan: '',
         createDate: '',
         fileNum: '',
+        salesMan: '',
       },
       mainFormRules: {
         // orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
@@ -404,12 +429,33 @@ export default {
 
       warehouseList: [],
       warehouseValue: '',
+
+      isFirst: true,
+      salesmanList: [],
     }
   },
   
   computed: {
     isDealer() {
       return JSON.parse(localStorage.getItem("supply_user")).isCustomer
+    },
+
+    outSalesmanList() {
+      let list = [];
+      if(this.goodsList && this.goodsList.length) {
+        this.goodsList.forEach(item => {
+          if(item.serviceId) {
+            let obj = this.salesmanList.find(o => o.adminUserId == item.serviceId);
+            list.push(obj);
+          }
+        })
+        if(this.isFirst) {
+          this.isFirst = false;
+        }else {
+          this.mainForm.salesMan = this.goodsList[0].serviceId;
+        }
+      }
+      return list
     }
   },
 
@@ -417,7 +463,8 @@ export default {
     that = this;
   },
 
-  created() {
+  async created() {
+    await this.getSalesmanList();
     this.getDictList();
     this.getWarehouseList();
 
@@ -474,6 +521,16 @@ export default {
       })
     },
 
+    async getSalesmanList() {
+      const res = await getSalesmanList({
+        pageNum: 1,
+        pageSize: -1,
+        isCustomer: 0,
+        status: true,
+      });
+      this.salesmanList = res.data.records;
+    },
+
     // 获取详情
     getDetail() {
       getOrderDetail({id: this.editId}).then(res => {
@@ -499,6 +556,7 @@ export default {
         this.mainForm.createMan = data.createName;
         this.mainForm.createDate = data.createTime;
         this.mainForm.fileNum = data.fileNo;
+        this.mainForm.salesMan = data.serviceId;
 
         data.items.forEach(item => {
           item.status1 = '';
@@ -697,6 +755,7 @@ export default {
             delete item.wallets;
           })
 
+          let saleManItem = this.outSalesmanList.find(o => o.adminUserId == this.mainForm.salesMan);
           let params = {
             enginOrderId: this.mainForm.orderNum,
             // orderDate: this.mainForm.orderDate,
@@ -714,6 +773,8 @@ export default {
             note1: this.mainForm.greeReply || '',
             remark: this.mainForm.remark || '',
             fileNo: this.mainForm.fileNum || '',
+            serviceId: this.mainForm.salesMan,
+            serviceName: saleManItem.nickName,
             items: goodsList,
           }
           if(type === 1) {

+ 66 - 3
src/views/supply/engin/components/home_form.vue

@@ -79,6 +79,18 @@
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="业务员" prop="salesMan">
+            <el-select v-model="mainForm.salesMan" placeholder="选择业务员" size="small" clearable style="width: 100%">
+              <el-option
+                v-for="item in outSalesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="联系人" prop="contactMan">
             <el-input v-model="mainForm.contactMan" placeholder="请输入联系人" disabled></el-input>
           </el-form-item>
@@ -245,6 +257,20 @@
             <div>{{ status2Filter(scope.row) }}</div>
           </template>
         </el-table-column>
+
+        <el-table-column align="center" label="业务员" prop="serviceId" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.serviceId" placeholder="选择业务员" size="small" clearable disabled>
+              <el-option
+                v-for="item in salesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+
         <el-table-column align="center" label="操作" width="100" fixed="right">
           <template slot-scope="scope">
             <el-button type="text" @click="deleteItem(scope.$index)">删除</el-button>
@@ -414,7 +440,7 @@
 
 <script>
 import { getOrderDetail, getHomeLoginList, getHomeLoginDetail, getWarehouseList, addHome, editHome, submitHome, checkStock, getRetailProductList } from "@/api/supply/engin";
-import { getDictList, getTypeList } from '@/api/common'
+import { getDictList, getTypeList, getSalesmanList } from '@/api/common'
 
 let that
 export default {
@@ -460,7 +486,8 @@ export default {
         createMan: '',
         createDate: '',
         fileNum: '',
-        loginUserId: ''
+        loginUserId: '',
+        salesMan: '',
       },
       mainFormRules: {
         // orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
@@ -514,12 +541,33 @@ export default {
       rightSelection: [],
 
       formLoading: false,
+
+      isFirst: true,
+      salesmanList: [],
     }
   },
 
   computed: {
     isDealer() {
       return JSON.parse(localStorage.getItem("supply_user")).isCustomer
+    },
+
+    outSalesmanList() {
+      let list = [];
+      if(this.goodsList && this.goodsList.length) {
+        this.goodsList.forEach(item => {
+          if(item.serviceId) {
+            let obj = this.salesmanList.find(o => o.adminUserId == item.serviceId);
+            list.push(obj);
+          }
+        })
+        if(this.isFirst) {
+          this.isFirst = false;
+        }else {
+          this.mainForm.salesMan = this.goodsList[0].serviceId;
+        }
+      }
+      return list
     }
   },
 
@@ -527,7 +575,8 @@ export default {
     that = this;
   },
 
-  created() {
+  async created() {
+    await this.getSalesmanList();
     this.getDictList();
     this.getSalesTypeList();
     this.getWarehouseList();
@@ -595,6 +644,16 @@ export default {
       })
     },
 
+    async getSalesmanList() {
+      const res = await getSalesmanList({
+        pageNum: 1,
+        pageSize: -1,
+        isCustomer: 0,
+        status: true,
+      });
+      this.salesmanList = res.data.records;
+    },
+
     // 工程登录列表 - 获取列表
     getHomeLoginList() {
       getHomeLoginList({
@@ -764,6 +823,7 @@ export default {
         this.mainForm.createMan = data.createName;
         this.mainForm.createDate = data.createTime;
         this.mainForm.fileNum = data.fileNo;
+        this.mainForm.salesMan = data.serviceId;
 
         data.items.forEach(item => {
           item.status1 = '';
@@ -982,6 +1042,7 @@ export default {
           })
 
           let saleTypeItem = this.salesTypeList.find(o => o.id == this.mainForm.saleType);
+          let saleManItem = this.outSalesmanList.find(o => o.adminUserId == this.mainForm.salesMan);
           let params = {
             enginOrderId: this.mainForm.orderNum,
             // orderDate: this.mainForm.orderDate,
@@ -1003,6 +1064,8 @@ export default {
             note1: this.mainForm.greeReply || '',
             remark: this.mainForm.remark || '',
             fileNo: this.mainForm.fileNum || '',
+            serviceId: this.mainForm.salesMan,
+            serviceName: saleManItem.nickName,
             items: goodsList,
           }
 

+ 64 - 11
src/views/supply/retail/components/retail_form.vue

@@ -25,13 +25,18 @@
             </el-date-picker>
           </el-form-item>
         </el-col>
-        <!-- <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="产品大类" prop="type">
-            <el-select v-model="mainForm.type" placeholder="选择产品大类" style="width: 100%" :disabled="goodsList.length > 0">
-              <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="业务员" prop="salesMan">
+            <el-select v-model="mainForm.salesMan" placeholder="选择业务员" size="small" clearable style="width: 100%">
+              <el-option
+                v-for="item in outSalesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
             </el-select>
           </el-form-item>
-        </el-col> -->
+        </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :xs="24" :sm="12" :lg="8">
@@ -154,6 +159,20 @@
             <div>{{ status2Filter(scope.row) }}</div>
           </template>
         </el-table-column>
+
+        <el-table-column align="center" label="业务员" prop="serviceId" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.serviceId" placeholder="选择业务员" size="small" clearable disabled>
+              <el-option
+                v-for="item in salesmanList"
+                :key="item.adminUserId"
+                :label="item.nickName"
+                :value="item.adminUserId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+
         <el-table-column align="center" label="操作" width="100" fixed="right">
           <template slot-scope="scope">
             <el-button type="text" @click="deleteItem(scope.$index)">删除</el-button>
@@ -270,7 +289,7 @@
 
 <script>
 import { getDetail, addData, editData, getSalesTypeList, getGoodsList, getWarehouseList, checkStock } from "@/api/supply/retail";
-import { getDictList } from '@/api/common'
+import { getDictList, getSalesmanList } from '@/api/common'
 
 let that
 export default {
@@ -299,8 +318,8 @@ export default {
         // type: '',
         jxsNum: '',
         jxsName: '',
-        serviceName: '',
         remark: '',
+        salesMan: '',
       },
       mainFormRules: {
         // date: [
@@ -335,12 +354,33 @@ export default {
 
       leftSelection: [],
       rightSelection: [],
+
+      isFirst: true,
+      salesmanList: [],
     }
   },
 
   computed: {
     isDealer() {
-      return JSON.parse(localStorage.getItem("supply_user")).isCustomer
+      return JSON.parse(localStorage.getItem("supply_user")).isCustomer;
+    },
+
+    outSalesmanList() {
+      let list = [];
+      if(this.goodsList && this.goodsList.length) {
+        this.goodsList.forEach(item => {
+          if(item.serviceId) {
+            let obj = this.salesmanList.find(o => o.adminUserId == item.serviceId);
+            list.push(obj);
+          }
+        })
+        if(this.isFirst) {
+          this.isFirst = false;
+        }else {
+          this.mainForm.salesMan = this.goodsList[0].serviceId;
+        }
+      }
+      return list
     }
   },
 
@@ -348,7 +388,8 @@ export default {
     that = this;
   },
 
-  created() {
+  async created() {
+    await this.getSalesmanList();
     this.getDictList();
     this.getWarehouseList();
     if(this.listItem) {
@@ -371,7 +412,7 @@ export default {
         let data = res.data;
         this.mainForm.orderNum = data.id;
         this.mainForm.date = data.theTime.slice(0, 10);
-        // this.mainForm.type = data.mainId;
+        this.mainForm.salesMan = data.k3ServiceId;
         this.mainForm.jxsNum = data.customerNumber;
         this.mainForm.jxsName = data.customerName;
         this.mainForm.remark = data.remark;
@@ -412,6 +453,16 @@ export default {
       })
     },
 
+    async getSalesmanList() {
+      const res = await getSalesmanList({
+        pageNum: 1,
+        pageSize: -1,
+        isCustomer: 0,
+        status: true,
+      });
+      this.salesmanList = res.data.records;
+    },
+
     // 获取商品列表
     getGoodsList() {
       getGoodsList({
@@ -630,11 +681,13 @@ export default {
             delete item.wallets;
           })
 
-          // let mainName = this.typeList[findElem(this.typeList, 'dictCode', this.mainForm.type)].dictValue;
+          let saleManItem = this.outSalesmanList.find(o => o.adminUserId == this.mainForm.salesMan);
           let params = {
             // theTime: this.mainForm.date + ' 00:00:00',
             // mainId: this.mainForm.type,
             // mainName,
+            k3ServiceId: this.mainForm.salesMan,
+            k3ServiceName: saleManItem.nickName,
             remark: this.mainForm.remark,
             type: 1, // 1:普通零售单,2:政策零售单
             retailOrderItemList: goodsList