Browse Source

资源调整

zhengnaiwen_citu 1 month ago
parent
commit
365752c75b

+ 53 - 14
src/components/MForm/index.vue

@@ -11,17 +11,34 @@
                 <div :class="item.flexStyle || 'flex-row'" class="px-2 d-flex">
                   <v-text-field
                       v-if="['text', 'password', 'number'].includes(item.type)"
-                      :type="item.type"
+                      v-bind="item"
                       v-model="query[item.key]"
-                      :rules="item.rules"
                       :hide-details="item.hideDetails ?? false"
-                      :disabled="item.disabled"
                       :dense="item.dense ?? true"
                       :style="{width: item.width}"
-                      :color="item.color"
-                      :label="item.label"
                       :placeholder="item.placeholder || item.label"
                       :outlined="item.outlined ?? true"
+                      hide-spin-buttons
+                      @wheel.native="$event => handleWheel($event, item)"
+                      @keyup.enter.native="item.keyupEnterNative && item.keyupEnterNative(index)"
+                      @click="item.click && item.click(index)"
+                      @click:append="item.clickAppend && item.clickAppend(index)"
+                      @change="handleChange(item)"
+                      @input="item.onInput && item.onInput(item)"
+                  />
+                  <!-- <v-text-field
+                      v-if="['text', 'password', 'number'].includes(item.type)"
+                      v-model="query[item.key]"
+                      :hide-details="item.hideDetails ?? false"
+                      :dense="item.dense ?? true"
+                      :style="{width: item.width}"
+                      :placeholder="item.placeholder || item.label"
+                      :outlined="item.outlined ?? true"
+                      :type="item.type"
+                      :rules="item.rules"
+                      :disabled="item.disabled"
+                      :color="item.color"
+                      :label="item.label"
                       :autofocus="item.autofocus"
                       :required="item.required"
                       :class="item.class"
@@ -37,28 +54,50 @@
                       @click:append="item.clickAppend && item.clickAppend(index)"
                       @change="handleChange(item)"
                       @input="item.onInput && item.onInput(item)"
-                  />
+                  /> -->
                   <v-autocomplete
                       v-if="item.type === 'autocomplete'"
-                      :rules="item.rules"
                       v-model="query[item.key]"
                       :attach="!item.noAttach"
-                      :loading="item.loading"
-                      :label="item.label"
                       :placeholder="item.placeholder || item.label"
-                      :items="item.items"
                       :item-text="item.itemText || 'label'"
                       :item-value="item.itemValue || 'value'"
                       :outlined="item.outlined ?? true"
                       :dense="item.dense ?? true"
+                      :search-input.sync="item.searchInput"
+                      :hide-details="item.hideDetails ?? false"
+                      :no-data-text="item.noDataText || 'No data available'"
+                      v-bind="item"
+                      @change="handleChange(item)"
+                  >
+                    <template v-if="item.slotAppendItem" v-slot:append-item>
+                      <slot :name="item.slotAppendItem" :item="item"></slot>
+                    </template>
+                    <template v-if="item.prependItem" #prepend-item>
+                      <slot :name="item.prependItem" :item="item"></slot>
+                    </template>
+                  </v-autocomplete>
+                  <!-- <v-autocomplete
+                      v-if="item.type === 'autocomplete'"
+                      v-model="query[item.key]"
+                      :attach="!item.noAttach"
+                      :placeholder="item.placeholder || item.label"
+                      :item-text="item.itemText || 'label'"
+                      :item-value="item.itemValue || 'value'"
+                      :outlined="item.outlined ?? true"
+                      :dense="item.dense ?? true"
+                      :search-input.sync="item.searchInput"
+                      :hide-details="item.hideDetails ?? false"
+                      :no-data-text="item.noDataText || 'No data available'"
+                      :rules="item.rules"
+                      :loading="item.loading"
+                      :label="item.label"
+                      :items="item.items"
                       :disabled="item.disabled"
                       :multiple="item.multiple"
                       :clearable="item.clearable"
-                      :search-input.sync="item.searchInput"
                       :readonly="item.readonly"
                       :hide-no-data="item.hideNoData"
-                      :hide-details="item.hideDetails ?? false"
-                      :no-data-text="item.noDataText || 'No data available'"
                       :hide-selected="item.hideSelected"
                       :return-object="item.returnObject"
                       @change="handleChange(item)"
@@ -69,7 +108,7 @@
                     <template v-if="item.prependItem" #prepend-item>
                       <slot :name="item.prependItem" :item="item"></slot>
                     </template>
-                  </v-autocomplete>
+                  </v-autocomplete> -->
                   <!-- autocomplete2 多选纸片样式 -->
                   <v-autocomplete
                       v-if="item.type === 'autocomplete2'"

+ 4 - 24
src/views/dataGovernance/dataResource/components/editBase.vue

@@ -37,7 +37,7 @@ export default {
         category: '应用类',
         organization: this.$store.getters.userInfo.username,
         leader: this.$store.getters.userInfo.username,
-        frequency: '',
+        frequency: '',
         data_sensitivity: '低',
         chooseStorage: false,
         storage_location: '/',
@@ -62,24 +62,18 @@ export default {
           type: 'text',
           key: 'name',
           label: '请输入名称 *',
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请输入名称']
         },
         {
           type: 'text',
           key: 'en_name',
           label: '请输入英文名称 *',
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请输入名称']
         },
         {
           type: 'autocomplete',
           key: 'category',
           label: '请选择分类 *',
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请选择分类'],
           items: metadata
         },
@@ -87,17 +81,12 @@ export default {
           type: 'text',
           key: 'organization',
           label: '请输入所属机构 *',
-          // col: 6,
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请输入所属机构']
         },
         {
           type: 'text',
           key: 'leader',
           label: '请输入负责人 *',
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请输入负责人']
         },
         {
@@ -105,8 +94,6 @@ export default {
           key: 'frequency',
           label: '请选择更新频率 *',
           noAttach: true,
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请选择更新频率'],
           items: frequency
         },
@@ -115,8 +102,6 @@ export default {
           key: 'data_sensitivity',
           label: '请选择数据敏感度 *',
           noAttach: true,
-          outlined: true,
-          dense: true,
           rules: [v => !!v || '请选择数据敏感度'],
           items: sensitivity
         },
@@ -131,8 +116,9 @@ export default {
           type: 'text',
           key: 'storage_location',
           hide: this.formValues.chooseStorage,
-          outlined: true,
-          dense: true,
+          slotTitle: '注: 根目录地址为 /data/upload',
+          slotTitleStyle: 'color: #999; padding: 5px',
+          prefix: '/data/upload',
           label: '请输入存储位置 *',
           rules: [v => !!v || '请输入存储位置']
         },
@@ -142,10 +128,8 @@ export default {
           label: '请选择数据源',
           hide: !this.formValues.chooseStorage,
           noAttach: true,
-          outlined: true,
           itemText: 'name',
           itemValue: 'id',
-          dense: true,
           items: this.dataSourceItems
         },
         {
@@ -153,8 +137,6 @@ export default {
           key: 'tag',
           label: '请选择标签',
           noAttach: true,
-          outlined: true,
-          dense: true,
           itemText: 'name',
           itemValue: 'id',
           items: this.labelItems
@@ -162,8 +144,6 @@ export default {
         {
           type: 'text',
           key: 'describe',
-          outlined: true,
-          dense: true,
           label: '请输入描述'
         },
         {