Commit 9d96a6c9 authored by 罗林杰's avatar 罗林杰

修改公共代码

parent cc6afbd8
<template> <template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit"> <BasicModal
width="50%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
<BasicTable @register="registerTable"/> <BasicTable @register="registerTable" />
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue'; import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import {addValueColumns, addValueFormSchema, addValueSearchSchema, searchFormSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { import {
addValueData,TreeData addValueColumns,
} from "./publicCodeData"; addValueFormSchema,
addValueSearchSchema,
searchFormSchema,
} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { addValueData, TreeData } from './publicCodeData';
import { BasicTable, useTable, TableAction } from '@/components/Table'; import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const rowId = ref(''); const rowId = ref('');
const getTitle = computed(() => ('添加值')); const getTitle = computed(() => '添加值');
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
...@@ -37,13 +47,13 @@ ...@@ -37,13 +47,13 @@
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
setFieldsValue({ setFieldsValue({
...data.record, ...data.record,
}) });
const treeList = handleTree(TreeData, 'businessId',undefined,undefined,undefined) const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
updateSchema([ updateSchema([
{ {
field: 'QualityId', field: 'QualityId',
componentProps: { componentProps: {
treeData: treeList treeData: treeList,
}, },
}, },
]); ]);
...@@ -53,22 +63,22 @@ ...@@ -53,22 +63,22 @@
title: '源系统码值', title: '源系统码值',
api: async (params) => { api: async (params) => {
const response = { const response = {
pageNu: "1", pageNu: '1',
pageSize: "10", pageSize: '10',
pages: "1", pages: '1',
total: addValueData.length, total: addValueData.length,
code:'', code: '',
message:'', message: '',
data: [], data: [],
}; };
//过滤data中的数据,取出等于params.deptId的数据 //过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: addValueData }; return { ...response, data: addValueData };
}, },
columns:addValueColumns, columns: addValueColumns,
useSearchForm: true, useSearchForm: true,
showTableSetting: false, showTableSetting: false,
showIndexColumn:false, showIndexColumn: false,
pagination:false, pagination: false,
bordered: true, bordered: true,
formConfig: { formConfig: {
labelWidth: 120, labelWidth: 120,
...@@ -80,27 +90,35 @@ ...@@ -80,27 +90,35 @@
/**确定按钮*/ /**确定按钮*/
async function handleSubmit() { async function handleSubmit() {
createMessage.success('添加成功'); createMessage.success('添加成功');
closeModal() closeModal();
} }
/**数组对象转成树*/ /**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) { function handleTree(data, id, parentId, children, rootId) {
id = id || 'id' id = id || 'id';
parentId = parentId || 'parentId' parentId = parentId || 'parentId';
children = children || 'children' children = children || 'children';
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0 rootId =
rootId ||
Math.min.apply(
Math,
data.map((item) => {
return item[parentId];
}),
) ||
0;
// 对源数据深度克隆 // 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data)) const cloneData = JSON.parse(JSON.stringify(data));
// 循环所有项 // 循环所有项
const treeData = cloneData.filter(father => { const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter(child => { const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组 // 返回每一项的子级数组
return father[id] === child[parentId] return father[id] === child[parentId];
}) });
branchArr.length > 0 ? father.children = branchArr : '' branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层 // 返回第一层
return father[parentId] === rootId return father[parentId] === rootId;
}) });
return treeData !== '' ? treeData : data return treeData !== '' ? treeData : data;
} }
</script> </script>
<template> <template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit"> <BasicModal
width="50%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
<BasicTable @register="registerTable" />
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue'; import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import {detailPublicCodeSchema, editPublicCodeSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { import {
addValueData addValueColumns,
} from "./publicCodeData"; addValueSearchSchema,
detailPublicCodeSchema,
editPublicCodeSchema,
} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { addValueData } from './publicCodeData';
import { BasicTable, useTable, TableAction } from '@/components/Table'; import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const rowId = ref(''); const rowId = ref('');
const getTitle = computed(() => ('查看详情')); const getTitle = computed(() => '查看详情');
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
...@@ -30,19 +41,45 @@ ...@@ -30,19 +41,45 @@
span: 23, span: 23,
}, },
}); });
const [registerTable] = useTable({
title: '源系统码值',
api: async (params) => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: addValueData.length,
code: '',
message: '',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response, data: addValueData };
},
columns: addValueColumns,
useSearchForm: false,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
formConfig: {
labelWidth: 120,
schemas: addValueSearchSchema,
autoSubmitOnEnter: true,
},
});
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields(); resetFields();
setModalProps({ confirmLoading: false,showOkBtn: false,showCancelBtn: false }); setModalProps({ confirmLoading: false, showOkBtn: false, showCancelBtn: false });
setFieldsValue({ setFieldsValue({
...data.record, ...data.record,
}) });
}); });
/**确定按钮*/ /**确定按钮*/
async function handleSubmit() { async function handleSubmit() {
createMessage.success('编辑成功'); createMessage.success('编辑成功');
closeModal() closeModal();
} }
</script> </script>
<template> <template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit"> <BasicModal
width="50%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
<BasicTable @register="registerTable" />
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue'; import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import {editPublicCodeSchema} from './publicCode.data'; import { addValueColumns, addValueSearchSchema, editPublicCodeSchema } from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { import { addValueData } from './publicCodeData';
addValueData
} from "./publicCodeData";
import { BasicTable, useTable, TableAction } from '@/components/Table'; import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const rowId = ref(''); const rowId = ref('');
const getTitle = computed(() => ('编辑公共代码')); const getTitle = computed(() => '编辑公共代码');
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
...@@ -30,19 +36,45 @@ ...@@ -30,19 +36,45 @@
span: 23, span: 23,
}, },
}); });
const [registerTable] = useTable({
title: '源系统码值',
api: async (params) => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: addValueData.length,
code: '',
message: '',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response, data: addValueData };
},
columns: addValueColumns,
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
formConfig: {
labelWidth: 120,
schemas: addValueSearchSchema,
autoSubmitOnEnter: true,
},
});
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields(); resetFields();
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
setFieldsValue({ setFieldsValue({
...data.record, ...data.record,
}) });
}); });
/**确定按钮*/ /**确定按钮*/
async function handleSubmit() { async function handleSubmit() {
createMessage.success('编辑成功'); createMessage.success('编辑成功');
closeModal() closeModal();
} }
</script> </script>
...@@ -907,16 +907,6 @@ export const editPublicCodeSchema: FormSchema[] = [ ...@@ -907,16 +907,6 @@ export const editPublicCodeSchema: FormSchema[] = [
}, },
colProps: { lg: 24, md: 24 }, colProps: { lg: 24, md: 24 },
}, },
{
field: 'sourceSystemCodeValue',
label: '源系统码值',
component: 'Input',
required: true,
componentProps: {
placeholder: '请输入源系统码值',
},
colProps: { lg: 24, md: 24 },
},
]; ];
/**详情公共代码 表单5*/ /**详情公共代码 表单5*/
export const detailPublicCodeSchema: FormSchema[] = [ export const detailPublicCodeSchema: FormSchema[] = [
...@@ -962,20 +952,6 @@ export const detailPublicCodeSchema: FormSchema[] = [ ...@@ -962,20 +952,6 @@ export const detailPublicCodeSchema: FormSchema[] = [
}, },
colProps: { lg: 24, md: 24 }, colProps: { lg: 24, md: 24 },
}, },
{
field: 'sourceSystemCodeValue',
label: '源系统码值',
component: 'Input',
required: true,
componentProps: {
style: {
border: 'none',
},
readonly: true,
placeholder: '请输入源系统码值',
},
colProps: { lg: 24, md: 24 },
},
]; ];
/**编辑公共代码 列表表头*/ /**编辑公共代码 列表表头*/
export const addValueColumns: BasicColumn[] = [ export const addValueColumns: BasicColumn[] = [
......
...@@ -549,7 +549,7 @@ ...@@ -549,7 +549,7 @@
/> />
</template> </template>
</Description> </Description>
<textarea v-model="jsonData" style="width: 100%; height: 250px"></textarea> <textarea v-model="jsonData" disabled style="width: 100%; height: 250px"></textarea>
</div> </div>
<div style="width: 50%; border: rgb(217, 217, 217) 1px solid"> <div style="width: 50%; border: rgb(217, 217, 217) 1px solid">
<span style="font-size: 18px; font-weight: bold; margin-left: 10px">目标端配置</span> <span style="font-size: 18px; font-weight: bold; margin-left: 10px">目标端配置</span>
...@@ -587,14 +587,14 @@ ...@@ -587,14 +587,14 @@
@click="handleCopy" @click="handleCopy"
/> />
<Icon <Icon
style="font-size: 25px !important; margin-right: 5px; marin-left: 5px" style="font-size: 25px !important; margin-right: 5px"
icon="tabler:reload" icon="tabler:reload"
:color="'rgb(136, 141, 156)'" :color="'rgb(136, 141, 156)'"
@click="handleReload" @click="handleReload"
/> />
</template> </template>
</Description> </Description>
<textarea v-model="jsonData" style="width: 100%; height: 250px"></textarea> <textarea v-model="jsonData" disabled style="width: 100%; height: 250px"></textarea>
</div> </div>
</div> </div>
<div v-if="scene === 'message'"> <div v-if="scene === 'message'">
...@@ -636,14 +636,14 @@ ...@@ -636,14 +636,14 @@
@click="handleCopy" @click="handleCopy"
/> />
<Icon <Icon
style="font-size: 25px !important; margin-right: 5px; marin-left: 5px" style="font-size: 25px !important; margin-right: 5px; margin-left: 5px"
icon="tabler:reload" icon="tabler:reload"
:color="'rgb(136, 141, 156)'" :color="'rgb(136, 141, 156)'"
@click="handleReload" @click="handleReload"
/> />
</template> </template>
</Description> </Description>
<textarea v-model="jsonData" style="width: 100%; height: 250px"></textarea> <textarea v-model="jsonData" disabled style="width: 100%; height: 250px"></textarea>
</div> </div>
</TabPane> </TabPane>
<TabPane v-if="tabKey === '5'" key="10" tab="数据流向"> <TabPane v-if="tabKey === '5'" key="10" tab="数据流向">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment