合并
This commit is contained in:
@ -5,7 +5,7 @@ VITE_APP_TITLE = 煤科建管平台
|
|||||||
VITE_APP_ENV = 'development'
|
VITE_APP_ENV = 'development'
|
||||||
|
|
||||||
# 开发环境
|
# 开发环境
|
||||||
VITE_APP_BASE_API = 'http://192.168.110.180:8899'
|
VITE_APP_BASE_API = 'http://192.168.110.149:8899'
|
||||||
|
|
||||||
# 无人机接口地址
|
# 无人机接口地址
|
||||||
|
|
||||||
|
@ -3,7 +3,14 @@ export interface FormalitiesAreConsolidatedVO {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
id: string | number;
|
id: string | number;
|
||||||
|
/**
|
||||||
|
* 办理状态
|
||||||
|
*/
|
||||||
|
status: string;
|
||||||
|
/**
|
||||||
|
* 计划完成时间
|
||||||
|
*/
|
||||||
|
planTheEndTime: string;
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
@ -48,7 +55,6 @@ export interface FormalitiesAreConsolidatedVO {
|
|||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
remark: string;
|
remark: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FormalitiesAreConsolidatedForm extends BaseEntity {
|
export interface FormalitiesAreConsolidatedForm extends BaseEntity {
|
||||||
@ -56,7 +62,10 @@ export interface FormalitiesAreConsolidatedForm extends BaseEntity {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
/**
|
||||||
|
* 计划完成时间
|
||||||
|
*/
|
||||||
|
planTheEndTime?: string;
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
@ -101,11 +110,9 @@ export interface FormalitiesAreConsolidatedForm extends BaseEntity {
|
|||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
remark?: string;
|
remark?: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FormalitiesAreConsolidatedQuery extends PageQuery {
|
export interface FormalitiesAreConsolidatedQuery extends PageQuery {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
@ -151,6 +158,3 @@ export interface FormalitiesAreConsolidatedQuery extends PageQuery {
|
|||||||
*/
|
*/
|
||||||
params?: any;
|
params?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ const handleUpdate = (row) => {
|
|||||||
// 添加审批
|
// 添加审批
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/cory/template/indexEdit`,
|
path: `/approval/changeContact/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
thumbnailUrl: props.thumbnail,
|
thumbnailUrl: props.thumbnail,
|
||||||
row: JSON.stringify(row),
|
row: JSON.stringify(row),
|
||||||
@ -235,7 +235,7 @@ const handleViewInfo = (row) => {
|
|||||||
// 添加审批
|
// 添加审批
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/relation-management/changeContact/indexEdit`,
|
path: `/approval/changeContact/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
thumbnailUrl: props.thumbnail,
|
thumbnailUrl: props.thumbnail,
|
||||||
row: JSON.stringify(row),
|
row: JSON.stringify(row),
|
||||||
|
@ -281,7 +281,7 @@ const handleAddApp = (row) => {
|
|||||||
// 添加审批
|
// 添加审批
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/relation-management/changeContact/indexEdit`,
|
path: `/approval/changeContact/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
thumbnailUrl: projectTypeOptions.value[1].thumbnail,
|
thumbnailUrl: projectTypeOptions.value[1].thumbnail,
|
||||||
id: projectTypeOptions.value[1].id,
|
id: projectTypeOptions.value[1].id,
|
||||||
|
@ -167,7 +167,7 @@ const resetQuery = () => {
|
|||||||
const handleAdd = (row) => {
|
const handleAdd = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/Professional/indexEdit`,
|
path: `/approval/Professional/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'add'
|
type: 'add'
|
||||||
@ -177,7 +177,7 @@ const handleAdd = (row) => {
|
|||||||
const handleViewInfo = (row) => {
|
const handleViewInfo = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/Professional/indexEdit`,
|
path: `/approval/Professional/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
@ -187,7 +187,7 @@ const handleViewInfo = (row) => {
|
|||||||
const handleUpdate = (row) => {
|
const handleUpdate = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/Professional/indexEdit`,
|
path: `/approval/Professional/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
|
@ -317,7 +317,7 @@ function handleArr(arr, flag, table) {
|
|||||||
function clickApprovalSheet(row) {
|
function clickApprovalSheet(row) {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/billofQuantities/indexEdit`,
|
path: `/approval/billofQuantities/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: state.queryForm.versions,
|
id: state.queryForm.versions,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -327,7 +327,7 @@ function clickApprovalSheet(row) {
|
|||||||
// 审核流程
|
// 审核流程
|
||||||
function lookApprovalFlow(row) {
|
function lookApprovalFlow(row) {
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/billofQuantities/indexEdit`,
|
path: `/approval/billofQuantities/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: state.queryForm.versions,
|
id: state.queryForm.versions,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -99,7 +99,7 @@ const onUpdate = (row) => {
|
|||||||
// 审核
|
// 审核
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/condition/indexEdit`,
|
path: `/approval/condition/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -110,7 +110,7 @@ const onView = (row) => {
|
|||||||
// 查看流程
|
// 查看流程
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/condition/indexEdit`,
|
path: `/approval/condition/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -208,7 +208,7 @@ const resetQuery = () => {
|
|||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/designChange/indexEdit`,
|
path: `/approval/designChange/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
type: 'add'
|
type: 'add'
|
||||||
}
|
}
|
||||||
@ -218,7 +218,7 @@ const handleAdd = () => {
|
|||||||
const handleViewDetail = (row) => {
|
const handleViewDetail = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/designChange/indexEdit`,
|
path: `/approval/designChange/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
@ -229,7 +229,7 @@ const handleViewDetail = (row) => {
|
|||||||
const handleAddChange = (row) => {
|
const handleAddChange = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawing/indexEdit`,
|
path: `/approval/drawing/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'add'
|
type: 'add'
|
||||||
@ -240,7 +240,7 @@ const handleAddChange = (row) => {
|
|||||||
const handleViewInfo = (row) => {
|
const handleViewInfo = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawing/indexEdit`,
|
path: `/approval/drawing/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -263,7 +263,7 @@ const reset = () => {
|
|||||||
function handleUpdate(row) {
|
function handleUpdate(row) {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawingreview/indexEdit`,
|
path: `/approval/drawingreview/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -273,7 +273,7 @@ function handleUpdate(row) {
|
|||||||
function handleViewInfo(row) {
|
function handleViewInfo(row) {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawingreview/indexEdit`,
|
path: `/approval/drawingreview/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -182,7 +182,7 @@ const handleSelectionChange = (selection: PrelimSchemeVO[]) => {
|
|||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
proxy.$tab.openPage('/design-management/prelimScheme/indexEdit', '', {
|
proxy.$tab.openPage('/approval/prelimScheme/indexEdit', '', {
|
||||||
type: 'add'
|
type: 'add'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -191,7 +191,7 @@ const handleAdd = () => {
|
|||||||
const handleUpdate = async (row?: PrelimSchemeVO) => {
|
const handleUpdate = async (row?: PrelimSchemeVO) => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
|
|
||||||
proxy.$tab.openPage(`/design-management/prelimScheme/indexEdit`, '', {
|
proxy.$tab.openPage(`/approval/prelimScheme/indexEdit`, '', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
@ -209,7 +209,7 @@ const handleDelete = async (row?: PrelimSchemeVO) => {
|
|||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleView = (row?: PrelimSchemeVO) => {
|
const handleView = (row?: PrelimSchemeVO) => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
proxy.$tab.openPage(`/design-management/prelimScheme/indexEdit`, '', {
|
proxy.$tab.openPage(`/approval/prelimScheme/indexEdit`, '', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
});
|
});
|
||||||
|
@ -297,7 +297,7 @@ const getDeptAllUser = async (deptId: any) => {
|
|||||||
const update = () => {
|
const update = () => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/received/indexEdit`,
|
path: `/approval/received/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: form.id,
|
id: form.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -307,7 +307,7 @@ const update = () => {
|
|||||||
const onView = () => {
|
const onView = () => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/received/indexEdit`,
|
path: `/approval/received/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: form.id,
|
id: form.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -181,7 +181,7 @@ const handleSelectionChange = (selection: SchemeVO[]) => {
|
|||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
proxy.$tab.openPage('/design-management/scheme/indexEdit', '', {
|
proxy.$tab.openPage('/approval/scheme/indexEdit', '', {
|
||||||
type: 'add'
|
type: 'add'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -190,7 +190,7 @@ const handleAdd = () => {
|
|||||||
const handleUpdate = async (row?: SchemeVO) => {
|
const handleUpdate = async (row?: SchemeVO) => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
|
|
||||||
proxy.$tab.openPage(`/design-management/scheme/indexEdit`, '', {
|
proxy.$tab.openPage(`/approval/scheme/indexEdit`, '', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
@ -207,7 +207,7 @@ const handleDelete = async (row?: SchemeVO) => {
|
|||||||
|
|
||||||
const handleView = (row?: SchemeVO) => {
|
const handleView = (row?: SchemeVO) => {
|
||||||
proxy.$tab.closePage(route);
|
proxy.$tab.closePage(route);
|
||||||
proxy.$tab.openPage(`/design-management/scheme/indexEdit`, '', {
|
proxy.$tab.openPage(`/approval/scheme/indexEdit`, '', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
});
|
});
|
||||||
|
@ -158,7 +158,7 @@ const handleSelectionChange = (selection: SpecialSchemeVO[]) => {
|
|||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/specialScheme/indexEdit`,
|
path: `/approval/specialScheme/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
type: 'add'
|
type: 'add'
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ const handleAdd = () => {
|
|||||||
const handleUpdate = async (row?: SpecialSchemeVO) => {
|
const handleUpdate = async (row?: SpecialSchemeVO) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/specialScheme/indexEdit`,
|
path: `/approval/specialScheme/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -192,7 +192,7 @@ const handleView = (row) => {
|
|||||||
const handleViewInfo = (row) => {
|
const handleViewInfo = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/specialScheme/indexEdit`,
|
path: `/approval/specialScheme/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -475,7 +475,7 @@ onUnmounted(() => {
|
|||||||
const handleApproval = (row) => {
|
const handleApproval = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/technicalStandard/indexEdit`,
|
path: `/approval/technicalStandard/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -485,7 +485,7 @@ const handleApproval = (row) => {
|
|||||||
const handleViewApproval = (row) => {
|
const handleViewApproval = (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/technicalStandard/indexEdit`,
|
path: `/approval/technicalStandard/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -543,7 +543,7 @@ const handleUploadSuccess = async (flieList: any, res: any) => {
|
|||||||
const handleAudit = async (row) => {
|
const handleAudit = async (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawingreview/indexEdit`,
|
path: `/approval/drawingreview/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.design,
|
id: row.design,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -554,7 +554,7 @@ const handleAudit = async (row) => {
|
|||||||
const handleAuditView = async (row) => {
|
const handleAuditView = async (row) => {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/design-management/drawingreview/indexEdit`,
|
path: `/approval/drawingreview/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: row.design,
|
id: row.design,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -61,15 +61,20 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all>
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" />
|
<!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> -->
|
||||||
<el-table-column label="手续办理清单模板" align="center" prop="formalitiesName" />
|
<el-table-column label="手续办理清单模板" align="center" prop="formalitiesName" />
|
||||||
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
|
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="计划完成时间" align="center" prop="planTheEndTime" width="180">
|
||||||
|
<template #default="scope">
|
||||||
|
<span>{{ parseTime(scope.row.planTheEndTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="负责人" align="center" prop="head" />
|
<el-table-column label="负责人" align="center" prop="head" />
|
||||||
<el-table-column label="实际完成时间" align="center" prop="actualCompletionTime" width="180">
|
<el-table-column label="实际完成时间" align="center" prop="actualCompletionTime" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -79,18 +84,27 @@
|
|||||||
<el-table-column label="办理状态" align="center" prop="processingStatus" />
|
<el-table-column label="办理状态" align="center" prop="processingStatus" />
|
||||||
<el-table-column label="手续材料" align="center" prop="formalitiesUrl" width="180">
|
<el-table-column label="手续材料" align="center" prop="formalitiesUrl" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank">查看</el-link>
|
<el-link type="primary" :underline="false" @click="handlePreview(scope.row)" target="_blank" v-if="scope.row.formalitiesPid"
|
||||||
|
>查看</el-link
|
||||||
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.status != 1">
|
<div v-if="scope.row.formalitiesPid">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
|
<el-button
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
icon="Edit"
|
||||||
|
v-if="scope.row.processingStatus != '已完成'"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['formalities:formalitiesAreConsolidated:edit']"
|
||||||
>修改</el-button
|
>修改</el-button
|
||||||
>
|
>
|
||||||
<el-button link type="primary" icon="Upload" @click="handleUpload(scope.row)">上传</el-button>
|
<el-button link type="primary" icon="Upload" v-if="scope.row.processingStatus != '已完成'" @click="handleUpload(scope.row)"
|
||||||
|
>上传</el-button
|
||||||
|
>
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@ -113,9 +127,14 @@
|
|||||||
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划开始时间">
|
<el-date-picker clearable v-model="form.planTheStartTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划开始时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="计划完成时间" prop="planTheStartTime">
|
||||||
|
<el-date-picker clearable v-model="form.planTheEndTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择计划完成时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="head">
|
<el-form-item label="负责人" prop="head">
|
||||||
<el-input v-model="form.head" placeholder="请输入负责人" />
|
<el-input v-model="form.head" placeholder="请输入负责人" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -136,7 +155,7 @@
|
|||||||
</el-link>
|
</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="90" align="center" v-if="fileStatus != 1">
|
<el-table-column label="操作" width="90" align="center" v-if="fileStatus != '1'">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="danger" link icon="Delete" @click="handleDeleteFile(scope.row)"> 删除 </el-button>
|
<el-button type="danger" link icon="Delete" @click="handleDeleteFile(scope.row)"> 删除 </el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -156,13 +175,14 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 上传文件对话框 -->
|
<!-- 上传文件对话框 -->
|
||||||
<el-dialog draggable title="上传文件" v-model="fileVisible" width="45%">
|
<el-dialog draggable title="上传文件" v-model="fileVisible" width="450">
|
||||||
<el-form-item label="上传文件" prop="processingStatus">
|
<el-form-item label="上传文件" prop="processingStatus">
|
||||||
<file-upload
|
<file-upload
|
||||||
v-model="file"
|
v-model="file"
|
||||||
ref="uploadRef"
|
ref="uploadRef"
|
||||||
uploadUrl="/formalities/formalitiesAnnex"
|
uploadUrl="/formalities/formalitiesAnnex"
|
||||||
:data="{ formalitiesId: form.id }"
|
:data="{ formalitiesId: form.id }"
|
||||||
|
:fileType="['pdf']"
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
showFileList
|
showFileList
|
||||||
method="put"
|
method="put"
|
||||||
@ -176,6 +196,23 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog title="修改状态" v-model="updateStatusVisible" width="500">
|
||||||
|
<el-form ref="statusFormRef" :model="statusForm" :rules="rules">
|
||||||
|
<el-form-item label="办理状态" prop="processingStatus">
|
||||||
|
<el-select v-model="statusForm.processingStatus" placeholder="请选择办理状态">
|
||||||
|
<el-option label="待开始" value="待开始" />
|
||||||
|
<el-option label="处理中" value="处理中" />
|
||||||
|
<el-option label="已完成" value="已完成" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<span>
|
||||||
|
<el-button @click="updateStatusVisible = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="submitStatus">确定</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -206,7 +243,8 @@ const formalitiesAreConsolidatedList = ref<FormalitiesAreConsolidatedVO[]>([]);
|
|||||||
const buttonLoading = ref(false);
|
const buttonLoading = ref(false);
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
const fileLoading = ref(false);
|
const fileLoading = ref(false);
|
||||||
|
const updateStatusVisible = ref(false);
|
||||||
|
const statusFormRef = ref<ElFormInstance>();
|
||||||
const showSearch = ref(true);
|
const showSearch = ref(true);
|
||||||
const ids = ref<Array<string | number>>([]);
|
const ids = ref<Array<string | number>>([]);
|
||||||
const single = ref(true);
|
const single = ref(true);
|
||||||
@ -218,7 +256,7 @@ const formalitiesAreConsolidatedFormRef = ref<ElFormInstance>();
|
|||||||
const fileList = ref([]);
|
const fileList = ref([]);
|
||||||
const fileTotal = ref(0);
|
const fileTotal = ref(0);
|
||||||
const viewVisible = ref(false);
|
const viewVisible = ref(false);
|
||||||
const fileStatus = ref(0);
|
const fileStatus = ref<string>('0');
|
||||||
const dialog = reactive<DialogOption>({
|
const dialog = reactive<DialogOption>({
|
||||||
visible: false,
|
visible: false,
|
||||||
title: ''
|
title: ''
|
||||||
@ -229,10 +267,18 @@ const fileParams = reactive({
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
formalitiesId: undefined
|
formalitiesId: undefined
|
||||||
});
|
});
|
||||||
|
const statusForm = ref({
|
||||||
|
id: undefined,
|
||||||
|
projectId: currentProject.value?.id,
|
||||||
|
processingStatus: undefined
|
||||||
|
});
|
||||||
|
|
||||||
const initFormData: FormalitiesAreConsolidatedForm = {
|
const initFormData: FormalitiesAreConsolidatedForm = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
projectId: currentProject.value?.id,
|
projectId: currentProject.value?.id,
|
||||||
planTheStartTime: undefined,
|
planTheStartTime: undefined,
|
||||||
|
planTheEndTime: undefined,
|
||||||
|
|
||||||
head: undefined
|
head: undefined
|
||||||
};
|
};
|
||||||
const data = reactive<PageData<FormalitiesAreConsolidatedForm, FormalitiesAreConsolidatedQuery>>({
|
const data = reactive<PageData<FormalitiesAreConsolidatedForm, FormalitiesAreConsolidatedQuery>>({
|
||||||
@ -251,7 +297,11 @@ const data = reactive<PageData<FormalitiesAreConsolidatedForm, FormalitiesAreCon
|
|||||||
params: {}
|
params: {}
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
id: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
id: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
||||||
|
planTheStartTime: [{ required: true, message: '请选择计划开始时间', trigger: 'blur' }],
|
||||||
|
planTheEndTime: [{ required: true, message: '请选择计划结束时间', trigger: 'blur' }],
|
||||||
|
head: [{ required: true, message: '请输入负责人', trigger: 'blur' }],
|
||||||
|
processingStatus: [{ required: true, message: '请选择办理状态', trigger: 'blur' }]
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -327,12 +377,21 @@ const handleUpload = (row) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleUpdateStatus = async (row?: FormalitiesAreConsolidatedVO) => {
|
const handleUpdateStatus = async (row?: FormalitiesAreConsolidatedVO) => {
|
||||||
await proxy?.$modal.confirm('是否确认修改状态?').finally(() => (loading.value = false));
|
statusForm.value.id = row.id;
|
||||||
|
statusForm.value.processingStatus = row.processingStatus;
|
||||||
|
|
||||||
await editStatus({ id: row?.id, projectId: currentProject.value?.id });
|
updateStatusVisible.value = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const submitStatus = async () => {
|
||||||
|
statusFormRef.value?.validate(async (valid: boolean) => {
|
||||||
|
if (valid) {
|
||||||
|
await editStatus(statusForm.value);
|
||||||
proxy?.$modal.msgSuccess('修改成功');
|
proxy?.$modal.msgSuccess('修改成功');
|
||||||
await getList();
|
await getList();
|
||||||
|
updateStatusVisible.value = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
|
@ -42,13 +42,13 @@
|
|||||||
<!-- 添加或修改手续办理清单模板对话框 -->
|
<!-- 添加或修改手续办理清单模板对话框 -->
|
||||||
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
||||||
<el-form ref="listOfFormalitiesFormRef" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="listOfFormalitiesFormRef" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="父级" prop="pid">
|
<el-form-item label="父级" prop="pid" :rules="[{ required: true, message: '请选择父级', trigger: 'blur' }]">
|
||||||
<el-select v-model="form.pid" placeholder="请选择父级">
|
<el-select v-model="form.pid" placeholder="请选择父级">
|
||||||
<el-option label="根目录" value="0" />
|
<el-option label="根目录" value="0" />
|
||||||
<el-option v-for="item in listOfFormalitiesList" :label="item.name" :value="item.id" />
|
<el-option v-for="item in listOfFormalitiesList" :label="item.name" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name" :rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
|
||||||
<el-input v-model="form.name" placeholder="请输入名称" />
|
<el-input v-model="form.name" placeholder="请输入名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -441,7 +441,7 @@ const handleAudit = async () => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
proxy?.$tab.closePage(route);
|
proxy?.$tab.closePage(route);
|
||||||
proxy?.$tab.openPage('/materials-management/batchPlan/indexEdit', '审核物资设备批次需求计划', {
|
proxy?.$tab.openPage('/approval/batchPlan/indexEdit', '审核物资设备批次需求计划', {
|
||||||
id: queryParams.value.mainData.mrpBaseId,
|
id: queryParams.value.mainData.mrpBaseId,
|
||||||
status: form.value.mrpBaseBo.status + '_batchRequirements',
|
status: form.value.mrpBaseBo.status + '_batchRequirements',
|
||||||
type: 'update'
|
type: 'update'
|
||||||
|
@ -425,7 +425,7 @@ const handleAudit = async () => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
proxy?.$tab.closePage(proxy.$route);
|
proxy?.$tab.closePage(proxy.$route);
|
||||||
proxy?.$tab.openPage('/materials-management/cailiaoshebei/indexEdit', '审核材料设备设计', {
|
proxy?.$tab.openPage('/approval/cailiaoshebei/indexEdit', '审核材料设备设计', {
|
||||||
id: form.value.batchNumber + '_materialDesign',
|
id: form.value.batchNumber + '_materialDesign',
|
||||||
approvalDesign: form.value.approvalDesign,
|
approvalDesign: form.value.approvalDesign,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
|
@ -132,16 +132,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="Cailiaoshebei" lang="ts">
|
<script setup name="Cailiaoshebei" lang="ts">
|
||||||
import {
|
import { listCailiaoshebei, delCailiaoshebei, addCailiaoshebei, listBatch, getBatch, delBatch } from '@/api/materials/orderEquipment';
|
||||||
listCailiaoshebei,
|
|
||||||
getCailiaoshebei,
|
|
||||||
delCailiaoshebei,
|
|
||||||
addCailiaoshebei,
|
|
||||||
updateCailiaoshebei,
|
|
||||||
listBatch,
|
|
||||||
getBatch,
|
|
||||||
delBatch
|
|
||||||
} from '@/api/materials/orderEquipment';
|
|
||||||
import { CailiaoshebeiVO, CailiaoshebeiQuery, CailiaoshebeiForm } from '@/api/materials/orderEquipment/types';
|
import { CailiaoshebeiVO, CailiaoshebeiQuery, CailiaoshebeiForm } from '@/api/materials/orderEquipment/types';
|
||||||
|
|
||||||
import { listContractor } from '@/api/project/contractor';
|
import { listContractor } from '@/api/project/contractor';
|
||||||
@ -355,7 +346,7 @@ const handleAudit = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proxy?.$tab.closePage(proxy.$route);
|
proxy?.$tab.closePage(proxy.$route);
|
||||||
proxy?.$tab.openPage('/materials-management/orderEquipment/indexEdit', '审核物资订货', {
|
proxy?.$tab.openPage('/approval/orderEquipment/indexEdit', '审核物资订货', {
|
||||||
id: form.value.batchNumber,
|
id: form.value.batchNumber,
|
||||||
approvalOrder: form.value.approvalOrder + '_equipmentOrdering',
|
approvalOrder: form.value.approvalOrder + '_equipmentOrdering',
|
||||||
type: 'update'
|
type: 'update'
|
||||||
|
@ -306,7 +306,7 @@ const handleClose = () => {
|
|||||||
function clickApprovalSheet1() {
|
function clickApprovalSheet1() {
|
||||||
proxy.$tab.closePage(proxy.$route);
|
proxy.$tab.closePage(proxy.$route);
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/materials/overallPlanMaterialSupply/indexEdit`,
|
path: `/approval/overallPlanMaterialSupply/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: state.masterData.id,
|
id: state.masterData.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
@ -316,7 +316,7 @@ function clickApprovalSheet1() {
|
|||||||
// 审核流程
|
// 审核流程
|
||||||
function lookApprovalFlow() {
|
function lookApprovalFlow() {
|
||||||
proxy.$router.push({
|
proxy.$router.push({
|
||||||
path: `/materials/overallPlanMaterialSupply/indexEdit`,
|
path: `/approval/overallPlanMaterialSupply/indexEdit`,
|
||||||
query: {
|
query: {
|
||||||
id: state.masterData.id,
|
id: state.masterData.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
|
@ -525,7 +525,7 @@ const handleSuccess = (list, res: any) => {
|
|||||||
/** 审核按钮操作 */
|
/** 审核按钮操作 */
|
||||||
const handleAudit = async (row?: PurchaseDocVO) => {
|
const handleAudit = async (row?: PurchaseDocVO) => {
|
||||||
proxy?.$tab.closePage(route);
|
proxy?.$tab.closePage(route);
|
||||||
proxy?.$tab.openPage('/materials/purchaseDoc/indexEdit', '审核采购联系单', {
|
proxy?.$tab.openPage('/approval/purchaseDoc/indexEdit', '审核采购联系单', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
@ -533,7 +533,7 @@ const handleAudit = async (row?: PurchaseDocVO) => {
|
|||||||
/** 审核按钮操作 */
|
/** 审核按钮操作 */
|
||||||
const handleViewDetail = async (row?: PurchaseDocVO) => {
|
const handleViewDetail = async (row?: PurchaseDocVO) => {
|
||||||
proxy?.$tab.closePage(route);
|
proxy?.$tab.closePage(route);
|
||||||
proxy?.$tab.openPage('/materials/purchaseDoc/indexEdit', '审核采购联系单', {
|
proxy?.$tab.openPage('/approval/purchaseDoc/indexEdit', '审核采购联系单', {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
type: 'view'
|
type: 'view'
|
||||||
});
|
});
|
||||||
|
@ -474,7 +474,7 @@ const handleAudit = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proxy?.$tab.closePage(proxy.$route);
|
proxy?.$tab.closePage(proxy.$route);
|
||||||
proxy?.$tab.openPage('/materials-management/suppliesprice/indexEdit', '审核物资供应总计划', {
|
proxy?.$tab.openPage('/approval/suppliesprice/indexEdit', '审核物资供应总计划', {
|
||||||
id: form.value.batchNumber,
|
id: form.value.batchNumber,
|
||||||
approvalPlan: form.value.approvalPlan + '_materialsPlans',
|
approvalPlan: form.value.approvalPlan + '_materialsPlans',
|
||||||
type: 'update'
|
type: 'update'
|
||||||
|
@ -535,20 +535,6 @@ const handleSubmit = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const materialsUsageDetails1 = () => {
|
const materialsUsageDetails1 = () => {
|
||||||
<<<<<<< HEAD
|
|
||||||
loading.value = true;
|
|
||||||
materialsUsageDetails({ physicalsupplyId: routeParams.value.id })
|
|
||||||
.then((res) => {
|
|
||||||
tableData.value = res.rows;
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
loading.value = false;
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
loading.value = false;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
=======
|
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
materialsUsageDetails({ physicalsupplyId: routeParams.value.id }).then(res => {
|
materialsUsageDetails({ physicalsupplyId: routeParams.value.id }).then(res => {
|
||||||
tableData.value = res.rows
|
tableData.value = res.rows
|
||||||
@ -558,7 +544,6 @@ const materialsUsageDetails1 = () => {
|
|||||||
loading.value = false;
|
loading.value = false;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
>>>>>>> 8f9972343a005ce4424fbf2e3b2388060c854b5f
|
|
||||||
// 格式化日期
|
// 格式化日期
|
||||||
const formatDate = (dateString) => {
|
const formatDate = (dateString) => {
|
||||||
if (!dateString) return '-';
|
if (!dateString) return '-';
|
||||||
|
@ -350,7 +350,7 @@ const handleDelete = async (row?: ConstructionValueVO) => {
|
|||||||
|
|
||||||
/** 审核按钮操作 */
|
/** 审核按钮操作 */
|
||||||
const handleAudit = async (row?: ConstructionValueVO) => {
|
const handleAudit = async (row?: ConstructionValueVO) => {
|
||||||
proxy?.$tab.openPage('/out/constructionValue/indexEdit', '审核施工产值', {
|
proxy?.$tab.openPage('/approval/constructionValue/indexEdit', '审核施工产值', {
|
||||||
id: row?.id,
|
id: row?.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
|
@ -268,7 +268,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
/** 审核按钮操作 */
|
/** 审核按钮操作 */
|
||||||
const handleAudit = async (row?: MonthPlanVO) => {
|
const handleAudit = async (row?: MonthPlanVO) => {
|
||||||
proxy?.$tab.openPage('/out/designCompletion/indexEdit', '审核设计完工产值', {
|
proxy?.$tab.openPage('/approval/designCompletion/indexEdit', '审核设计完工产值', {
|
||||||
id: row?.id,
|
id: row?.id,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
|
@ -244,7 +244,7 @@ const handleDelete = async (row?: MonthPlanVO) => {
|
|||||||
|
|
||||||
/** 审核按钮操作 */
|
/** 审核按钮操作 */
|
||||||
const handleAudit = async (row?: MonthPlanVO) => {
|
const handleAudit = async (row?: MonthPlanVO) => {
|
||||||
proxy?.$tab.openPage('/out/monthPlan/indexEdit', '审核月度产值计划', {
|
proxy?.$tab.openPage('/approval/monthPlan/indexEdit', '审核月度产值计划', {
|
||||||
planMonth: row?.planMonth,
|
planMonth: row?.planMonth,
|
||||||
type: 'update'
|
type: 'update'
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user