From 0b86f0390c17ca06758cc436596774e56687a875 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 09 七月 2024 09:03:54 +0800
Subject: [PATCH] #
---
zy-asrs-admin/src/views/base/locType/edit.vue | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 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..040e925 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,29 @@
})
}
+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) => {
+ if(formData.value.contain == null) {
+ locTypeSelected.value = [];
+ return
+ }
+
+ if(formData.value.contain.length == 0) {
+ locTypeSelected.value = [];
+ }else {
+ let contain = JSON.parse(formData.value.contain);
+ locTypeSelected.value = contain;
+ }
+})
defineExpose({
open,
@@ -77,8 +104,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 +127,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 +150,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