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

前后:物资准入和增项准入范围多选下拉和删除问题;key重复

dubch пре 5 година
родитељ
комит
42554cb7cc

+ 4 - 4
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go

@@ -1197,13 +1197,13 @@ func (this *OilGoodsAptitudeController) Changelist() {
 // @router /goodsparentlist/:name [get]
 func (this *OilGoodsAptitudeController) GoodsParentList() {
 	Name := this.Ctx.Input.Param(":name")
+	Level := this.GetString("level")
 	if Name != "" {
 		svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
-		where1 := "1=1"
-		where1 += " AND Name LIKE '%" + Name + "%' OR Code LIKE '" + Name + "%' "
+		where1 := " (goods.GoodsLevel is null or goods.GoodsLevel = " + Level + ") AND (Name LIKE '%" + Name + "%' OR Code LIKE '" + Name + "%') "
 
-		sqlStr := "SELECT Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass " +
-			"WHERE " + where1 + " AND Edition='1' AND DeletionStateCode = 0 ORDER BY Code"
+		sqlStr := "SELECT class.Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass class left join OilGoodsAptitude goods on goods.ClassId = class.Id " +
+			"WHERE " + where1 + " AND class.Edition='1' AND class.DeletionStateCode = 0 ORDER BY Code"
 		list, _ := svc.DBE.QueryString(sqlStr)
 		/*
 			sql := "SELECT Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass " +

+ 8 - 1
src/dashoo.cn/frontend_web/src/api/oilsupplier/goodsaptitude.js

@@ -209,5 +209,12 @@ export default {
       url: '/goodsaptitude/create-contrast',
       method: 'GET'
     })
-  }
+  },
+  goodsParentlist (params, name, myAxios) {
+    return myAxios({
+      url: '/goodsaptitude/goodsparentlist/' + name,
+      method: 'GET',
+      params: params
+    })
+  },
 }

+ 18 - 13
src/dashoo.cn/frontend_web/src/components/oilsupplier/goodslist2.vue

@@ -147,7 +147,6 @@
                            :data="orgtreelist"
                            :props="orgtreeprops"
                            ref="orgmanagetree"
-                           check-on-click-node
                            show-checkbox
                            lazy
                            @check="checkLostCertTimeOut"
@@ -185,7 +184,8 @@
                 :span-method="objectSpanMethod"
                 border
                 size="mini"
-                style="width: 100%; margin-top:20px">
+                style="width: 100%; margin-top:20px"
+                v-loading="loading2">
                 <el-table-column
                   prop="Code"
                   label="准入编码">
@@ -283,6 +283,7 @@
   import {
     mapGetters
   } from 'vuex'
+  import api from '@/api/oilsupplier/goodsaptitude'
 
   export default {
     name: 'GoodsList',
@@ -374,7 +375,8 @@
         isFirstOpen: true,
         node_had: {},
         resolve_had: {},
-        lostTableData: []
+        lostTableData: [],
+        loading2: false
       }
     },
     methods: {
@@ -679,13 +681,14 @@
       getsectreelist () {
         let _this = this
         let name = _this.searchText
-        this.$axios.get('goodsaptitude/goodsparentlist/' + name)
-          .then(res => {
-            _this.sectreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'ParentId', 'Id,Code,Name,CodeName,GoodsLevel')
-          })
-          .catch(err => {
-            console.error(err)
-          })
+        let params = {
+          level : _this.Grade
+        }
+        api.goodsParentlist(params, name, this.$axios).then(res => {
+          _this.sectreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'ParentId', 'Id,Code,Name,CodeName,GoodsLevel')
+        }).catch(err => {
+          console.error(err)
+        })
       },
       // 获取下一级所有分类
       getChildrens (val, resolve) {
@@ -732,6 +735,7 @@
       checkLostCertTimeOut () {
         let _this = this
         this.loading = true
+        this.loading2 = true
         setTimeout(function () {
           _this.$nextTick(() => {
             _this.checkLostCert()
@@ -739,10 +743,8 @@
         }, 200)
       },
       checkExpand (data,node,node2) {
-        console.log(data,node,node2,'2222')
-        console.log(data.Code.length,node.childNodes,'QQQ')
         if (data.Code.length === 6) {
-          node.disabled = false
+          // node.disabled = false
           data.disabled = false
           node2.disabled = false
         }
@@ -779,14 +781,17 @@
         } else {
           _this.lostTableData = []
           this.loading = false
+          this.loading2 = false
           return
         }
         _this.$axios.post('/suppliercertsub/check-certsub-lost', params).then(res => {
           console.log(res.data, 777)
           _this.lostTableData = _this.mergeTableRow(res.data, ['Code'])
           this.loading = false
+          this.loading2 = false
         }).catch(err => {
           this.loading = false
+          this.loading2 = false
           console.error(err)
         })
       },

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/basisdataopera.vue

@@ -399,7 +399,7 @@
                     <el-form-item label="供应商公司名称" prop="checkSelectedSupplier">
                       <el-select ref="suppselect" :disabled="true"
                                  v-model="supplierOptions" filterable @change="getInfo" placeholder="请选择供应商公司" style="width: 100%">
-                        <el-option v-for="item in supplierList" :key="item.SupplierId" :label="item.SupplierName"
+                        <el-option v-for="(item, index) in supplierList" :key="index" :label="item.SupplierName"
                                    :value="item.SupplierId">
                         </el-option>
                       </el-select>

+ 20 - 20
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/goodsdataopera.vue

@@ -108,16 +108,6 @@
               </el-row>
               <el-row>
 
-                <!--<el-col :span="8">-->
-                <!--<el-form-item label="准入方式">-->
-                <!--<el-select ref="inStyle" v-model="supplierData.InStyle" :class="changedForm['SpecTypeCode'] ? 'modified-form-input' : ''"-->
-                <!--:disabled="true" placeholder="请选择" style="width: 100%">-->
-                <!--<el-option v-for="item in InOptions" :key="item.Id" :label="item.Key" :value="item.Value">-->
-                <!--</el-option>-->
-                <!--</el-select>-->
-                <!--</el-form-item>-->
-                <!--</el-col>-->
-
                 <el-col :span="8">
                   <el-form-item label="中石油准入证编号">
                     <el-input v-model="supplierData.PACNumber"
@@ -462,7 +452,7 @@
                     <el-form-item label="供应商公司名称" prop="checkSelectedSupplier">
                       <el-select ref="suppselect" :disabled="true" v-model="supplierOptions" filterable
                                  @change="getInfo" placeholder="请选择供应商公司" style="width: 100%">
-                        <el-option v-for="item in supplierList" :key="item.SupplierId" :label="item.SupplierName"
+                        <el-option v-for="(item, index) in supplierList" :key="index" :label="item.SupplierName"
                                    :value="item.SupplierId">
                         </el-option>
                       </el-select>
@@ -811,11 +801,11 @@
                            :data="orgtreelist"
                            :props="orgtreeprops"
                            ref="orgmanagetree"
-                           check-on-click-node
                            show-checkbox
                            lazy
                            @check="checkLostCertTimeOut"
                            :load="getChildrens"
+                           @node-expand="checkExpand"
                            :filter-node-method="filterNode">
                   </el-tree>
                   <el-tree v-show="switchstatus"
@@ -1124,6 +1114,8 @@
   import ChooseAuditor from '@/components/oilsupplier/chooseauditor'
   import ChooseAuditorFen from '@/components/oilsupplier/chooseauditorfenban'
   import setapi from '@/api/oilsupplier/oilclassorgset'
+  import goodsApi from '@/api/oilsupplier/goodsaptitude'
+
 
   // v-viewer
   import Vue from 'vue'
@@ -2062,7 +2054,7 @@
               return resolve([])
             }
             for (let idx in res.data.items) {
-              if (res.data.items[idx].Code.length <= 4) {
+              if (res.data.items[idx].Code.length <= 6) {
                 res.data.items[idx].disabled = true
               }
               res.data.items[idx].Leaf = res.data.items[idx].Leaf === '1'
@@ -2086,6 +2078,13 @@
           })
         }, 1000)
       },
+      checkExpand (data,node,node2) {
+        if (data.Code.length === 6) {
+          // node.disabled = false
+          data.disabled = false
+          node2.disabled = false
+        }
+      },
       checkLostCert () {
         let _this = this
         let params = {
@@ -3101,13 +3100,14 @@
       getsectreelist () {
         let _this = this
         let name = _this.searchText
-        this.$axios.get('goodsaptitude/goodsparentlist/' + name)
-          .then(res => {
-            _this.sectreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'ParentId', 'Id,Code,Name,CodeName')
-          })
-          .catch(err => {
-            console.error(err)
-          })
+        let params = {
+          level : _this.Grade
+        }
+        goodsApi.goodsParentlist(params, name, this.$axios).then(res => {
+          _this.sectreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'ParentId', 'Id,Code,Name,CodeName')
+        }).catch(err => {
+          console.error(err)
+        })
       },
 
       // 判断是否保存了增项信息

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/techdataopera.vue

@@ -401,7 +401,7 @@
                     <el-form-item label="供应商公司名称" prop="checkSelectedSupplier">
                       <el-select ref="suppselect" :disabled="true" v-model="supplierOptions" filterable @change="getInfo" placeholder="请选择供应商公司"
                                  style="width: 100%">
-                        <el-option v-for="item in supplierList" :key="item.SupplierId" :label="item.SupplierName"
+                        <el-option v-for="(item, index) in supplierList" :key="index" :label="item.SupplierName"
                                    :value="item.SupplierId">
                         </el-option>
                       </el-select>