Commit 1674938d authored by 罗林杰's avatar 罗林杰

修改基础标准

parent fb3cc103
<template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle">
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle">
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
......@@ -11,7 +11,11 @@
},
{
label: '撤回',
onClick: withdrawButton.bind(null, record),
popConfirm: {
title: '是否撤回该版本?',
placement: 'left',
confirm: withdrawButton.bind(null, record),
},
},
{
// icon: 'clarity:note-edit-line',
......@@ -26,107 +30,107 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicModal, useModalInner, useModal } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import {reactive, unref, onDeactivated, onMounted, ref, computed} from 'vue';
import { reactive, unref, onDeactivated, onMounted, ref, computed } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useMessage } from '@/hooks/web/useMessage';
import { useModal } from '@/components/Modal';
import { searchFormSchema, versionColumns, versionData } from './basicStandardsData';
import { useGo } from '@/hooks/web/usePage';
import { downloadByData } from '@/utils/file/download';
import { useRoute,onBeforeRouteLeave } from 'vue-router';
import { useRoute, onBeforeRouteLeave } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import {useUserStore} from "@/store/modules/user";
import { userData } from "@/views/system/institution/institutionData";
import {router} from "@/router";
import { useUserStore } from '@/store/modules/user';
import { userData } from '@/views/system/institution/institutionData';
import { router } from '@/router';
defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage();
const filterStore = useFilterStore();
const route = useRoute();
const go = useGo();
const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const emit = defineEmits(['success', 'register']);
const getTitle = computed(() => ('版本管理'));
const tableData = ref([])
const isAdd = ref(true)
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: tableData.value.length,
code:'',
message:'',
data: [],
};
var data = []
data = tableData.value
if (params.name != undefined && params.name != '' && params.name != null){
//过滤出名字包含params.name的数据
data = data.filter((item) => item.name.includes(params.name));
}
if (params.username != undefined && params.username != '' && params.username != null){
data = data.filter((item) => item.username.includes(params.username));
}
return { ...response, data: data };
},
rowKey: 'businessId',
columns:versionColumns,
rowSelection: true,
formConfig: {
labelWidth: 100,
schemas: searchFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
handleSearchInfoFn(info) {
return info;
},
});
defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage();
const filterStore = useFilterStore();
const route = useRoute();
const go = useGo();
const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const emit = defineEmits(['success', 'register']);
const getTitle = computed(() => '版本管理');
const tableData = ref([]);
const isAdd = ref(true);
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({
api: async (params) => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: tableData.value.length,
code: '',
message: '',
data: [],
};
var data = [];
data = tableData.value;
if (params.name != undefined && params.name != '' && params.name != null) {
//过滤出名字包含params.name的数据
data = data.filter((item) => item.name.includes(params.name));
}
if (params.username != undefined && params.username != '' && params.username != null) {
data = data.filter((item) => item.username.includes(params.username));
}
return { ...response, data: data };
},
rowKey: 'businessId',
columns: versionColumns,
rowSelection: true,
formConfig: {
labelWidth: 100,
schemas: searchFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
handleSearchInfoFn(info) {
return info;
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false,showOkBtn:false,showCancelBtn:false });
setModalProps({ confirmLoading: false, showOkBtn: false, showCancelBtn: false });
isAdd.value = !!data?.isAdd;
});
/** 对比成功*/
function contrastButton() {
closeModal();
router.push({
path: '/dataStandards/basicStandards/basicStandardsContrast',
query: {
businessId: route.query.businessId,
},
});
}
/** 对比成功*/
function contrastButton() {
closeModal()
router.push({
path: '/dataStandards/basicStandards/basicStandardsContrast',
query: {
businessId:route.query.businessId,
},
});
}
/** 撤回成功*/
function withdrawButton() {
createMessage.success('撤回成功!')
}
/** 撤回成功*/
function withdrawButton() {
createMessage.success('撤回成功!');
}
/** 查看*/
function detailButton(record) {
emit('success', { values: { ...record }});
closeModal();
}
/** 查看*/
function detailButton(record) {
emit('success', { values: { ...record } });
closeModal();
}
onMounted(() => {
tableData.value = versionData
});
onMounted(() => {
tableData.value = versionData;
});
</script>
<template>
<div style="background-color: white">
<div style="display:flex;margin-top: 15px;margin-bottom: 15px;justify-content: space-between; align-items: center;" v-if="isShow">
<div style="margin-left: 15px;font-size: 15px;font-weight: bold">
<div
style="
display: flex;
margin-top: 15px;
margin-bottom: 15px;
justify-content: space-between;
align-items: center;
"
v-if="isShow"
>
<div style="margin-left: 15px; font-size: 15px; font-weight: bold">
查看版本
<Select
v-model:value="optionValue"
......@@ -10,25 +19,43 @@
style="width: 200px"
:options="options"
@change="handleChange"
></Select>
/>
</div>
<div>
<a-button type="primary" @click="contrastButton">版本对比</a-button>
<a-button type="primary" style="margin-left: 10px" @click="resetButton">回滚</a-button>
<a-button type="primary" style="margin-left: 10px" @click="exitButton">退出查看</a-button>
<a-button type="primary" style="margin-left: 10px" @click="resetButton">回滚</a-button>
<a-button type="primary" style="margin-left: 10px" @click="exitButton">退出查看</a-button>
</div>
</div>
<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;margin-left: 10px">
{{title}}
<div style="font-size: 15px;padding-top: 15px;padding-left: 10px">
版本:{{optionValue}}
<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;
margin-left: 10px;
"
>
{{ title }}
<div style="font-size: 15px; padding-top: 15px; padding-left: 10px">
版本:{{ optionValue }}
</div>
</div>
<div style="margin-top: 10px;display: flex" v-if="!isShow">
<div style="margin-top: 10px; display: flex" v-if="!isShow">
<a-button type="primary" @click="editButton">编辑标准</a-button>
<a-button type="primary" style="margin-left: 10px" @click="versionButton">版本管理</a-button>
<a-button type="primary" style="margin-left: 10px" @click="versionButton"
>版本管理</a-button
>
</div>
</div>
<Divider />
......@@ -39,151 +66,140 @@
<BasicForm @register="registerForm3" />
<Divider />
<!-- 版本管理 弹窗-->
<!-- 版本管理 弹窗-->
<VersionModal @register="registerModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { Select } from 'ant-design-vue';
import { Description } from '@/components/Description';
import { PageWrapper } from '@/components/Page';
import { Divider } from 'ant-design-vue';
import {TreeData} from './basicStandardsData';
import {router} from "@/router";
import { BasicForm, useForm } from '@/components/Form';
import {
detailSchema1,
detailSchema2,
detailSchema3
} from './basicStandards.data';
import {onMounted, ref} from "vue";
import {useRoute} from "vue-router";
import VersionModal from '@/views/dataStandards/basicStandards/VersionModal.vue'
import {useModal} from "@/components/Modal";
import { useMessage } from '@/hooks/web/useMessage';
const route = useRoute()
const title = ref('')
const formData = ref({})
const businessId = ref('')
const isShow = ref(false)
const optionValue = ref('')
const [registerModal, { openModal }] = useModal();
const { createMessage, createConfirm } = useMessage();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema1,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerForm2, { setFieldsValue: setFieldsValue2 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema2,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerForm3, { setFieldsValue: setFieldsValue3 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema3,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const options = ref<any>([
{ value: 'V1', label: 'V1' },
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
/**编辑标准*/
function editButton(record) {
router.push({
path: '/dataStandards/basicStandards/editDetailStandard',
query: {
businessId:businessId.value,
import { Select, Divider } from 'ant-design-vue';
import { Description } from '@/components/Description';
import { PageWrapper } from '@/components/Page';
import { TreeData } from './basicStandardsData';
import { router } from '@/router';
import { BasicForm, useForm } from '@/components/Form';
import { detailSchema1, detailSchema2, detailSchema3 } from './basicStandards.data';
import { onMounted, ref } from 'vue';
import { useRoute } from 'vue-router';
import VersionModal from '@/views/dataStandards/basicStandards/VersionModal.vue';
import { useModal } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
const route = useRoute();
const title = ref('');
const formData = ref({});
const businessId = ref('');
const isShow = ref(false);
const optionValue = ref('');
const [registerModal, { openModal }] = useModal();
const { createMessage, createConfirm } = useMessage();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema1,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
}
/**基本标准对比*/
function contrastButton(record) {
router.push({
path: '/dataStandards/basicStandards/basicStandardsContrast',
query: {
businessId:businessId.value,
const [registerForm2, { setFieldsValue: setFieldsValue2 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema2,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
}
/**版本管理 弹窗*/
function versionButton(record) {
openModal(true, {
const [registerForm3, { setFieldsValue: setFieldsValue3 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: detailSchema3,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
}
/**下拉框改变事件*/
function handleChange(value) {
const options = ref<any>([
{ value: 'V1', label: 'V1' },
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
/**编辑标准*/
function editButton(record) {
router.push({
path: '/dataStandards/basicStandards/editDetailStandard',
query: {
businessId: businessId.value,
},
});
}
/**基本标准对比*/
function contrastButton(record) {
router.push({
path: '/dataStandards/basicStandards/basicStandardsContrast',
query: {
businessId: businessId.value,
},
});
}
}
/**版本管理 弹窗*/
function versionButton(record) {
openModal(true, {});
}
/**回滚*/
function resetButton(value) {
createConfirm({
/**下拉框改变事件*/
function handleChange(value) {}
/**回滚*/
function resetButton(value) {
createConfirm({
iconType: 'warning',
title: '确认回滚',
content: '是否确认进行回滚?',
onOk() {
createMessage.success('回滚成功!');
},
});
}
/**退出查看*/
function exitButton(record) {
isShow.value = false;
optionValue.value = 'V3';
}
/**版本管理 弹出回调函数*/
function handleSuccess(record) {
optionValue.value = record.values.versionName;
isShow.value = true;
}
/**初始化*/
onMounted(() => {
optionValue.value = 'V3';
businessId.value = route.query.businessId;
const data = TreeData.filter((item) => item.businessId == businessId.value);
title.value = data[0].standardChineseName;
setFieldsValue1({
...data[0],
});
setFieldsValue2({
...data[0],
});
setFieldsValue3({
...data[0],
});
});
}
/**退出查看*/
function exitButton(record) {
isShow.value = false
optionValue.value = 'V3'
}
/**版本管理 弹出回调函数*/
function handleSuccess(record) {
optionValue.value = record.values.versionName
isShow.value = true
}
/**初始化*/
onMounted(() => {
optionValue.value = 'V3'
businessId.value = route.query.businessId
const data = TreeData.filter(item => item.businessId == businessId.value)
title.value = data[0].standardChineseName
setFieldsValue1({
...data[0]
})
setFieldsValue2({
...data[0]
})
setFieldsValue3({
...data[0]
})
});
</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="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicModal
width="40%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
<BasicTable @register="registerTable1"/>
<BasicTable @register="registerTable1" />
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { ref, computed } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import {relatedQualityColumns, relatedQualitySchema, relatedRelationshipColumns1} from './basicStandards.data';
import {
relatedQualityColumns,
relatedQualitySchema,
relatedRelationshipColumns1,
} from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
qualityTreeData,
relatedQualityData,
relatedRelationshipsData1,
TreeData
} from "@/views/dataStandards/basicStandards/basicStandardsData";
TreeData,
} from '@/views/dataStandards/basicStandards/basicStandardsData';
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 tableData = ref([]);
const getTitle = computed(() => '关联质量模版');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: relatedQualitySchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerForm, { setFieldsValue, getFieldsValue, updateSchema, resetFields, validate }] =
useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: relatedQualitySchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
const treeList = handleTree(qualityTreeData, 'businessId',undefined,undefined,undefined)
});
const treeList = handleTree(qualityTreeData, 'businessId', undefined, undefined, undefined);
updateSchema([
{
field: 'QualityId',
componentProps: {
treeData: treeList
treeData: treeList,
},
},
]);
});
const [registerTable1] = useTable({
const [registerTable1, { reload }] = useTable({
title: '参数配置',
api: async (params) => {
api: async () => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
pageNu: '1',
pageSize: '10',
pages: '1',
total: 0,
code:'',
message:'',
data: [],
code: '',
message: '',
data: tableData.value,
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: [] };
return { ...response };
},
columns:relatedQualityColumns,
columns: relatedQualityColumns,
useSearchForm: false,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
showIndexColumn: false,
pagination: false,
bordered: true,
});
/**确定按钮*/
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>
......@@ -283,9 +283,6 @@ export const mappingRuleConfigurationColumns: BasicColumn[] = [
title: '规则详情',
dataIndex: 'ruleDetail',
width: 200,
edit: true,
editable: true,
editComponent: 'Input',
},
{
title: '执行顺序',
......
......@@ -709,7 +709,7 @@
const isEdit = ref(true);
const version = ref('V1');
const isStart = ref('false');
const selectedItem = ref();
const selectedItem = ref('1');
const versionOptions = [
{
label: 'V1',
......
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