Commit 7d8a2c46 authored by 高滢's avatar 高滢

Merge remote-tracking branch 'origin/develop' into develop

parents a88dd1dd bc7879f0
......@@ -49,7 +49,7 @@
confirm: examine.bind(null, record, true),
},
ifShow: (_action) => {
return (record.reviewStatus == '0'||record.reviewStatus == null) && record.isSubmit == '1' && deptId !== '100';
return (record.reviewStatus === '0' || record.reviewStatus === null) && isExamine === true && record.isSubmit == '1';
},
},
]"
......@@ -106,9 +106,14 @@
},
});
const [register, { openModal: openModal, closeModal: closeModal }] = useModal();
const isExamine = ref<boolean>(false);
onMounted(async () => {
deptId.value = useUserStore().userInfo.deptId;
let roles = useUserStore().userInfo.roles;
roles.forEach((item) => {
if (item.role_key === 'approver') {
isExamine.value = true;
}
});
// console.log('deptId.value:',deptId.value)
const data = await getDepartmentList();
searchFormSchema[2].componentProps.options = data;
......
......@@ -24,9 +24,6 @@
{
label: '编辑',
onClick: handleEdit.bind(null, record, 0),
ifShow: (_action) => {
return record.reviewStatus == '0' || record.reviewStatus == null;
},
},
{
label: '删除',
......@@ -36,9 +33,6 @@
placement: 'left',
confirm: handleDelete.bind(null, record),
},
ifShow: (_action) => {
return record.reviewStatus == '0' || record.reviewStatus == null;
},
},
{
label: '审核',
......@@ -49,11 +43,7 @@
confirm: examine.bind(null, record, true),
},
ifShow: (_action) => {
return (
(record.reviewStatus === '0' || record.reviewStatus === null) &&
record.isSubmit !== '0' &&
deptId !== '100'
);
return (record.reviewStatus === '0' || record.reviewStatus === null) && isExamine === true && record.isSubmit == '1';
},
},
]"
......@@ -103,8 +93,14 @@
fixed: undefined,
},
});
const isExamine = ref<boolean>(false);
onMounted(async () => {
deptId.value = useUserStore().userInfo.deptId;
let roles = useUserStore().userInfo.roles;
roles.forEach((item) => {
if (item.role_key === 'approver') {
isExamine.value = true;
}
});
const data = await getDepartmentList();
searchFormSchema[2].componentProps.options = data;
});
......
......@@ -273,6 +273,7 @@
contractId: info.id,
});
}
break;
}
}
}
......@@ -421,6 +422,7 @@
idList: idList.value,
contractIdList: contractIdList.value,
proClosingQuarter: formData.value.proClosingQuarter,
isSubmit: isSubmit,
};
const management = [];
loadingRef.value = true;
......@@ -461,6 +463,7 @@
management.push(contrantData);
}
data.management = management;
console.log('data', data)
//新增接口
if (routerId.value) {
const res = updateItem(data);
......@@ -468,15 +471,24 @@
addItemData.businessId = routerId.value;
addItemData.businessType = '变更签证管理';
const showDatem = await addItemApi(addItemData);
createMessage.success('提交成功!');
if (isSubmit === '0'){
createMessage.success('暂存成功!');
} else {
createMessage.success('提交成功!');
}
// router.go(-1);
} else {
const res = await addItem(data);
console.log('res',res)
addItemData.operateType = operateType.add;
addItemData.businessId = res;
addItemData.businessType = '变更签证管理';
const showDatem = await addItemApi(addItemData);
createMessage.success('提交成功!');
if (isSubmit === '0'){
createMessage.success('暂存成功!');
} else {
createMessage.success('提交成功!');
}
// router.go(-1);
}
//修改接口
......
......@@ -80,7 +80,7 @@ export const searchFormSchema: FormSchema[] = [
colProps: { span: 4 },
},
{
field: 'companyName',
field: 'companyId',
label: '',
component: 'Select',
required: false,
......
......@@ -29,6 +29,9 @@
placement: 'left',
confirm: examine.bind(null, record, true),
},
ifShow: (_action) => {
return deptId !== 100 && isExamine === true && record.isSubmit == 1;
},
},
{
label: '删除',
......@@ -70,20 +73,29 @@
</div>
</template>
<script setup lang="ts">
import {addItemApi, addItemData, operateType} from '@/api/operations/operations';
import {BasicTable, TableAction, useTable} from '@/components/Table';
import {useModal} from '@/components/Modal';
import {auditItem, checkQuarter, deleteList, getSettlementManageList,} from '@/api/changeSignatrue/changeSignatrue';
import {columns, searchFormSchema} from '@/views/changeSignature/changeSignatrue.data';
import {Tag} from 'ant-design-vue';
import {useRouter} from 'vue-router';
import {onMounted} from 'vue';
import {getDepartmentList} from '@/api/project/settlementManage';
import {useMessage} from '@/hooks/web/useMessage';
import { addItemApi, addItemData, operateType } from '@/api/operations/operations';
import { BasicTable, TableAction, useTable } from '@/components/Table';
import { useModal } from '@/components/Modal';
import {
auditItem,
checkQuarter,
deleteList,
getSettlementManageList,
} from '@/api/changeSignatrue/changeSignatrue';
import { columns, searchFormSchema } from '@/views/changeSignature/changeSignatrue.data';
import { Tag } from 'ant-design-vue';
import { useRouter } from 'vue-router';
import { onMounted, ref } from 'vue';
import { getDepartmentList } from '@/api/project/settlementManage';
import { useMessage } from '@/hooks/web/useMessage';
import yearModal from '@/components/yearModal/yearModal.vue';
import {useUserStore} from "@/store/modules/user";
const { createMessage } = useMessage();
const { createMessage } = useMessage();
const { push } = useRouter();
const [register, { openModal: openModal, closeModal: closeModal }] = useModal();
const isExamine = ref<boolean>(false);
const deptId = '' + useUserStore().userInfo.deptParentId;
const [registerTable, { reload }] = useTable({
api: getSettlementManageList,
......@@ -107,11 +119,8 @@ const { createMessage } = useMessage();
onMounted(async () => {
const data = await getDepartmentList();
searchFormSchema[2].componentProps.options = data.map(item => ({
key: item.value,
value: item.label,
label: item.label
}));
console.log('data',data)
searchFormSchema[2].componentProps.options = data;
});
async function handleDelete(record: Recordable) {
......
......@@ -58,7 +58,7 @@ import SafetyDrawer from "@/views/potentialSafety/safetyDrawer.vue";
import {exportSafetyHazard} from "@/api/project/monthlyPlan";
import {downloadByData} from "@/utils/file/download";
const deptId = useUserStore().userInfo.deptId;
const deptId = useUserStore().userInfo.deptParentId;
const APopconfirm = Popconfirm;
const userStore = useUserStore();
const getUserInfo = computed(() => {
......@@ -110,7 +110,7 @@ const formSchema = ref([
field: 'companyName',
label: '',
component: 'Select',
ifShow: deptId === '100',
ifShow: deptId === 100,
componentProps: {
placeholder: '公司名称',
options: [],
......@@ -134,11 +134,146 @@ const loadingRef = ref(false);
// 列表数据
const dataSource = ref([]);
const columns = ref([]);
const columnsDate1 = [
{
title: '公司名称',
dataIndex: 'companyName',
width: 150,
fixed: 'left',
customCell: (_, any) => ({
rowSpan: _.companyNamerowSpan,
}),
// slots: { customRender: 'companyName' },
},
// {
// title: '填报周期',
// dataIndex: 'fillingPeriod',
// width: 150,
// },
{
title: '隐患描述',
dataIndex: 'describe',
width: 150,
},
{
title: '年份',
dataIndex: 'year',
width: 150,
},
{
title: '季度',
dataIndex: 'quarter',
width: 150,
},
{
title: '隐患级别',
dataIndex: 'level',
width: 150,
},
{
title: '计划费用(万元)',
dataIndex: 'planCost',
width: 180,
},
{
title: '实际费用(万元)',
dataIndex: 'actualCost',
width: 180,
},
{
title: '计划时间',
dataIndex: 'planTime',
width: 180,
},
{
title: '实际时间',
dataIndex: 'actualTime',
width: 180,
},
{
title: '隐患治理后的评估情况',
dataIndex: 'assessmentSituation',
width: 180,
},
{
title: '责任人',
dataIndex: 'responsiblePerson',
width: 180,
},
{
title: '操作',
dataIndex: 'action',
width: 180,
slots: { customRender: 'action' },
},
];
const columnsDate2 = [
{
title: '隐患描述',
dataIndex: 'describe',
width: 150,
},
{
title: '年份',
dataIndex: 'year',
width: 150,
},
{
title: '季度',
dataIndex: 'quarter',
width: 150,
},
{
title: '隐患级别',
dataIndex: 'level',
width: 150,
},
{
title: '计划费用(万元)',
dataIndex: 'planCost',
width: 180,
},
{
title: '实际费用(万元)',
dataIndex: 'actualCost',
width: 180,
},
{
title: '计划时间',
dataIndex: 'planTime',
width: 180,
},
{
title: '实际时间',
dataIndex: 'actualTime',
width: 180,
},
{
title: '隐患治理后的评估情况',
dataIndex: 'assessmentSituation',
width: 180,
},
{
title: '责任人',
dataIndex: 'responsiblePerson',
width: 180,
},
{
title: '操作',
dataIndex: 'action',
width: 180,
slots: { customRender: 'action' },
},
];
const { push } = useRouter();
//初始化
onMounted(async () => {
columns.value = columnsDate
// columns.value = columnsDate2
if (deptId === 100) {
columns.value = columnsDate1;
} else {
columns.value = columnsDate2;
}
formSchema.value[2].componentProps.options = await getDepartmentList();
formSchema.value[2].componentProps.options = formSchema.value[2].componentProps.options.map(item => ({
key: item.value,
......
......@@ -58,7 +58,7 @@
import { downloadByData } from '@/utils/file/download';
import {dataStyleTask} from "echarts/types/src/visual/style";
const deptId = useUserStore().userInfo.deptId;
const deptId = '' + useUserStore().userInfo.deptParentId;
// const deptId = "764";
const APopconfirm = Popconfirm;
const userStore = useUserStore();
......@@ -108,7 +108,7 @@
colProps: { span: 4 },
},
{
field: 'companyName',
field: 'companyId',
label: '',
component: 'Select',
ifShow: deptId === '100',
......@@ -136,7 +136,7 @@
showActionButtonGroup: false, //查询和重置按钮
});
//搜索表单参数
const params = ref({ year: '', quarter: '', companyName: '' });
const params = ref({ year: '', quarter: '', companyId: '' });
//加载loading
const loadingRef = ref(false);
// 列表数据
......@@ -290,7 +290,7 @@
//将搜索表单的培训人员赋值
// const data = await getUserList()
// searchForm.value[1].componentProps.options = data
// const { deptId } = userStore.getUserInfo;
// const { deptId } = userStore.getUserInfo;
if (deptId === '100') {
columns.value = columns1;
} else {
......@@ -298,11 +298,7 @@
}
const data = await getDepartmentList();
// console.log(data);
searchForm.value[2].componentProps.options = data.map((item) => ({
key: item.value,
value: item.label,
label: item.label,
}));
searchForm.value[2].componentProps.options = data;
getStatisticList();
});
......@@ -363,19 +359,19 @@
//组合字符串
params.value = {
fillingPeriod: data.quarter,
companyName: data.companyName,
companyId: data.companyId,
};
} else if (data.quarter === undefined) {
//组合字符串
params.value = {
fillingPeriod: data.year,
companyName: data.companyName,
companyId: data.companyId,
};
} else {
//组合字符串
params.value = {
fillingPeriod: data.year + '-' + data.quarter,
companyName: data.companyName,
companyId: data.companyId,
};
}
getStatisticList();
......@@ -428,19 +424,19 @@
//组合字符串
params.value = {
fillingPeriod: fieldsValue.quarter,
companyName: fieldsValue.companyName,
companyId: fieldsValue.companyId,
};
} else if (fieldsValue.quarter === undefined) {
//组合字符串
params.value = {
fillingPeriod: fieldsValue.year,
companyName: fieldsValue.companyName,
companyId: fieldsValue.companyId,
};
} else {
//组合字符串
params.value = {
fillingPeriod: fieldsValue.year + '-' + fieldsValue.quarter,
companyName: fieldsValue.companyName,
companyId: fieldsValue.companyId,
};
}
const data = await exportSafetyEducation(params.value);
......
......@@ -5,7 +5,9 @@ import { setRoleStatus } from '@/api/demo/system';
import { useMessage } from '@/hooks/web/useMessage';
import { getDepartmentList } from '@/api/project/settlementManage';
import {useUserStore} from "@/store/modules/user";
const deptId = useUserStore().userInfo.deptId;
type CheckedType = boolean | string | number;
//主模块-结算管理列表页
export const columns: BasicColumn[] = [
......@@ -90,6 +92,7 @@ export const searchFormSchema: FormSchema[] = [
field: 'companyName',
label: '',
component: 'Select',
ifShow: deptId === '100',
componentProps: {
// options: getDepartment(),
options: [
......
......@@ -24,7 +24,7 @@
confirm: examine.bind(null, record,true),
},
ifShow: (_action) => {
return (record.reviewStatus == '0'||record.reviewStatus == null) && record.isSubmit == '1' && deptId !== '100';
return record.statusResult == '0' && isExamine === true && record.issubmit === '1';
},
},
{
......@@ -44,39 +44,57 @@
/>
<TableAction v-else
:actions="[
{
label: '查看详情',
onClick: handleEdit.bind(null, record,false),
}
{
label: '修改',
onClick: handleEdit.bind(null, record, true),
},
{
label: '详情',
onClick: handleEdit.bind(null, record, false),
},
{
label: '删除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
<yearModal @register="register" @close="handleNew" />
<yearModal @register="register" @close="handleNew"/>
</div>
</template>
<script lang="ts" setup>
//审核相关操作
import {operateType,addItemApi,addItemData} from "@/api/operations/operations"
import {operateType, addItemApi, addItemData} from "@/api/operations/operations"
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {BasicTable, useTable, TableAction} from '@/components/Table';
import yearModal from '@/components/yearModal/yearModal.vue';
import { useModal } from '@/components/Modal';
const { push } = useRouter();
import {useModal} from '@/components/Modal';
const {push} = useRouter();
import {useRouter} from "vue-router";
import {onMounted}from "vue"
const [register, { openModal: openModal,closeModal:closeModal }] = useModal();
import {getListByPage, auditItem,getDepartmentList,isSettlement} from '@/api/project/settlementManage';
import {onMounted,ref} from "vue"
const [register, {openModal: openModal, closeModal: closeModal}] = useModal();
import {getListByPage, auditItem, getDepartmentList, isSettlement} from '@/api/project/settlementManage';
import {deleteList} from "@/api/project/settlementManage"
import { columns, searchFormSchema } from './data';
import { useDrawer } from '@/components/Drawer';
const { createMessage } = useMessage();
import {columns, searchFormSchema} from './data';
import {useDrawer} from '@/components/Drawer';
const {createMessage} = useMessage();
import {Tag} from "ant-design-vue";
import {useMessage} from "@/hooks/web/useMessage";
defineOptions({ name: 'SettlementManagement' });
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
import {useUserStore} from "@/store/modules/user";
defineOptions({name: 'SettlementManagement'});
const [registerDrawer, {openDrawer}] = useDrawer();
const [registerTable, {reload}] = useTable({
api: getListByPage,
columns,
formConfig: {
......@@ -95,17 +113,29 @@ const [registerTable, { reload }] = useTable({
fixed: undefined,
},
});
const isExamine = ref<boolean>(false);
onMounted(async () => {
const data = await getDepartmentList()
searchFormSchema[2].componentProps.options=data
console.log(searchFormSchema[2].componentProps.options,"数据仓库")
let roles = useUserStore().userInfo.roles;
roles.forEach((item) => {
if (item.role_key === 'approver') {
isExamine.value = true;
}
});
console.log(roles, "角色")
console.log('isExamine.value', isExamine.value)
const data = await getDepartmentList()
searchFormSchema[2].componentProps.options = data.map(item => ({
key: item.value,
value: item.label,
label: item.label
}));
console.log(searchFormSchema[2].componentProps.options, "数据仓库")
})
function handleEdit(record: Recordable, disabled: boolean) {
console.log(record,"ddddd")
push({
console.log(record, "ddddd")
push({
path: '/settlementManagement/edit',
query: {
id: record.id,
......@@ -115,6 +145,7 @@ function handleEdit(record: Recordable, disabled: boolean) {
});
}
const addSettlement = () => {
openModal(true, {
data: ['year', 'quarter'],
......@@ -123,8 +154,8 @@ const addSettlement = () => {
//删除操作
async function handleDelete(record: Recordable) {
console.log(record,'数据查看');
let id=record.id
console.log(record, '数据查看');
let id = record.id
await deleteList({id})
reload();
}
......@@ -133,45 +164,45 @@ async function handleDelete(record: Recordable) {
async function examine(record: Recordable, disabled: boolean) {
const id = record.id
const res = await auditItem({id})
addItemData.operateType=operateType.audit
addItemData.businessId=record.id
addItemData.businessType="结算管理"
const showDatem= await addItemApi(addItemData)
addItemData.operateType = operateType.audit
addItemData.businessId = record.id
addItemData.businessType = "结算管理"
const showDatem = await addItemApi(addItemData)
reload();
}
function handleSuccess() {
reload();
}
// 关闭弹出框
const handleNew = (e) => {
const handleNew = (e) => {
console.log(e);
type dateType={
givenYear:string,
quarter:string
type dateType = {
givenYear: string,
quarter: string
}
const search: dateType = {
givenYear: e.year,
quarter: e.quarter
}
// 判断是否已结算
isSettlement(search).then(res => {
if (res) {
createMessage.error("该季度已结算,请选择其他季度");
return
} else {
push({
path: '/settlementManagement/edit',
query: {
quarter: e.quarter,
year: e.year,
add: "add"
}
});
closeModal()
}
const search:dateType={
givenYear:e.year,
quarter:e.quarter
}
// 判断是否已结算
isSettlement(search).then(res=>{
if(res){
createMessage.error("该季度已结算,请选择其他季度");
return
}
else {
push({
path: '/settlementManagement/edit',
query: {
quarter:e.quarter,
year:e.year,
add:"add"
}
});
closeModal()
}
});
});
};
</script>
......@@ -119,7 +119,7 @@ import {c} from "vite/dist/node/types.d-aGj9QkWt";
console.log(isUpdate.value);
formData.value.management = [];
formData.value.proClosingQuarter = {};
formData.value.proClosingQuarter.companyName = 'sdfh';
// formData.value.proClosingQuarter.companyName = 'sdfh';
formData.value.proClosingQuarter.status = '0';
formData.value.proClosingQuarter.quarter = route.query.quarter;
formData.value.proClosingQuarter.givenYear = route.query.year;
......@@ -169,6 +169,8 @@ import {c} from "vite/dist/node/types.d-aGj9QkWt";
formData.value.management.push({
//合同id
id: source.id,
contractId: source.contractId,
projectId:source.projectId
});
console.log(formData.value.management, 'eeee');
nextTick(() => {
......@@ -318,7 +320,7 @@ async function deleteItemCon(index: any, key: any) {
{
field: 'remark',
dynamicRules: ({values}) => {
return [{required: true}];
return [{required: false}];
},
},
]);
......@@ -328,18 +330,29 @@ async function deleteItemCon(index: any, key: any) {
loading.value = true;
try {
for (let i = 0; i < tabsFormSchema.length; i++) {
const contractData = {
projectId: '',
contractId: '',
};
contractData.projectId = tabsFormSchema[i].projectId;
contractData.contractId = tabsFormSchema[i].contractId;
let item = tabsFormSchema[i];
if (item.show) {
const {validate, getFieldsValue} = item.Form[1];
const data = await validate()
let res = getFieldsValue();
if(formData.value.management[i].contractId == undefined && formData.value.management[i].projectId == undefined){
formData.value.management[i].push(contractData);
}
formData.value.management[i] = deepMerge(formData.value.management[i], res);
}
}
formData.value.uniqueProjectCount = formData.value.management.length;
formData.value.isSubmit = isSubmit;
formData.value.id = routeId.value;
console.log('isUpdate.value',isUpdate.value)
const requestDate={
isSubmit:isSubmit,
id:routeId.value,
ids:deleteId.value,
management:unref(formData).management
......
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