标准代码表新增排序字段
Showing
4 changed files
with
42 additions
and
4 deletions
| ... | @@ -45,6 +45,9 @@ const currentNodeKey = computed(() => { | ... | @@ -45,6 +45,9 @@ const currentNodeKey = computed(() => { |
| 45 | if (props.treeInfo.currentNodeKey) { | 45 | if (props.treeInfo.currentNodeKey) { |
| 46 | nextTick(() => { | 46 | nextTick(() => { |
| 47 | let domItems = treeRef.value?.$el.getElementsByClassName('el-tree-node'); | 47 | let domItems = treeRef.value?.$el.getElementsByClassName('el-tree-node'); |
| 48 | if (!domItems?.length) { | ||
| 49 | return; | ||
| 50 | } | ||
| 48 | let clientHeight = treeRef.value?.$el.clientHeight; | 51 | let clientHeight = treeRef.value?.$el.clientHeight; |
| 49 | for (const item of domItems) { | 52 | for (const item of domItems) { |
| 50 | if (item.getAttribute('data-key') == props.treeInfo.currentNodeKey) { | 53 | if (item.getAttribute('data-key') == props.treeInfo.currentNodeKey) { | ... | ... |
| ... | @@ -62,6 +62,22 @@ | ... | @@ -62,6 +62,22 @@ |
| 62 | </el-select> | 62 | </el-select> |
| 63 | </el-form-item> | 63 | </el-form-item> |
| 64 | </el-col> | 64 | </el-col> |
| 65 | |||
| 66 | <el-col :span="12" style="padding-right:10px;display: inline-flex;"> | ||
| 67 | <el-form-item label="排序字段" prop="orderField" style="width: 70%;"> | ||
| 68 | <el-select v-model="form.orderField" placeholder="请选择"> | ||
| 69 | <el-option v-for="item in form.fieldRQVOS?.filter(f => f.fileNameCode != '').map(f => { | ||
| 70 | return { | ||
| 71 | value: f.fileNameCode, | ||
| 72 | label: fieldOptions.find(s => s.value == f.fileNameCode).label | ||
| 73 | } | ||
| 74 | }) || []" :label="item.label" :value="item.value" :key="item.value"></el-option> | ||
| 75 | </el-select> | ||
| 76 | </el-form-item> | ||
| 77 | <el-form-item label="" prop="isDisplay" style="margin-left: 12px;margin-top: 26px;"> | ||
| 78 | <el-checkbox v-model="form.isDisplay" :true-label="'Y'" :false-label="'N'">是否展示</el-checkbox> | ||
| 79 | </el-form-item> | ||
| 80 | </el-col> | ||
| 65 | 81 | ||
| 66 | <el-col :span="24"> | 82 | <el-col :span="24"> |
| 67 | <el-form-item label="描述" prop="description"> | 83 | <el-form-item label="描述" prop="description"> |
| ... | @@ -78,6 +94,8 @@ | ... | @@ -78,6 +94,8 @@ |
| 78 | <el-form-item label="自定义字段选择" v-if="fieldsTableShow" required> | 94 | <el-form-item label="自定义字段选择" v-if="fieldsTableShow" required> |
| 79 | <div class="table-form"> | 95 | <div class="table-form"> |
| 80 | <div class="table-form-wrapper" v-for="item,index in form.fieldRQVOS" :key="index"> | 96 | <div class="table-form-wrapper" v-for="item,index in form.fieldRQVOS" :key="index"> |
| 97 | <div :style="{ display: 'inline-flex', width: !fieldsDisabled ? 'calc(100% - 30px)' : '100%' }"> | ||
| 98 | |||
| 81 | <div class="table-form-item"> | 99 | <div class="table-form-item"> |
| 82 | <el-select v-model="item.fileNameCode" style="width:160px" filterable clearable :disabled="fieldsDisabled"> | 100 | <el-select v-model="item.fileNameCode" style="width:160px" filterable clearable :disabled="fieldsDisabled"> |
| 83 | <el-option v-for="item in fieldOptions" :label="item.label" :value="item.value" :key="item.value"></el-option> | 101 | <el-option v-for="item in fieldOptions" :label="item.label" :value="item.value" :key="item.value"></el-option> |
| ... | @@ -114,6 +132,7 @@ | ... | @@ -114,6 +132,7 @@ |
| 114 | placeholder="请输入" | 132 | placeholder="请输入" |
| 115 | ></el-input> | 133 | ></el-input> |
| 116 | </div> | 134 | </div> |
| 135 | </div> | ||
| 117 | <div class="table-form-operation" v-if="!fieldsDisabled"> | 136 | <div class="table-form-operation" v-if="!fieldsDisabled"> |
| 118 | <!-- <el-icon color="#4fa1a4" @click="() => addTableItem(index)"> | 137 | <!-- <el-icon color="#4fa1a4" @click="() => addTableItem(index)"> |
| 119 | <CirclePlus /> | 138 | <CirclePlus /> |
| ... | @@ -219,13 +238,16 @@ const formTpl = { | ... | @@ -219,13 +238,16 @@ const formTpl = { |
| 219 | publishingUnitCode: '', | 238 | publishingUnitCode: '', |
| 220 | parentGuid: '', | 239 | parentGuid: '', |
| 221 | description: '', | 240 | description: '', |
| 222 | fieldRQVOS: null | 241 | fieldRQVOS: null, |
| 242 | orderField: '',//排序字段 | ||
| 243 | isDisplay: 'Y' //是否显示 | ||
| 223 | } | 244 | } |
| 224 | const form = ref({...formTpl}) | 245 | const form = ref({...formTpl}) |
| 225 | const formRules = { | 246 | const formRules = { |
| 226 | standardName: { required: true, message: '请填写元数据标准名称' }, | 247 | standardName: { required: true, message: '请填写元数据标准名称' }, |
| 227 | orderNum: { required: true, message: '请填写排序' }, | 248 | orderNum: { required: true, message: '请填写排序' }, |
| 228 | publishingUnitCode: { required: false, message: '请选择发布的单位' } | 249 | publishingUnitCode: { required: false, message: '请选择发布的单位' }, |
| 250 | orderField: { required: true, message: '请选择排序字段' }, | ||
| 229 | } | 251 | } |
| 230 | 252 | ||
| 231 | function parentGuidChange (val) { | 253 | function parentGuidChange (val) { |
| ... | @@ -325,7 +347,11 @@ function addTableItem (index) { | ... | @@ -325,7 +347,11 @@ function addTableItem (index) { |
| 325 | }) | 347 | }) |
| 326 | } | 348 | } |
| 327 | function deleteTableItem (index) { | 349 | function deleteTableItem (index) { |
| 328 | form.value.fieldRQVOS.splice(index, 1) | 350 | let item = form.value.fieldRQVOS[index]; |
| 351 | form.value.fieldRQVOS.splice(index, 1); | ||
| 352 | if (form.value.orderField == item.fileNameCode) { | ||
| 353 | form.value.orderField = ''; | ||
| 354 | } | ||
| 329 | } | 355 | } |
| 330 | function inputTypeChange (val, item) { | 356 | function inputTypeChange (val, item) { |
| 331 | console.log(val) | 357 | console.log(val) | ... | ... |
| ... | @@ -1471,7 +1471,9 @@ const radioGroupChange = async (val, info) => { | ... | @@ -1471,7 +1471,9 @@ const radioGroupChange = async (val, info) => { |
| 1471 | } | 1471 | } |
| 1472 | 1472 | ||
| 1473 | function initTree () { | 1473 | function initTree () { |
| 1474 | treeInfo.value.loading = true; | ||
| 1474 | return Promise.all([getParamsList({ dictType: '标准类型'}), getStandardCodeTree()]).then((resList:any) => { | 1475 | return Promise.all([getParamsList({ dictType: '标准类型'}), getStandardCodeTree()]).then((resList:any) => { |
| 1476 | treeInfo.value.loading = false; | ||
| 1475 | let treeRoot = resList[0].data || [] | 1477 | let treeRoot = resList[0].data || [] |
| 1476 | let treeData = resList[1].data || [] | 1478 | let treeData = resList[1].data || [] |
| 1477 | // console.log('treeRoot', treeRoot) | 1479 | // console.log('treeRoot', treeRoot) | ... | ... |
| ... | @@ -242,13 +242,20 @@ function getTableFields () { | ... | @@ -242,13 +242,20 @@ function getTableFields () { |
| 242 | if (res.code === proxy.$passCode && res.data) { | 242 | if (res.code === proxy.$passCode && res.data) { |
| 243 | const data = res.data | 243 | const data = res.data |
| 244 | standardFields.value = data | 244 | standardFields.value = data |
| 245 | const fields = data.map(item => { | 245 | let orderFieldIndex = null; |
| 246 | const fields = data.map((item, index) => { | ||
| 247 | if (currentObj.orderField && currentObj.orderField == item.fileNameCode) { | ||
| 248 | orderFieldIndex = index; | ||
| 249 | } | ||
| 246 | return { | 250 | return { |
| 247 | label: item.fileNameCodeName, | 251 | label: item.fileNameCodeName, |
| 248 | field: item.fileNameCode, | 252 | field: item.fileNameCode, |
| 249 | width: 140 | 253 | width: 140 |
| 250 | } | 254 | } |
| 251 | }) | 255 | }) |
| 256 | if (currentObj.orderField && currentObj.isDisplay == 'N') { | ||
| 257 | fields.splice(orderFieldIndex, 1); | ||
| 258 | } | ||
| 252 | fields.unshift(indexField) | 259 | fields.unshift(indexField) |
| 253 | tableInfo.value.fields = fields | 260 | tableInfo.value.fields = fields |
| 254 | } else { | 261 | } else { | ... | ... |
-
Please register or sign in to post a comment