Forráskód Böngészése

fix: 自定义关联数据回显问题

johnsen 9 hónapja
szülő
commit
b21872ff4e

+ 0 - 4
.husky/pre-commit

@@ -1,4 +0,0 @@
-#!/bin/sh
-. "$(dirname "$0")/_/husky.sh"
-
-npm run lint:staged

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 729 - 735
package-lock.json


+ 2 - 13
package.json

@@ -19,18 +19,8 @@
     "test:unit": "vue-cli-service test:unit",
     "test:ci": "npm run lint && npm run test:unit",
     "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
-    "prepare": "husky install",
     "lint:staged": "lint-staged"
   },
-  "lint-staged": {
-    "*.{js,vue}": [
-      "eslint --fix",
-      "eslint"
-    ],
-    "*.{css,html,json}": [
-      "prettier --write"
-    ]
-  },
   "dependencies": {
     "@onlyoffice/document-editor-vue": "^1.4.0",
     "axios": "^0.20.0",
@@ -80,13 +70,12 @@
     "eslint-config-prettier": "^8.3.0",
     "eslint-plugin-prettier": "^3.4.1",
     "eslint-plugin-vue": "^7.20.0",
-    "husky": "^4.3.8",
     "increase-memory-limit": "1.0.7",
     "less-loader": "^6.2.0",
     "lint-staged": "^10.5.4",
     "prettier": "^2.8.8",
-    "sass": "^1.26.10",
-    "sass-loader": "^10.0.1",
+    "sass": "1.26.10",
+    "sass-loader": "10.0.1",
     "svg-sprite-loader": "^5.0.0",
     "text-loader": "^0.0.1",
     "vue-cli-plugin-i18n": "^1.0.1",

+ 27 - 25
src/business/platform/data/data-template/template.vue

@@ -75,26 +75,22 @@
                       :data="data"
                       :template-fields="templateFields"
                     /> -->
-                    <div>
-                      <div
-                        v-for="(item, i) in data.showlabel"
-                        :key="i"
-                        style="display: flex"
-                      >
-                        <span>{{ item.label }}</span>
-                        <span v-if="item.label != ''">:</span>
-                        <field-formatter
-                          :label-key="
-                            fieldType === 'linkdata' ? labelKey : item.bt
-                          "
-                          :data="data"
-                          :template-fields="templateFields"
-                          :field-options="item.fieldOptions"
-                          :desc-field="item"
-                          :field-type="item.fieldType"
-                          :tem="tem"
-                        />
-                      </div>
+                    <div
+                      v-for="(item, i) in data.showlabel"
+                      :key="i"
+                      style="display: flex"
+                    >
+                      <span>{{ item.label }}</span>
+                      <span v-if="item.label != ''">:</span>
+                      <field-formatter
+                        :label-key="item.bt"
+                        :data="data"
+                        :template-fields="templateFields"
+                        :field-options="item.fieldOptions"
+                        :desc-field="item"
+                        :field-type="item.fieldType"
+                        :tem="tem"
+                      />
                     </div>
                   </van-checkbox>
                 </div>
@@ -277,8 +273,11 @@ export default {
         if (this.$utils.isEmpty(this.checkbox)) {
           return ''
         }
-        const checked = this.checkbox[0]
 
+        const checked = this.checkbox[0]
+        if (this.fieldType === 'linkdata') {
+          return checked
+        }
         this.labelKeys = buildLabelTitle(this.tem)
         const a =
           this.dataList.length > 0 && this.childrenIndex != -1
@@ -304,7 +303,7 @@ export default {
   },
   watch: {
     values: {
-      handler(val, oldVal) {
+      handler() {
         this.initData()
       },
       deep: true,
@@ -339,6 +338,9 @@ export default {
     this.loadData(this.params, true)
   },
   methods: {
+    setlabelKeys() {
+      this.labelKeys = buildLabelTitle(this.tem)
+    },
     onRefresh() {
       this.refreshing = true
       this.finished = false
@@ -470,7 +472,7 @@ export default {
               if (typeof this.tem.display_columns !== 'undefined') {
                 const keyName = this.dataList.findIndex((t) => t.id_ == d.id_)
                 if (typeof keyName !== -1) {
-                  this.displayColumns.forEach((it, i) => {
+                  this.displayColumns.forEach((it) => {
                     let b = {
                       label: it.label,
                       bt: it.name,
@@ -491,7 +493,7 @@ export default {
                     label: '',
                     bt: k,
                     val: {},
-                    fieldType: 'text',
+                    fieldType: 'linkdata',
                     fieldOptions: {}
                   }
                   key = k
@@ -596,7 +598,7 @@ export default {
     removeSelected(index) {
       this.checkbox.splice(index, 1)
     },
-    toggleMore(data, index) {
+    toggleMore(data) {
       this.$dialog.alert({
         message: this.format4popup(data)
       })

+ 10 - 2
src/business/platform/data/templaterender/linkdata/index.vue

@@ -61,7 +61,7 @@
           plain
         >
           <field-formatter
-            :label-key="linkLabelKey"
+            :label-key="linkValueKey"
             :data="item"
             :template-fields="templateFields"
           />
@@ -81,7 +81,7 @@
         :visible="showPopup"
         :template-key="templateKey"
         :params="params"
-        :value="selectedValue"
+        :values="selectedValue"
         :multiple="multiple"
         :left-text="leftText"
         :id-key="idKey"
@@ -381,6 +381,7 @@ export default {
     },
     // 回调初始化数据
     initData(data) {
+      console.log('2132132', data)
       this.selectedData = data
       this._setInputValue()
       this.$nextTick(() => {
@@ -412,3 +413,10 @@ export default {
   }
 }
 </script>
+<style lang="scss" scoped>
+.ibps-tag-span {
+  ::v-deep .ibps-data-template-data {
+    color: #4399fb !important;
+  }
+}
+</style>

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott