From e146bc181625aee75624f8364654721cfd886254 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 30 六月 2023 17:39:53 +0800
Subject: [PATCH] 修改部分空指针报错

---
 Source/UBCS-WEB/src/views/code/code.vue |  148 ++++++++++++++++++++++++++-----------------------
 1 files changed, 79 insertions(+), 69 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 5b3a5ea..ca5372d 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -300,6 +300,7 @@
             size="small"
             icon="el-icon-search"
             plain
+            :disabled="selectionList.length <= 0"
             @click="openAdvancedQuery('codeBasicSec')">
             楂樼骇鏌ヨ
         </el-button>
@@ -527,7 +528,7 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeFillSeparatorSelect" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                <el-select v-model="form.codeFillSeparator" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
                     :key="item.itemValue"
@@ -664,7 +665,7 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeFillSeparatorSelect" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                <el-select v-model="form.codeFillSeparator" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
                     :key="item.itemValue"
@@ -778,6 +779,7 @@
         ref="referConfigFormDialog"
         @echoReferConfig="echoReferConfig">
       </refer-config-form-dialog>
+      
       <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 -->
       <refer-config-crud-dialog
         ref="referConfigCrudDialog"
@@ -1104,7 +1106,6 @@
             //console.log(conditionMaps);
           }
         },
-
         /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */
         updateFormulaContent(content){
           this.form.getValueClass = content;
@@ -1112,17 +1113,18 @@
         /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
         echoReferConfig(content){
           // console.log(content.referTypeName);
-          this.form.referBtmId = content.referType;
-          this.form.referBtmName = content.referTypeName;
+          this.form.referBtmId = content.referType || '';
+          this.form.referBtmName = content.referTypeName || content.referType;
           //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
           let submitFormJson = JSON.stringify(content);
-          this.form.referConfig = submitFormJson;
+          this.form.referConfig = submitFormJson || '';
+          this.form.referValueInfo = submitFormJson || '';
         },
         /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
         echoReferBtmType(content){
-            // 瀹炵幇鍥炴樉
-            this.form.referBtmId = content.id;
-            this.form.referBtmName = content.name;
+          // 瀹炵幇鍥炴樉
+          this.form.referBtmId = content.id || '';
+          this.form.referBtmName = content.name || content.id;
         },
         
         /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
@@ -1177,7 +1179,8 @@
           let parentClsParam = this.parentClsfyParams;
           parentClsParam.classifyDialogLoading = true;
           let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid;
-          let conditionMaps = this.paramsToConditionMa({"pkCodeRule":oid});
+          let conditionMaps = {};
+          conditionMaps['conditionMap[pkCodeRule]'] = oid;
           refDataGridClassifySec(
             page.currentPage, 
             page.pageSize, 
@@ -1648,7 +1651,7 @@
           this.addBasicCodeSettingBox = true;
         },
         // 鏂板鍩虹鐮佹
-        saveOrEditBasicCode(){
+        async saveOrEditBasicCode(){
           if(this.selectionList[0].oid == null ||  this.selectionList[0].oid == ''){
             this.$message.warning('缂哄け蹇呰鍙傛暟锛岃閲嶆柊閫夋嫨缂栫爜瑙勫垯鍚庡啀璇�!');
             return;
@@ -1656,7 +1659,7 @@
           this.form.pkCodeRule = this.selectionList[0].oid;
           if(this.form.oid == '' || this.form.oid == null){
             if(this.checkForm()){
-              addSave(this.form).then(() => {
+              await addSave(this.form).then(() => {
                 this.$message({
                   type: "success",
                   message: "鎿嶄綔鎴愬姛!"
@@ -1667,8 +1670,18 @@
               // 鍏抽棴瀵硅瘽妗�
               this.addBasicCodeSettingBox = false
             }
-            
+            // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+            this.loadBasic(this.selectionList[0]);
           }else{
+            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
+            let referConfig = JSON.parse(this.form.referConfig);
+            referConfig.referType = this.form.referBtmId;
+            referConfig.referTypeName = this.form.referBtmName;
+            this.form.referConfig = JSON.stringify(referConfig);
+
+            let referValueInfo = JSON.parse(this.form.referValueInfo);
+            referValueInfo.referType = this.form.referBtmId;
+            this.form.referValueInfo = JSON.stringify(referValueInfo);
             editSave(this.form).then(() => {
                // 鍏抽棴瀵硅瘽妗�
               this.addBasicCodeSettingBox = false
@@ -1679,9 +1692,8 @@
               }, error => {
                 window.console.log(error);
             });
+            this.loadBasic(this.selectionList[0]);
           }
-          // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-          this.loadBasic(this.selectionList[0]);
         },
         // 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�
         checkForm(){
@@ -1729,7 +1741,7 @@
               return false;
             }
           }else if(this.form.secType==='codeserialsec'){
-            console.log(form.codeFillType);
+            //console.log(form.codeFillType);
             //娴佹按鐮佹
             if(form.codeSecLength == ''){
               this.$message.warning('(鐮佹鐨勯暱搴�)'+tipsMsg);
@@ -1755,7 +1767,7 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1779,11 +1791,10 @@
               this.$refs.codeFillLimit.$el.querySelector('input').focus();
               return false;
             }
-            if(form.codeFillFlag == ''){
-              this.$message.warning('(娴佹按鏄惁琛ョ爜)'+tipsMsg);
-              this.$refs.switch.$el.querySelector('input').focus();
-              return false;
-            }
+            // if(form.codeFillFlag == '' || ){
+            //   this.$message.warning('(娴佹按鏄惁琛ョ爜)'+tipsMsg);
+            //   return false;
+            // }
           }else if(this.form.secType==='codelevelsec'){
             //灞傜骇鐮佹
             if(form.codeLevelType == ''){
@@ -1851,7 +1862,8 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            // console.log(form);
+            if(form.codeFillType != 'code_fill_none' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1899,9 +1911,11 @@
           }
           // console.log(row.oid);
           //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
-          this.currentCodeRuleOid = row.oid;
-          this.currentRuleLcStatus = row.lcStatus;
-          this.sendGridCodeBasicSec({"cpkCodeRule":row.oid},false);
+          if(row!='' || row!=null){
+            this.currentCodeRuleOid = row.oid;
+            this.currentRuleLcStatus = row.lcStatus;
+            this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false);
+          }
         },
         // 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�
         sendGridCodeBasicSec(condition,isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */){
@@ -1912,11 +1926,11 @@
           let conditionMaps = {};
           if(condition && !isAdancedQuery){
             Object.keys(condition).forEach(key=>{
-              conditionMaps['conditionMap[pl_code_basicsec.'+key+']'] = condition[key].trim();
+              conditionMaps['conditionMap['+key+']'] = condition[key].trim();
             });
           }
           if(isAdancedQuery){
-            condition['conditionMap[pl_code_basicsec.pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' 
+            condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' 
             ? this.selectionList[0].oid:this.currentCodeRuleOid;
           }
           gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => {
@@ -1955,11 +1969,9 @@
         },
         // 涓婄Щ涓嬬Щ鍩虹鐮佹
         upOrderNum(row){
-          //console.log(row.oid);
           if(!this.tipsMessage(this.selectionList)){
             return;
           }
-          let codeRuleOid = this.selectionList[0].oid;
           if (this.selectionList[0].lcStatus != 'Editing') {
             this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!");
             return; 
@@ -1969,7 +1981,7 @@
             return;        
           }
           upOrderNum(row.oid).then(() => {
-            this.loadBasic({"oid":codeRuleOid});
+            this.loadBasic(this.selectionList[0]);
             this.$message({
               type: "success",
               message: "鎿嶄綔鎴愬姛!"
@@ -2001,7 +2013,7 @@
         },
         // 鍩虹鐮佹鍒锋柊鏃舵煡璇�
         refreshChangeBasicSec(){
-          this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid});
+          this.loadBasic(this.selectionList.at(-1));
         },
         // 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌
         hideBasicTable(hideBoolean){
@@ -2009,18 +2021,16 @@
           this.$refs.crudBasic.option.columnBtn = hideBoolean;
           this.$refs.crudBasic.option.column[0].search = hideBoolean;
           this.$refs.crudBasic.option.column[1].search = hideBoolean;
+          if(!hideBoolean){
+            this.selectionList = [];
+            this.basicData = [];
+          }
         },
 
 
         /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */
         // 鎵撳紑楂樼骇鏌ヨ绐楀彛
         openAdvancedQuery(condition){
-          // MasterTable({
-          //   codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
-          //   functionId: 5,
-          // }).then(res=>{
-          //   console.log(res.data.tableDefineVO.seniorQueryColumns);
-          // }) 
           if(condition=='codeRule'){
             this.advancedQueryParam.options = [
               {
@@ -2065,22 +2075,22 @@
                 data: [],
                 title: '鐮佹缂栧彿',
                 fieldType: 'text',
-                queryField: 'pl_code_basicsec.id',
+                queryField: 'id',
               },{
                 data: [],
                 title: '鐮佹鍚嶇О',
                 fieldType: 'text',
-                queryField: 'pl_code_basicsec.name',
+                queryField: 'name',
               },{
                 data: [],
                 title: '鎻忚堪',
                 fieldType: 'text',
-                queryField: 'pl_code_basicsec.description',
+                queryField: 'description',
               },{
                 data: [],
                 title: '鐮佹绫诲瀷',
                 fieldType: 'combox',
-                queryField: 'pl_code_basicsec.secType',
+                queryField: 'secType',
                 comboxKey: 'codeSecType',
               }
             ]
@@ -2112,17 +2122,6 @@
         // 鍒锋柊浣跨敤鑼冨洿鍒楄〃
         refreshUseRangeChange(){
           this.getRangeCodeList();
-        },
-        // 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
-        codeRuleRowClick (row) {
-          // 杩欏効搴旇鍙互涓嶈锛屽洜涓簍oggleRowSelection涔熶細瑙﹀彂琛岄�夋嫨鏃堕棿
-          this.selectionList = row;
-          this.$refs.crud.toggleSelection();
-          this.$refs.crud.setCurrentRow(row);
-          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-          if(row!=''){
-            this.loadBasic(row);
-          }
         },
         // 鍚敤涓庡仠鐢�
         enableOrDeactivatse(oId,update){
@@ -2220,7 +2219,7 @@
           this.selectionOtherCloneCodeBasicList = list;
           this.$refs.crudCloneCodeBasicOther.setCurrentRow(this.selectionOtherCloneCodeBasicList[list.length-1]);
         },
-         // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
+        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
         saveOtherCodeBasic(){
           let oid = this.selectionList[0].oid;
           let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList;
@@ -2238,7 +2237,7 @@
           //console.log(res);
           let oidArr = [];
           fromDialogPkCodebasic.forEach(ele => {
-            oidArr.push(ele.id);
+            oidArr.push(ele.oid);
           });
           let data = {
             "pkCodeRule": oid,
@@ -2360,7 +2359,7 @@
           let requestData = {};
           if(params){
             Object.keys(params).forEach(key=>{
-              requestData["conditionMap"+'['+key+']'] = params[key].trim();
+              requestData["conditionMap"+'['+key+'_like]'] = params[key].trim();
             });
           }
           this.query = requestData;
@@ -2370,17 +2369,23 @@
         // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
         selectionChange(list) {
           this.selectionList = list;
-          this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
           //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳�
-          if(list == ''){
-            this.basicData = [];
+          if(this.selectionList.length <= 0){
             this.hideBasicTable(false);
           }
-          if(this.selectionList.length > 0){
+          if (this.selectionList.length > 0) {
+            this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
             this.currentCodeRuleOid = this.selectionList[list.length-1].oid;
             this.currentRuleLcStatus = this.selectionList[list.length-1].lcStatus;
             this.loadBasic(this.selectionList[list.length-1]);
           }
+        },
+        // 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
+        codeRuleRowClick (row) {
+          // console.log(this.currentRuleLcStatus);
+          this.$refs.crud.toggleSelection();
+          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+  
         },
         selectionClear() {
           this.selectionList = [];
@@ -2410,8 +2415,6 @@
             // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤
             if(data.records.length <= 0) {
               this.hideBasicTable(false);
-              this.selectionList = [];
-              this.basicData = [];
               return;
             }
             this.loadBasic(this.data[0])
@@ -2507,7 +2510,7 @@
         // 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�
         inputSelectBlur(e){
           if (e.target.value) {  
-            this.form.codeFillSeparatorSelect = e.target.value;
+            this.form.codeFillSeparator = e.target.value;
           }
         },
         // 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��
@@ -2568,8 +2571,8 @@
               serialStart: row!=null&&row.serialStart != '' ? row.serialStart:1,  //娴佹按鍙疯捣濮嬪��
               serialStep: row!=null&&row.serialStep != '' ? row.serialStep:1,   //娴佹按鐨勬闀�
               codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜琛ヤ綅鏂瑰紡
-              codeFillSeparatorSelect: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:0,          //琛ヤ綅鏃剁殑瀛楃
+              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
+              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0',          //琛ヤ綅鏃剁殑瀛楃
               codeFillLength: row!=null&&row.codeFillLength != '' ? row.codeFillLength:'',              //濉厖闀垮害
               codeFillLimit: row!=null&&row.codeFillLimit != '' ? row.codeFillLimit:'',               //娴佹按涓婇檺
               codeFillFlag: row!=null&&row.codeFillFlag != '' ? row.codeFillFlag=='true' ?  true:false :false,      //娴佹按鏄惁琛ョ爜
@@ -2595,6 +2598,7 @@
               referBtmId: row!=null&&row.referBtmId != '' ? row.referBtmId:'',   //鍙傜収寮曠敤鐨勪笟鍔$被鍨嬶紝鐨刬d
               referBtmName: row!=null&&row.referBtmName != '' ? row.referBtmName:'', //鍙傜収寮曠敤鐨勪笟鍔$被鍨�
               referConfig: row!=null&&row.referConfig != '' ? row.referConfig:'',  //鍙傜収閰嶇疆
+              referValueInfo: row!=null&&row.referValueInfo != '' ? row.referValueInfo:'',  //鍙傜収閰嶇疆
             });
           }else if(this.form.secType==='codedatesec'){
             //鏃ユ湡鐮佹
@@ -2616,9 +2620,9 @@
             //鍙彉鐮佹
             this.form = Object.assign({}, this.form,{
               codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'',             //鐮佹鐨勯暱搴�
-              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_right', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇�
-              codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,  //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇�
+              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇�
+              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,  //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣
+              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇�
             });
             this.loadCodeFillType();
             this.loadCodeFillSeparator();
@@ -2648,7 +2652,13 @@
           this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType");
         },
         loadCodeFillSeparator(){
-          this.enumParam.codeFillSeparator = this.getLocalStorageEnum("codeFillSeparator");
+          let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
+          if(enumCach == null) {
+            getDictionary("codeFillSeparator").then(res=>{
+              this.enumParam.codeFillSeparator = res.data.data;
+              localStorage.setItem(key,JSON.stringify(res.data.data));
+            })
+          }
         },
         loadCodeLevelType(){
           this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType");

--
Gitblit v1.9.3