Przeglądaj źródła

4.1.46 修复curd相关bug

liuyanpeng 1 rok temu
rodzic
commit
481f9ccc9e

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "client-base-v4",
   "description": "Leanwo Prodog Client",
-  "version": "4.1.45",
+  "version": "4.1.46",
   "author": "yangzhijie1488 <yangzhijie1488@163.com>",
   "scripts": {
     "ins": "npm install --registry http://wuzhixin.vip:4873",

+ 6 - 4
src/dashboard/ShortcutMenu.vue

@@ -66,10 +66,12 @@ const infoWindowNo = ref(null);
 const currentTabIndex = ref(0);
 
 onMounted(() => {
-  const { menuIndex, windowNo } = JSON.parse(
-    localStorage.getItem('shortcutMenu'),
-  );
-  menuChanged(menuIndex, windowNo);
+  if(localStorage.getItem('shortcutMenu')){
+    const { menuIndex, windowNo } = JSON.parse(
+      localStorage.getItem('shortcutMenu'),
+    );
+    menuChanged(menuIndex, windowNo);
+  }
 });
 
 const menuChanged = (index, windowNo) => {

+ 0 - 1
src/window/tabFormWidget/SearchWidget.vue

@@ -59,7 +59,6 @@
         :field-value="fieldValue"
         :info-window-no="infoWindowNo"
         :where-clause-source="{'curdTabDataSourceField': { 'curdWindowNo' : windowNo, 'tabIndex' : tabIndex, 'fieldName' : field.fieldName}}"
-        :is-search-widget="true"
         :parent-model-data="parentModelData"
         :model-data="modelData"
         @data-selected="dataSelected"

+ 1 - 1
src/window/tabGridView/SubTabGridEdit.vue

@@ -1211,7 +1211,7 @@ export default {
       var _self = this;
       var validateResults = [];
       if (this.$refs.gridBody1 != undefined) {
-        for (var i = 0; i < this.$refs.gridBody1.length; i++) {
+        for (var i = 0; (i < this.$refs.gridBody1.length) & (i < _self.modelDatas.length); i++) {
           if (_self.modelDatas[i].changed == true) {
             var validateResults1 = this.$refs.gridBody1[i].performValidate();
             validateResults = validateResults.concat(validateResults1);

+ 1 - 1
src/window1/tabFormEdit/TabFormEditModal.vue

@@ -302,7 +302,7 @@
         </div>
       </div>
 
-      <a-modal v-model:open="modal1" :title="$t('lang.tabFormEdit.validateError')">
+      <a-modal v-model:open="modal1" :title="$t('lang.tabFormEdit.validateError')" @ok="modal1 = false">
         <div>
           {{ $t("lang.tabFormEdit.validateError", { errorCount: errorCount, errorMsg: errorMsg, }) }}
         </div>

+ 8 - 9
src/window1/tabFormView/TabFormViewModal.vue

@@ -475,11 +475,11 @@ export default {
       type: Number,
       default: 0,
     },
-    // 窗口唯一Id(必须是唯一的)
-    uuid: {
-      type: String,
-      default: '',
-    },
+    // // 窗口唯一Id(必须是唯一的)
+    // uuid: {
+    //   type: String,
+    //   default: '',
+    // },
     // 工作流任务Id(taskId)
     taskInfoId: {
       type: String,
@@ -810,9 +810,8 @@ export default {
 
   mounted: function () {
     console.log('WindowView mounted.');
-
     var _self = this;
-
+    _self.uuid = _self.$route.query.uuid;
     // 按钮栏实现滚动
     // _self.$nextTick(function () {
     // var fixedButtonGroup = $(_self.$refs.fixedButtonGroup);
@@ -1252,7 +1251,7 @@ export default {
 
           _self.uniqueByNoAccessControl();
 
-          let key = _self.uuid + '_modelData';
+          let key =  _self.$route.query.uuid + '_modelData';
           UserStorageResource.uniqueByKey(key).then(
             successData => {
               // if(successData.errorCode != 0) {
@@ -1316,7 +1315,7 @@ export default {
         _self.modelData.saveDatas = null;
       }
 
-      let key = _self.uuid + '_modelData';
+      let key =  _self.$route.query.uuid + '_modelData';
       let userStorageDtos = [{
         key: key,
         value: JSON.stringify(_self.modelData),

+ 53 - 33
src/window1/tabFormWidget/EnumSelectWidget.vue

@@ -1,17 +1,10 @@
 <template>
   <div>
     <select
-      :id="'enum-select-widget-' + field.id"
-      v-model="selectedValue"
-      class="form-control m-form-control"
-      :readonly="readonly"
-      :disabled="readonly"
+      :id="'enum-select-widget-' + field.id" v-model="selectedValue" class="form-control m-form-control"
+      :readonly="readonly" :disabled="readonly" @change="selectChanged"
     >
-      <option
-        v-for="keyValue in field.keyValues"
-        :key="keyValue.keyStr"
-        :value="keyValue.keyStr"
-      >
+      <option v-for="keyValue in field.keyValues" :key="keyValue.keyStr" :value="keyValue.keyStr">
         {{ keyValue.value }}
       </option>
     </select>
@@ -21,50 +14,77 @@
 <script>
 export default {
 
-  
-  props: {   
+
+  props: {
     readonly: {
       type: Boolean,
       default: null,
     },
     field: {
       type: Object,
-      default : function(){
+      default: function () {
         return null;
       },
     },
     fieldValue: {
       type: Object,
-      default : function(){
+      default: function () {
         return null;
       },
     },
   },
-  
+
   emits: ['valueChanged'],
 
   data: function () {
     return {
-      selectedValue: ((this.fieldValue == undefined || this.fieldValue.displayValue == undefined) ? this.field.defaultValue: this.fieldValue.displayValue[0]),
+      // selectedValue: ((this.fieldValue == undefined || this.fieldValue.displayValue == undefined) ? this.field.defaultValue: this.fieldValue.displayValue[0]),
+      selectedValue: '',
     };
   },
 
   watch: {
-    selectedValue: function (curVal, oldVal) {
-      console.log('selectedValue changed:' + curVal);
-      if (curVal != oldVal) {
-        var newFieldValue = {
-          displayValue: [curVal],
-          fieldType: 'String',
-        };
-        this.$emit('valueChanged', newFieldValue);
-      }
-    },
+    // selectedValue: function (curVal, oldVal) {
+    //   console.log('selectedValue changed:' + curVal);
+    //   if (curVal != oldVal) {
+    //     var newFieldValue = {
+    //       displayValue: [curVal],
+    //       fieldType: 'String',
+    //     };
+    //     this.$emit('valueChanged', newFieldValue);
+    //   }
+    // },
 
-    fieldValue: function (val) {
-      this.selectedValue = ((val == undefined || val.displayValue == undefined) ? '' : val.displayValue[0]);
+    // fieldValue: function (val) {
+    //   this.selectedValue = ((val == undefined || val.displayValue == undefined) ? '' : val.displayValue[0]);
+    // },
+  },
+  mounted() {
+    if (this.fieldValue && this.fieldValue.displayValue && this.fieldValue.displayValue.length) {
+      const newFieldValue = {
+        displayValue: [this.fieldValue.displayValue[0]],
+        fieldType: 'String',
+      };
+      this.$emit('valueChanged', newFieldValue);
+      this.selectedValue = this.fieldValue.displayValue[0];
+    } else {
+      const newFieldValue = {
+        displayValue: [this.field.defaultValue],
+        fieldType: 'String',
+      };
+      this.$emit('valueChanged', newFieldValue);
+      this.selectedValue = this.field.defaultValue;
+    }
+  },
+  methods: {
+    selectChanged(e) {
+      const newFieldValue = {
+        displayValue: [e.target.value],
+        fieldType: 'String',
+      };
+      this.$emit('valueChanged', newFieldValue);
+      this.selectedValue = e.target.value;
     },
-
   },
 };
 
@@ -72,11 +92,11 @@ export default {
 
 <style scoped>
 .required-mark {
-    color: red;
-    margin-right: 10px;
+  color: red;
+  margin-right: 10px;
 }
 
-.m-form-control{
-    width: 100% !important;
+.m-form-control {
+  width: 100% !important;
 }
 </style>

+ 1 - 1
src/window1/tabGridView/SubTabGridEdit.vue

@@ -1213,7 +1213,7 @@ export default {
       var _self = this;
       var validateResults = [];
       if (this.$refs.gridBody1 != undefined) {
-        for (var i = 0; i < this.$refs.gridBody1.length; i++) {
+        for (var i = 0; (i < this.$refs.gridBody1.length) & (i < _self.modelDatas.length); i++) {
           if (_self.modelDatas[i].changed == true) {
             var validateResults1 = this.$refs.gridBody1[i].performValidate();
             validateResults = validateResults.concat(validateResults1);

+ 9 - 2
src/window1/tabGridView/TabGridEdit.vue

@@ -261,6 +261,7 @@ export default {
       selectModelDatas: [],
       checkDatas: null,
       isSelectAllInput: false,
+      nowModelIndex:0,
     };
   },
   computed: {
@@ -1102,6 +1103,7 @@ export default {
 
     // 长按打开详细
     readRecordLongTap: function (e, args) {
+      this.nowModelIndex = args.index + 1;
       this.readRecord(args.modelData, args.index);
     },
 
@@ -1130,7 +1132,11 @@ export default {
       } else {
         categoryNo = this.windowNo;
       }
-      categoryNo = displayValue[displayValue.length - 1];
+      if(displayValue){
+        categoryNo = displayValue[displayValue.length - 1];
+      } else {
+        categoryNo = this.windowNo;
+      }
 
       _self.dynamicComponentParam = {
         viewType: 'view',
@@ -1138,7 +1144,7 @@ export default {
         tabIndex: this.tabIndex,
         modelDataId: readModelData.id,
         currentPage: currPage,
-        currentIndex: 0,
+        currentIndex: this.nowModelIndex,
         totalRecords: totalCount,
         isRestoreData: false,
         uuid: this.uuid,
@@ -1149,6 +1155,7 @@ export default {
     },
     // 只读
     readRecord: function (isRead, modelData, index) {
+      this.nowModelIndex = index + 1;
       var _self = this;
       const readModelData = !_self.checkDatas ? modelData : _self.checkDatas.modelData;
       if (readModelData.editMode == true) {