From fc498f7eb979c5d90b7c9787dd9bd936799b3cbf Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 05 七月 2024 19:51:41 +0800 Subject: [PATCH] # --- zy-asrs-admin/src/views/base/locType/edit.vue | 44 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 6 deletions(-) diff --git a/zy-asrs-admin/src/views/base/locType/edit.vue b/zy-asrs-admin/src/views/base/locType/edit.vue index 4521e19..1274ac1 100644 --- a/zy-asrs-admin/src/views/base/locType/edit.vue +++ b/zy-asrs-admin/src/views/base/locType/edit.vue @@ -1,5 +1,5 @@ <script setup> -import { ref, nextTick } from 'vue'; +import { ref, nextTick, watch } from 'vue'; import { get, post, postBlob, postForm } from '@/utils/request.js' import { formatMessage } from '@/utils/localeUtils.js'; import { message } from 'ant-design-vue'; @@ -26,6 +26,10 @@ const onFinish = values => { // console.log('Success:', values); open.value = false; + formData.value.contain = JSON.stringify(locTypeSelected.value); + if(locTypeSelected.value.length == 0) { + formData.value.contain = ""; + } post(isSave.value ? '/api/locType/save' : '/api/locType/update', formData.value).then((resp) => { let result = resp.data; if (result.code === 200) { @@ -52,6 +56,24 @@ }) } +const locTypeQueryList = ref(null); +const locTypeSelected = ref([]); +locTypeQuery(); +function locTypeQuery() { + post('/api/locType/tree', {}).then(resp => { + let result = resp.data; + locTypeQueryList.value = result.data; + }) +} + +watch(formData, (newVal, oldVal) => { + let contain = JSON.parse(formData.value.contain) + if (contain != null && contain.length > 0) { + locTypeSelected.value = contain; + }else { + locTypeSelected.value = []; + } +}) defineExpose({ open, @@ -77,8 +99,8 @@ <a-form :model="formData" ref="formTable" name="formTable" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" style="display: flex;justify-content: space-between;flex-wrap: wrap;" autocomplete="off" @finish="onFinish" @finishFailed="onFinishFailed"> - <a-form-item :label="formatMessage('db.man_loc_area_type.parent_id', '涓婄骇绫诲瀷')" name="parentId" style="width: 250px;" - :rules="[{ required: true, message: '涓婄骇鍖哄煙涓嶈兘涓虹┖!' }]"> + <a-form-item :label="formatMessage('db.man_loc_area_type.parent_id', '涓婄骇绫诲瀷')" name="parentId" + style="width: 250px;" :rules="[{ required: true, message: '涓婄骇鍖哄煙涓嶈兘涓虹┖!' }]"> <a-tree-select v-model:value="formData.parentId" show-search style="width: 100%" :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :placeholder="formatMessage('page.input', '璇疯緭鍏�')" allow-clea tree-data-simple-mode @@ -100,7 +122,18 @@ </a-form-item> <a-form-item :label="formatMessage('db.man_loc_type.contain', '鍖呭惈鍏崇郴')" name="contain" style="width: 250px;"> - <a-input v-model:value="formData.contain" /> + <a-tree-select v-model:value="locTypeSelected" style="width: 100%" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + :placeholder="formatMessage('page.input', '璇疯緭鍏�')" tree-checkable tree-default-expand-all + :tree-data="locTypeQueryList" tree-node-filter-prop="name" :field-names="{ + children: 'children', + label: 'name', + value: 'id', + }"> + <template #title="{ value: id, name }"> + {{ name }} + </template> + </a-tree-select> </a-form-item> <a-form-item :label="formatMessage('db.man_loc_type.type', '绫诲瀷')" name="type" style="width: 250px;"> <a-select v-model:value="formData.type" :options="[ @@ -112,8 +145,7 @@ <a-form-item :label="formatMessage('db.man_loc_type.uuid', '缂栧彿')" name="uuid" style="width: 250px;"> <a-input v-model:value="formData.uuid" /> </a-form-item> - <a-form-item :label="formatMessage('db.man_loc_type.status', '鐘舵��')" name="status" - style="width: 250px;"> + <a-form-item :label="formatMessage('db.man_loc_type.status', '鐘舵��')" name="status" style="width: 250px;"> <a-select v-model:value="formData.status" :options="[ { label: '姝e父', value: 1 }, { label: '绂佺敤', value: 0 }, -- Gitblit v1.9.1