zhuliu před 11 měsíci
rodič
revize
dd5819158a

+ 6 - 6
public/reportTemplate/dahua/dahua.txt

@@ -188,15 +188,15 @@
                                 <td>对比说明</td>
                             </tr>
                             <tr style="position: relative;" v-for="(record,ind) in item.compareRecord" :key="ind">
-                                <td @click="edit('compareRecord.compareRecord','compareText',ind)">
-                                    <div v-if="isEdit('compareRecord.compareRecord','compareText',ind)">
-                                        <myRichText editModel="clean" v-model="record.compareText" customStyle="border:none;padding:0" :autoFocus="true" @blur="clearEdit()"></myRichText>
+                                <td @click="edit({field:'compareRecord',property:'compareRecord',index:index},'compareText',ind)">
+                                    <div v-if="isEdit({field:'compareRecord',property:'compareRecord',index:index},'compareText',ind)">
+                                        <myRichText editModel="clean" v-model="record.compareText" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
                                     </div>
                                     <div v-else v-html="record.compareText"></div>
                                 </td>
-                                <td @click="edit('compareRecord.compareRecord','compareDescription',ind)">
-                                    <div v-if="isEdit('compareRecord.compareRecord','compareDescription',ind)">
-                                        <myRichText editModel="clean" v-model="record.compareDescription" customStyle="border:none;padding:0" :autoFocus="true" @blur="clearEdit()"></myRichText>
+                                <td @click="edit({field:'compareRecord',property:'compareRecord',index:index},'compareDescription',ind)">
+                                    <div v-if="isEdit({field:'compareRecord',property:'compareRecord',index:index},'compareDescription',ind)">
+                                        <myRichText editModel="clean" v-model="record.compareDescription" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
                                     </div>
                                     <div v-else v-html="record.compareDescription"></div>
                                 </td>

+ 49 - 10
src/views/noveltySearch/components/exportReport/components/mixins.js

@@ -287,7 +287,14 @@ export default{
                     if(type == 'string'){
                         this.setColumnData('',field,property)
                     }else{
-                        this.setColumnData([{index:1}],field,property)
+                        this.setColumnData([
+                            {
+                                index:1,
+                                compareFile:"",
+                                analysis:'',
+                                compareRecord:[]
+                            }
+                        ],field,property)
                     }
                     
                 }
@@ -435,11 +442,17 @@ export default{
                 property:property,
                 index:index,
             }
-            if(index === 0 || index){
-                this.nowEdit.value = this.reportData[field][index][property]
-            }else{
-                this.nowEdit.value = this.reportData[field][property]
-            }
+            try{
+                var editValue = this.reportData
+                if(typeof field == 'object'){
+                    editValue = this.getDataByField(field)
+                    editValue = this.getDataByField({property:property,index:index},editValue)
+                }else{
+                    editValue = this.getDataByField({field:field,property:property,index:index})
+                }
+                
+                this.nowEdit.value = editValue 
+            }catch{}
             var obj = this.editMessage.find(item=>{
                 return item.field == field && item.property == property && item.index == index
             })
@@ -453,8 +466,22 @@ export default{
                 }
             )
         },
+        getDataByField(field,currentData=this.reportData){
+            var {field,property,index} = field
+            var data = currentData
+            if(field){
+                data = data[field]
+            }
+            if(index === 0 || index){
+                data = data[index]
+            }
+            if(property){
+                data = data[property]
+            }
+            return data
+        },
         isEdit(field,property,index=''){
-            if(this.nowEdit.field==field && this.nowEdit.property==property && this.nowEdit.index == index){
+            if(this.$_.isEqual(this.nowEdit.field,field) && this.nowEdit.property==property && this.nowEdit.index == index){
                 return true
             }
             return false
@@ -471,12 +498,24 @@ export default{
             var field = this.nowEdit.field
             var property = this.nowEdit.property
             var index = this.nowEdit.index
-            if(index){
-                this.$set(this.reportData[field][index],property,value)
+
+            var editValue = this.reportData
+            if(typeof field == 'object'){
+                editValue = this.getDataByField(field)
+                if(index ===0 || index){
+                    this.$set(editValue[index],property,value)
+                }else{
+                    this.$set(editValue,property,value)
+                }
             }else{
-                this.$set(this.reportData[field],property,value)
+                if(index ===0 || index){
+                    this.$set(this.reportData[field][index],property,value)
+                }else{
+                    this.$set(this.reportData[field],property,value)
+                }
             }
             
+            
             if(fu && typeof fu == 'function'){
               fu(value)  
             }