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

修改公共代码

parent cc6afbd8
<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" />
<BasicTable @register="registerTable"/>
<BasicTable @register="registerTable" />
</BasicModal>
</template>
<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 { BasicForm, useForm } from '@/components/Form';
import {addValueColumns, addValueFormSchema, addValueSearchSchema, searchFormSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData,TreeData
} from "./publicCodeData";
addValueColumns,
addValueFormSchema,
addValueSearchSchema,
searchFormSchema,
} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { addValueData, TreeData } from './publicCodeData';
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('添加值'));
const getTitle = computed(() => '添加值');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
......@@ -37,13 +47,13 @@
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
const treeList = handleTree(TreeData, 'businessId',undefined,undefined,undefined)
});
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
updateSchema([
{
field: 'QualityId',
componentProps: {
treeData: treeList
treeData: treeList,
},
},
]);
......@@ -53,22 +63,22 @@
title: '源系统码值',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
pageNu: '1',
pageSize: '10',
pages: '1',
total: addValueData.length,
code:'',
message:'',
code: '',
message: '',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: addValueData };
return { ...response, data: addValueData };
},
columns:addValueColumns,
columns: addValueColumns,
useSearchForm: true,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
showIndexColumn: false,
pagination: false,
bordered: true,
formConfig: {
labelWidth: 120,
......@@ -80,27 +90,35 @@
/**确定按钮*/
async function handleSubmit() {
createMessage.success('添加成功');
closeModal()
closeModal();
}
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
id = id || 'id';
parentId = parentId || 'parentId';
children = children || 'children';
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 branchArr = cloneData.filter(child => {
const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}
</script>
<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" />
<BasicTable @register="registerTable" />
</BasicModal>
</template>
<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 { BasicForm, useForm } from '@/components/Form';
import {detailPublicCodeSchema, editPublicCodeSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData
} from "./publicCodeData";
addValueColumns,
addValueSearchSchema,
detailPublicCodeSchema,
editPublicCodeSchema,
} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import { addValueData } from './publicCodeData';
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('查看详情'));
const getTitle = computed(() => '查看详情');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
......@@ -30,19 +41,45 @@
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) => {
resetFields();
setModalProps({ confirmLoading: false,showOkBtn: false,showCancelBtn: false });
setModalProps({ confirmLoading: false, showOkBtn: false, showCancelBtn: false });
setFieldsValue({
...data.record,
})
});
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('编辑成功');
closeModal()
closeModal();
}
</script>
<template>
<div style="background-color: white">
<Divider />
<div style="display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px">
<div style="margin-top: 10px;display: flex;font-weight: bold;font-size: 25px">
{{title}}
<div
style="
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
margin-left: 12px;
"
>
<div style="margin-top: 10px; display: flex; font-weight: bold; font-size: 25px">
{{ title }}
</div>
<div style="margin-top: 10px;display: flex">
<div style="margin-top: 10px; display: flex">
<a-button type="primary" @click="publishButton">发布</a-button>
<a-button type="primary" style="margin-left: 10px" @click="saveButton">保存修改</a-button>
<a-button type="primary" style="margin-left: 10px" @click="exitEditButton">退出编辑</a-button>
<a-button type="primary" style="margin-left: 10px" @click="saveButton">保存修改</a-button>
<a-button type="primary" style="margin-left: 10px" @click="exitEditButton"
>退出编辑</a-button
>
</div>
</div>
<Divider />
......@@ -47,177 +57,186 @@
</span>
</template>
</BasicTable>
<!-- 发布 弹窗-->
<PublishModal @register="registerModalPublish"/>
<!-- 发布 弹窗-->
<PublishModal @register="registerModalPublish" />
<AddCodeValueModal @register="registerModal" @success="handleSuccess" />
<EditPublicCodeModal @register="registerEditPublicCodeModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { Description } from '@/components/Description';
import { PageWrapper } from '@/components/Page';
import { Divider } from 'ant-design-vue';
import {detailData, TreeData,referenceDocumentTreeData} from './publicCodeData';
import {router} from "@/router";
import { BasicForm, useForm } from '@/components/Form';
import {
detailColumns, detailFormSchema,
editStandardsDetailFormSchema,
} from './publicCode.data';
import {onMounted, ref} from "vue";
import {useRoute} from "vue-router";
import {useModal} from "@/components/Modal";
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import AddCodeValueModal from './AddCodeValueModal.vue';
import EditPublicCodeModal from './editPublicCodeModal.vue';
import PublishModal from './publishModal.vue'
const route = useRoute()
const title = ref('')
const formData = ref({})
const businessId = ref('')
const { createMessage, createConfirm } = useMessage();
const [registerModalPublish, { openModal:openModalPublish }] = useModal();
const [registerModal, { openModal: openModal }] = useModal();
const [registerEditPublicCodeModal, { openModal: openEditPublicCodeModal }] = useModal();
const [registerForm1, { setFieldsValue: setFieldsValue1,updateSchema }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: editStandardsDetailFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '公共代码',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: detailData.length,
code:'',
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: detailData };
},
columns:detailColumns,
scroll: { y: 600 },
formConfig: {
labelWidth: 120,
schemas: detailFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn:false,
bordered: true,
actionColumn: {
width: 250,
title: '操作',
dataIndex: 'action',
},
});
/**编辑标准*/
function exitEditButton(record) {
router.push({
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId:businessId.value,
import { Description } from '@/components/Description';
import { PageWrapper } from '@/components/Page';
import { Divider } from 'ant-design-vue';
import { detailData, TreeData, referenceDocumentTreeData } from './publicCodeData';
import { router } from '@/router';
import { BasicForm, useForm } from '@/components/Form';
import {
detailColumns,
detailFormSchema,
editStandardsDetailFormSchema,
} from './publicCode.data';
import { onMounted, ref } from 'vue';
import { useRoute } from 'vue-router';
import { useModal } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import AddCodeValueModal from './AddCodeValueModal.vue';
import EditPublicCodeModal from './editPublicCodeModal.vue';
import PublishModal from './publishModal.vue';
const route = useRoute();
const title = ref('');
const formData = ref({});
const businessId = ref('');
const { createMessage, createConfirm } = useMessage();
const [registerModalPublish, { openModal: openModalPublish }] = useModal();
const [registerModal, { openModal: openModal }] = useModal();
const [registerEditPublicCodeModal, { openModal: openEditPublicCodeModal }] = useModal();
const [registerForm1, { setFieldsValue: setFieldsValue1, updateSchema }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: editStandardsDetailFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
}
/**保存*/
function saveButton(record) {
createMessage.success('保存成功')
router.push({
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId:businessId.value,
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({
title: '公共代码',
api: async (params) => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: detailData.length,
code: '',
message: '',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response, data: detailData };
},
columns: detailColumns,
scroll: { y: 600 },
formConfig: {
labelWidth: 120,
schemas: detailFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: true,
actionColumn: {
width: 250,
title: '操作',
dataIndex: 'action',
},
});
}
/**编辑标准*/
function exitEditButton(record) {
router.push({
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId: businessId.value,
},
});
}
/**编辑*/
function editButton(record) {
openEditPublicCodeModal(true,{
record:record
})
}
/**添加值*/
function addValueButton(record) {
openModal(true,{
})
}
/**删除*/
function deleteButton(record) {
createMessage.success('删除成功!')
}
/**保存*/
function saveButton(record) {
createMessage.success('保存成功');
router.push({
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId: businessId.value,
},
});
}
/**编辑*/
function editButton(record) {
openEditPublicCodeModal(true, {
record: record,
});
}
/**发布*/
function publishButton(record) {
openModalPublish(true,{
/**添加值*/
function addValueButton(record) {
openModal(true, {});
}
})
}
/**删除*/
function deleteButton(record) {
createMessage.success('删除成功!');
}
/**发布*/
function publishButton(record) {
openModalPublish(true, {});
}
/**初始化*/
onMounted(() => {
businessId.value = route.query.businessId
const data = TreeData.filter(item => item.businessId == businessId.value)
title.value = data[0].standardChineseName
const treeList = handleTree(referenceDocumentTreeData, 'businessId',undefined,undefined,undefined)
updateSchema([
{
field: 'documentTree',
componentProps: {
treeData: treeList
/**初始化*/
onMounted(() => {
businessId.value = route.query.businessId;
const data = TreeData.filter((item) => item.businessId == businessId.value);
title.value = data[0].standardChineseName;
const treeList = handleTree(
referenceDocumentTreeData,
'businessId',
undefined,
undefined,
undefined,
);
updateSchema([
{
field: 'documentTree',
componentProps: {
treeData: treeList,
},
},
},
]);
setFieldsValue1({
...data[0]
})
});
]);
setFieldsValue1({
...data[0],
});
});
/**数组对象转成树*/
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
id = id || 'id';
parentId = parentId || 'parentId';
children = children || 'children';
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 branchArr = cloneData.filter(child => {
const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}
</script>
<style lang="less" scoped>
.desc-wrap {
padding: 16px;
background-color: @component-background;
}
.desc-wrap {
padding: 16px;
background-color: @component-background;
}
</style>
<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" />
<BasicTable @register="registerTable" />
</BasicModal>
</template>
<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 { BasicForm, useForm } from '@/components/Form';
import {editPublicCodeSchema} from './publicCode.data';
import { addValueColumns, addValueSearchSchema, editPublicCodeSchema } from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData
} from "./publicCodeData";
import { addValueData } from './publicCodeData';
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('编辑公共代码'));
const getTitle = computed(() => '编辑公共代码');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
......@@ -30,19 +36,45 @@
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) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
});
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('编辑成功');
closeModal()
closeModal();
}
</script>
......@@ -907,16 +907,6 @@ export const editPublicCodeSchema: FormSchema[] = [
},
colProps: { lg: 24, md: 24 },
},
{
field: 'sourceSystemCodeValue',
label: '源系统码值',
component: 'Input',
required: true,
componentProps: {
placeholder: '请输入源系统码值',
},
colProps: { lg: 24, md: 24 },
},
];
/**详情公共代码 表单5*/
export const detailPublicCodeSchema: FormSchema[] = [
......@@ -962,20 +952,6 @@ export const detailPublicCodeSchema: FormSchema[] = [
},
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[] = [
......
......@@ -549,7 +549,7 @@
/>
</template>
</Description>
<textarea v-model="jsonData" style="width: 100%; height: 250px"></textarea>
<textarea v-model="jsonData" disabled style="width: 100%; height: 250px"></textarea>
</div>
<div style="width: 50%; border: rgb(217, 217, 217) 1px solid">
<span style="font-size: 18px; font-weight: bold; margin-left: 10px">目标端配置</span>
......@@ -587,14 +587,14 @@
@click="handleCopy"
/>
<Icon
style="font-size: 25px !important; margin-right: 5px; marin-left: 5px"
style="font-size: 25px !important; margin-right: 5px"
icon="tabler:reload"
:color="'rgb(136, 141, 156)'"
@click="handleReload"
/>
</template>
</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 v-if="scene === 'message'">
......@@ -636,14 +636,14 @@
@click="handleCopy"
/>
<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"
:color="'rgb(136, 141, 156)'"
@click="handleReload"
/>
</template>
</Description>
<textarea v-model="jsonData" style="width: 100%; height: 250px"></textarea>
<textarea v-model="jsonData" disabled style="width: 100%; height: 250px"></textarea>
</div>
</TabPane>
<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