a8d3c64e by lihua

连接器审批联调代码

1 parent a2ab5bd3
......@@ -94,7 +94,7 @@ export const getUserTenant = () => request({
// 获取企业信息
export const getEnterpriseData = (params) => request({
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/connector-invoke/detail-by-logonUser`,
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/enterprise/detail-by-logonUser`,
method: 'get',
params
})
......@@ -137,7 +137,7 @@ export const deleteConnector = (params) => request({
})
export const getConnectorDetail = (guid) => request({
url: `${import.meta.env.VITE_APP_CIRCULATION_PORTAL_URL}/tds-connector-identity/detail?guid=${guid}`,
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/tds-connector-identity/detail?guid=${guid}`,
method: 'get'
})
......
......@@ -22,7 +22,7 @@ export const rejectFlowData = (params, serviceTenantGuid:any=null) => request({
})
// 审批撤销
export const revokeFlowData = (params, serviceTenantGuid:any=null) => request({
url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/canal-flow${ serviceTenantGuid ? `?serviceTenantGuid=${serviceTenantGuid}` : '' }`,
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/connector-invoke/data/canal-flow${ serviceTenantGuid ? `?serviceTenantGuid=${serviceTenantGuid}` : '' }`,
method: 'post',
data: params
})
......
......@@ -882,8 +882,8 @@ const getTenant = () => {
flowDetail.value = data;
detailGuid.value = data.guid || '';
bizApproveState.value = data.bizApproveState || '';
crossPlatformApproveState.value = data.crossPlatformApproveState || '';
isEdit.value = (bizApproveState.value == 'Y' || crossPlatformApproveState.value == 'Y' || bizApproveState.value == 'A' || crossPlatformApproveState.value == 'A' || bizApproveState.value == 'B') ? false : true;
// crossPlatformApproveState.value = data.tdsApproveState || '';
isEdit.value = (bizApproveState.value == 'Y' || bizApproveState.value == 'E' || crossPlatformApproveState.value == 'Y' || bizApproveState.value == 'A' || crossPlatformApproveState.value == 'A' || bizApproveState.value == 'B') ? false : true;
contentFormItems.value[1].disabled = bizApproveState.value == 'Y' || crossPlatformApproveState.value == 'Y' ? true : false;
tableData.value = data.changeList || [];
orgData.value = data.domainRSVOS?.map(d => {
......@@ -920,7 +920,7 @@ const getTenant = () => {
getDataType('机构类型', 'tenantTypeVal'),
getDataType('证件类型', 'juridicalPersonIdType'),
getDataType('组织机构性质', 'institutionType'),
getDeploymentId('10013')
// getDeploymentId('10013')
)
if (userData.tenantName != '非认证会员') {
getTenantData()
......@@ -959,14 +959,14 @@ const getTenantData = () => {
}
// 获取流程信息
const getDeploymentId = (flowType: any) => {
return getCamundaDeploymentId(flowType, userData.tenantGuid, userData.staffGuid).then((res: any) => {
if (res.code == proxy.$passCode) {
} else {
ElMessage.error(res.msg);
}
})
}
// const getDeploymentId = (flowType: any) => {
// return getCamundaDeploymentId(flowType, userData.tenantGuid, userData.staffGuid).then((res: any) => {
// if (res.code == proxy.$passCode) {
// } else {
// ElMessage.error(res.msg);
// }
// })
// }
const setTableField = () => {
tableField.value.splice(2);
......@@ -1014,7 +1014,7 @@ const setTableField = () => {
}
}
return scope.row.after && getChildLabel(industryList.value) || [];
} else {
} else {
return scope.row.after || '--';
}
}
......@@ -1169,7 +1169,7 @@ const subSave = (params) => {
const changeApprove = (params) => {
loading.value = true;
changeApproveSave(params).then((res: any) => {
enterpriseSave(params).then((res: any) => {
loading.value = false;
if (res.code == proxy.$passCode) {
ElMessage.success('认证信息变更申请成功');
......@@ -1279,15 +1279,34 @@ const btnClick = async (btn, bType = null) => {
}
params.attachmentRQVOS = attachmentRQVOS;
if (bizApproveState.value == 'Y' && crossPlatformApproveState.value == 'Y') {
let flowParams: any = {};
flowParams.flowType = '10014';
flowParams.bizGuid = detailGuid.value;
flowParams.sourceApproveGuid = flowDetail.value.approveVO.approveGuid;
flowParams.bizDataJson = JSON.stringify(params);
flowParams.oldBizDataJson = JSON.stringify(flowDetail.value);
flowParams.isDraft = type == 'submit' ? 'N' : 'Y';
changeApprove(flowParams);
if (bizApproveState.value == 'Y') {
params.immediateApprove = true;
params.bizApproveState = 'A';
params.isRestart = false;
params.isChange = 'Y';
loading.value = true;
enterpriseUpdate(params).then((res: any) => {
loading.value = false;
if (res.code == proxy.$passCode) {
ElMessage.success('编辑认证信息提交申请成功');
bizApproveState.value = 'A';
setFormDisable();
} else {
ElMessage.error(res.msg);
}
}).catch((xhr) => {
loading.value = false;
ElMessage.error(xhr.response.data.msg);
});
// let flowParams: any = {};
// flowParams.flowType = '10014';
// flowParams.bizGuid = detailGuid.value;
// // flowParams.sourceApproveGuid = flowDetail.value.approveVO.approveGuid;
// flowParams.bizDataJson = JSON.stringify(params);
// flowParams.oldBizDataJson = JSON.stringify(flowDetail.value);
// flowParams.isDraft = type == 'submit' ? 'N' : 'Y';
// changeApprove(flowParams);
} else {
if (type == 'submit') {
params.immediateApprove = true;
......@@ -1337,7 +1356,7 @@ const btnClick = async (btn, bType = null) => {
});
} else if (type == 'cancel') {
setFormItems();
if (bizApproveState.value == 'Y' && crossPlatformApproveState.value == 'Y') {
if (bizApproveState.value == 'Y') {
setFormDisable();
}
} else if (type == 'change') {
......@@ -1613,8 +1632,8 @@ const viewVoucherFile = () => {
<div class="empty_tips" v-else>暂无变更信息</div>
</div>
</ContentWrap>
<ContentWrap title="认证结果信息" v-if="bizApproveState == 'Y' && crossPlatformApproveState == 'Y' && !isEdit" expandSwicth style="margin-top: 15px" :isExpand="expandResult"
@expand="(v) => expandResult = v">
<ContentWrap title="认证结果信息" v-if="bizApproveState == 'Y' && !isEdit" expandSwicth style="margin-top: 15px"
:isExpand="expandResult" @expand="(v) => expandResult = v">
<div class="list_panel">
<div class="list_item">
<span class="item_label">认证时间:</span>
......@@ -1641,7 +1660,7 @@ const viewVoucherFile = () => {
@click="btnClick({ value: 'save' })">保存</el-button> -->
<el-button type="primary" @click="btnClick({ value: 'submit' })">提交</el-button>
</div>
<div class="btns" v-else-if="bizApproveState == 'Y' && crossPlatformApproveState == 'Y' && !isEdit">
<div class="btns" v-else-if="bizApproveState == 'Y' && !isEdit">
<el-button type="primary" @click="btnClick({ value: 'change' })">变更认证</el-button>
</div>
</div>
......
......@@ -7,7 +7,7 @@ import { ref } from 'vue';
import TableTools from "@/components/Tools/table_tools.vue";
import { ElMessage, ElMessageBox } from 'element-plus';
import { getParamsList } from "@/api/modules/queryService";
import { getTaskGressList, getTaskRestart, getTaskExecutionLog, getFlowEnterpriseList, enterpriseDelete, enterpriseChangeDelete } from "@/api/modules/dataRequire";
import { getTaskGressList, getTaskRestart, getTaskExecutionLog, getEnterpriseList, enterpriseDelete, enterpriseChangeDelete } from "@/api/modules/dataRequire";
import { passFlowData, rejectFlowData, myLastNode } from "@/api/modules/workFlowService";
import useDataAssetStore from "@/store/modules/dataAsset";
import Moment from "moment";
......@@ -67,69 +67,79 @@ const handleApprovalDialogCancel = () => {
const tableFields: any = ref([
{ label: "序号", type: "index", width: 56, align: "center" },
{ label: "企业名称", field: "param1", width: 200, },
{ label: "统一社会信用代码", field: "param3", width: 160 },
{ label: "企业名称", field: "tenantName", width: 200, },
{
label: "法人姓名", field: "juridicalPerson", width: TableColumnWidth.USERNAME, getName: (scope) => {
const param4 = scope.row.param4 || '';
return param4 ? param4.split('_')[0] : '--'
label: "机构类型", field: "tenantType", width: 120, getName: (scope) => {
const datas = typeMap.value?.tenantType;
return datas?.find((item) => item.value == scope.row.tenantType)?.label || '--';
}
},
{ label: "统一社会信用代码", field: "socialCreditCode", width: 160 },
{
label: "管理员姓名", field: "contacts", width: TableColumnWidth.USERNAME, getName: (scope) => {
const param4 = scope.row.param4 || '';
return param4 ? param4.split('_')[1] : '--'
}
label: "法人姓名", field: "juridicalPerson", width: TableColumnWidth.USERNAME,
// getName: (scope) => {
// const param4 = scope.row.param4 || '';
// return param4 ? param4.split('_')[0] : '--'
// }
},
{
label: "管理员手机号", field: "contactTel", width: 120, getName: (scope) => {
const param4 = scope.row.param4 || '';
return param4 ? param4.split('_')[2] : '--'
}
label: "管理员姓名", field: "contacts", width: TableColumnWidth.USERNAME,
// getName: (scope) => {
// const param4 = scope.row.param4 || '';
// return param4 ? param4.split('_')[1] : '--'
// }
},
{
label: "审批状态", field: "bizApproveState", type: "tag", width: TableColumnWidth.STATE, align: 'center', getName: (scope) => {
const approveState = scope.row.bizApproveState
switch (approveState) {
case 'N':
return '草稿中';
case 'A':
return '审批中';
case 'Y':
return '已通过';
case 'R':
return '已驳回';
case 'C':
return '已撤销';
case 'D':
return '已废弃';
default:
return '--';
}
}, tagType: (scope) => {
const approveState = scope.row.bizApproveState
switch (approveState) {
case 'A':
return 'warning';
case 'Y':
return 'success';
case 'R':
return 'danger';
default:
return 'info';
}
}
label: "管理员手机号", field: "contactTel", width: 120,
// getName: (scope) => {
// const param4 = scope.row.param4 || '';
// return param4 ? param4.split('_')[2] : '--'
// }
},
{
label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
label: '查看', visible: (scope) => {
return scope.row.crossPlatformApproveState != null;
}, click: (scope) => {
systemApproveCurrentRowInfo.value = scope.row;
approvalDialogVisible.value = true;
}
}
label: "审批状态", field: "bizApproveState", type: "tag", width: TableColumnWidth.STATE, align: 'center',
// getName: (scope) => {
// const approveState = scope.row.bizApproveState
// switch (approveState) {
// case 'N':
// return '草稿中';
// case 'A':
// return '审批中';
// case 'Y':
// return '已通过';
// case 'R':
// return '已驳回';
// case 'C':
// return '已撤销';
// case 'D':
// return '已废弃';
// default:
// return '--';
// }
// }, tagType: (scope) => {
// const approveState = scope.row.bizApproveState
// switch (approveState) {
// case 'A':
// return 'warning';
// case 'Y':
// return 'success';
// case 'R':
// return 'danger';
// default:
// return 'info';
// }
// }
},
// {
// label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
// label: '查看', visible: (scope) => {
// return scope.row.crossPlatformApproveState != null;
// }, click: (scope) => {
// systemApproveCurrentRowInfo.value = scope.row;
// approvalDialogVisible.value = true;
// }
// }
// },
{
label: "提交时间", field: "createTime", width: TableColumnWidth.DATETIME, getName: (scope) => {
return scope.row.createTime ? Moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '--';
......@@ -166,7 +176,7 @@ const tableInfo = ref({
actionInfo: {
label: "操作",
type: "btn",
width: 180,
width: 170,
btns: (scope) => {
let row = scope.row;
return getTableBtns(row);
......@@ -176,34 +186,36 @@ const tableInfo = ref({
const getTableBtns = (row, includeDetail = true) => {
let btnsArr: any[] = [];
const currentStaffGuid = userData.staffGuid;
const approveState = row.bizApproveState || 'N';
const approveStaffGuids = row.approveStaffGuids || [];
const staffGuid = row.staffGuid || '';
const currentStaffGuid = userData.userGuid
const approveState = row.approveState;
const staffGuid = row.createUserId || '';
let flowState;
if (approveState == 'N' && staffGuid == currentStaffGuid) {
flowState = 1;
}
if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
flowState = 2;
}
// if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
// flowState = 2;
// }
if ((approveState == 'C' || approveState == 'R') && staffGuid == currentStaffGuid) {
flowState = 3;
}
if (row.flowType == '10013' && approveState == 'Y') {
flowState = 4;
}
// if (row.flowType == '10013' && approveState == 'Y') {
// flowState = 4;
// }
btnsArr.push({ label: "详情", value: "detail" })
if (flowState === 1) {
btnsArr.push({ label: "删除", value: "delete" })
} else if (flowState === 2) {
btnsArr.push(...[{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }])
} else if (flowState === 3) {
}
// else if (flowState === 2) {
// btnsArr.push(...[{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }])
// }
else if (flowState === 3) {
btnsArr.push({ label: "删除", value: "delete" })
} else if (flowState === 4) {
btnsArr.push({ label: "查看进度", value: "progress" })
}
// else if (flowState === 4) {
// btnsArr.push({ label: "查看进度", value: "progress" })
// }
return btnsArr
}
......@@ -214,7 +226,7 @@ const getTableBtns = (row, includeDetail = true) => {
const promiseList = async (...promises: Promise<void>[]) => {
try {
await Promise.all(promises).then((res) => {
setTableField();
// setTableField();
});
} catch (e) {
loading.value = false;
......@@ -235,15 +247,6 @@ const getDataType = (dictType, fieldName) => {
})
}
const setTableField = () => {
tableFields.value.splice(2, 0, {
label: "机构类型", field: "tenantType", width: 120, getName: (scope) => {
const datas = typeMap.value.tenantType;
return datas.find((item) => item.value == scope.row.param2)?.label || '--';
}
});
}
const toSearch = (val: any, clear: boolean = false) => {
page.value.curr = 1;
if (clear) {
......@@ -261,11 +264,11 @@ const toSearch = (val: any, clear: boolean = false) => {
const getTableData = () => {
tableInfo.value.loading = true;
getFlowEnterpriseList({
getEnterpriseList({
pageSize: page.value.limit,
pageIndex: page.value.curr,
param1Like: page.value.tenantName,
param2: page.value.tenantType,
tenantName: page.value.tenantName,
tenantType: page.value.tenantType,
flowTypeList: ["10013", "10014"],
tenantGuid: userData.tenantGuid,
staffGuid: userData.staffGuid,
......@@ -292,7 +295,7 @@ const tableBtnClick = (scope, btn) => {
if (type === 'detail') { // 详情
router.push({
name: 'certificationAuditDetail',
query: { guid: row.flowType == '10014' ? row.objectGuid : row.bizGuid, name: row.param1, tName: row.tenantName, fType: row.flowType, bizGuid: row.bizGuid, type }
query: { guid: row.guid, name: row.tenantName, tName: row.tenantName, fType: row.flowType, type }
});
} else if (type == "delete") {
delTableOpen("此操作将永久删除该认证信息,是否继续?", "warning");
......
......@@ -27,7 +27,7 @@ const detailType = route.query.type;
const tName = route.query.tName;
const fType = route.query.fType;
const bizGuid = route.query.bizGuid;
const bizGuid = route.query.guid;
const loading = ref(false);
const flowDetail: any = ref({});
const approveState = ref('');
......@@ -1130,12 +1130,27 @@ onActivated(() => {
}
})
const getIndustryParamsList = () => {
return getParamsList({ dictType: '行业分类' }).then((res: any) => {
if (res?.code == proxy.$passCode) {
industryList.value = res.data || [];
let index = contentFormItems.value.findIndex(item => item.field == 'industry');
let item = contentFormItems.value[index];
item.options = industryList.value;
contentFormItems.value[index + 1].options = !item.default ? [] : industryList.value.find(i => i.value == item.default)?.childDictList || [];
} else {
res?.msg && proxy.$ElMessage.error(res?.msg);
}
})
}
onBeforeMount(() => {
if (fType == '10014') {
promiseList(
() => getDataType('机构类型', 'tenantType'),
() => getDataType('证件类型', 'juridicalPersonIdType'),
() => getDataType('组织机构性质', 'institutionType'),
() => getIndustryParamsList(),
() => getDetail(),
() => getChangeDetail()
)
......@@ -1144,20 +1159,10 @@ onBeforeMount(() => {
() => getDataType('机构类型', 'tenantType'),
() => getDataType('证件类型', 'juridicalPersonIdType'),
() => getDataType('组织机构性质', 'institutionType'),
() => getIndustryParamsList(),
() => getDetail(),
)
}
getParamsList({ dictType: '行业分类' }).then((res: any) => {
if (res?.code == proxy.$passCode) {
industryList.value = res.data || [];
let index = contentFormItems.value.findIndex(item => item.field == 'industry');
let item = contentFormItems.value[index];
item.options = industryList.value;
contentFormItems.value[index + 1].options = !item.default ? [] : industryList.value.find(i => i.value == item.default)?.childDictList || [];
} else {
res?.msg && proxy.$ElMessage.error(res?.msg);
}
})
})
const orgTableRef = ref();
......@@ -1214,21 +1219,54 @@ const viewVoucherFile = () => {
<template>
<div class="container_wrap full" v-loading="loading">
<div class="content_main panel">
<div
v-if="detailType == 'detail' && (flowDetail.crossPlatformApproveState == 'R' || flowDetail.crossPlatformApproveState == 'E')"
:class="['panel_wrap', 'results_panel', 'reject']">
<div v-if="detailType == 'detail' && flowDetail.bizApproveState"
:class="['panel_wrap', 'results_panel', flowDetail.bizApproveState == 'Y' ? 'success' : ((flowDetail.bizApproveState == 'R' || flowDetail.bizApproveState == 'E') ? 'reject' : (flowDetail.bizApproveState == 'C' ? 'revoke' : 'audit'))]">
<div class="panel_header">
<div class="header_title" v-if="flowDetail.crossPlatformApproveState == 'R'">
<div class="header_title" v-if="flowDetail.bizApproveState == 'Y'">
<el-icon class="title-icon">
<svg-icon name="icon-success" />
</el-icon>
<span class="title_text">审批通过</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'R'">
<el-icon class="title-icon">
<CircleCloseFilled />
</el-icon>
<span class="title_text">主平台审批已驳回,请在列表页面查看具体驳回原因</span>
<span class="title_text">审批被驳回</span>
</div>
<div class="header_title" v-else-if="flowDetail.crossPlatformApproveState == 'E'">
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'E'">
<el-icon class="title-icon">
<CircleCloseFilled />
</el-icon>
<span class="title_text">主平台审批发起失败,请在列表页面查看具体发起失败原因</span>
<span class="title_text">审批发起失败</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'A'">
<el-icon class="title-icon">
<svg-icon name="icon-audit" />
</el-icon>
<span class="title_text">审批中</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'C'">
<el-icon class="title-icon">
<svg-icon name="icon-revoke" />
</el-icon>
<span class="title_text">已撤销</span>
</div>
</div>
<div class="panel_body" v-if="flowDetail.bizApproveState == 'R'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">审批意见:</span>
<span class="item_value">{{ flowDetail?.tdsApproveSuggest || '--' }}</span>
</div>
</div>
</div>
<div class="panel_body" v-if="flowDetail.bizApproveState == 'E'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">失败原因:</span>
<span class="item_value">{{ flowDetail?.tdsApproveErrorMsg || '--' }}</span>
</div>
</div>
</div>
</div>
......@@ -1284,9 +1322,9 @@ const viewVoucherFile = () => {
<div class="empty_tips" v-else>暂无变更信息</div>
</div>
</ContentWrap>
<ContentWrap title="认证结果信息" v-if="approveState == 'Y'" expandSwicth style="margin-top: 15px" :isExpand="expandResult"
@expand="(v) => expandResult = v">
<div class="list_panel">
<ContentWrap title="认证结果信息" v-if="approveState == 'Y'" expandSwicth style="margin-top: 15px"
:isExpand="expandResult" @expand="(v) => expandResult = v">
<div class="list_panel">
<div class="list_item">
<span class="item_label">认证时间:</span>
<span class="item_value">{{ flowDetail.credentialTime || '--' }}</span>
......@@ -1298,21 +1336,21 @@ const viewVoucherFile = () => {
</div>
</div>
</ContentWrap>
<ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expand6"
<!-- <ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expand6"
@expand="(v) => expand6 = v">
<ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId"
:processInstanceId="processInstanceId">
</ApprovalProcess>
</ContentWrap>
</ContentWrap> -->
</div>
<div class="tool_btns">
<div class="btns">
<el-button @click="btnClick({ value: 'cancel' })" v-if="detailType == 'detail'">关闭</el-button>
<el-button @click="btnClick({ value: 'cancel' })" v-else>取消</el-button>
<!-- <el-button @click="btnClick({ value: 'cancel' })" v-else>取消</el-button>
<el-button type="primary" @click="btnClick({ value: 'pass' })"
v-if="approveState == 'A' && flowState == 2">通过</el-button>
<el-button type="danger" plain @click="btnClick({ value: 'reject' })"
v-if="approveState == 'A' && flowState == 2">驳回</el-button>
v-if="approveState == 'A' && flowState == 2">驳回</el-button> -->
</div>
</div>
<Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" />
......@@ -1493,6 +1531,19 @@ const viewVoucherFile = () => {
}
}
&.success {
background-color: #F4FEF6;
box-shadow: 0 0 0 1px #4FA55D;
.panel_header {
.header_title {
.el-icon {
color: #4FA55D;
}
}
}
}
&.reject {
background-color: #FDF2F4;
box-shadow: 0 0 0 1px #E63E33;
......@@ -1505,6 +1556,32 @@ const viewVoucherFile = () => {
}
}
}
&.audit {
background-color: #FEFBF3;
box-shadow: 0 0 0 1px #F19E40;
.panel_header {
.header_title {
.el-icon {
color: #F19E40;
}
}
}
}
&.revoke {
background-color: #F5F5F5;
box-shadow: 0 0 0 1px #CCCCCC;
.panel_header {
.header_title {
.el-icon {
color: #666666;
}
}
}
}
}
}
......
......@@ -37,14 +37,13 @@ const toolBtns: any = computed(() => {
let btnsArr: any = [{
label: "关闭", value: "cancel", plain: true
}];
let approveVO = flowDetail.value.approveVO;
let staffGuid = userData.staffGuid;
if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) {
btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]);
}
if (approveVO && approveVO.approveState == 'A' && approveVO.staffGuid == staffGuid) {
btnsArr.push({ label: "撤销", value: "revoke" });
}
let staffGuid = userData.userGuid;
// if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) {
// btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]);
// }
// if (flowDetail.value.approveState == 'A' && flowDetail.value.createUserId == staffGuid) {
// btnsArr.push({ label: "撤销", value: "revoke" });
// }
return btnsArr;
});
......@@ -257,8 +256,8 @@ const getDetail = () => {
if (res?.code == proxy.$passCode) {
flowDetail.value = res.data || {};
flowDetail.value.accessMethodName = assessMethodList.find(a => a.value == flowDetail.value.accessMethod)?.label;
deploymentId.value = res.data.approveVO.camundaDeploymentId
processInstanceId.value = res.data.approveVO.camundaInstanceId
// deploymentId.value = res.data.approveVO.camundaDeploymentId
// processInstanceId.value = res.data.approveVO.camundaInstanceId
flowDetail.value.tdsConnectorVerifiable.thirdPartyCertification = [];
} else {
proxy.$ElMessage.error(res.msg);
......@@ -291,20 +290,54 @@ const fileKeyNames = ref({
<template>
<div class="container_wrap full" v-loading="fullscreenloading">
<div class="content_main panel">
<div v-if="flowDetail.crossPlatformApproveState == 'R' || flowDetail.crossPlatformApproveState == 'E'"
:class="['panel_wrap', 'results_panel', 'reject']">
<div v-if="flowDetail.bizApproveState"
:class="['panel_wrap', 'results_panel', flowDetail.bizApproveState == 'Y' ? 'success' : ((flowDetail.bizApproveState == 'R' || flowDetail.bizApproveState == 'E') ? 'reject' : (flowDetail.bizApproveState == 'C' ? 'revoke' : 'audit'))]">
<div class="panel_header">
<div class="header_title" v-if="flowDetail.crossPlatformApproveState == 'R'">
<div class="header_title" v-if="flowDetail.bizApproveState == 'Y'">
<el-icon class="title-icon">
<svg-icon name="icon-success" />
</el-icon>
<span class="title_text">审批通过</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'R'">
<el-icon class="title-icon">
<CircleCloseFilled />
</el-icon>
<span class="title_text">主平台审批已驳回,请在列表页面查看具体驳回原因</span>
<span class="title_text">审批被驳回</span>
</div>
<div class="header_title" v-else-if="flowDetail.crossPlatformApproveState == 'E'">
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'E'">
<el-icon class="title-icon">
<CircleCloseFilled />
</el-icon>
<span class="title_text">主平台审批发起失败,请在列表页面查看具体发起失败原因</span>
<span class="title_text">审批发起失败</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'A'">
<el-icon class="title-icon">
<svg-icon name="icon-audit" />
</el-icon>
<span class="title_text">审批中</span>
</div>
<div class="header_title" v-else-if="flowDetail.bizApproveState == 'C'">
<el-icon class="title-icon">
<svg-icon name="icon-revoke" />
</el-icon>
<span class="title_text">已撤销</span>
</div>
</div>
<div class="panel_body" v-if="flowDetail.bizApproveState == 'R'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">平台审批意见:</span>
<span class="item_value">{{ flowDetail?.tdsApproveSuggest || '--' }}</span>
</div>
</div>
</div>
<div class="panel_body" v-if="flowDetail.bizApproveState == 'E'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">失败原因:</span>
<span class="item_value">{{ flowDetail?.tdsApproveErrorMsg || '--' }}</span>
</div>
</div>
</div>
</div>
......@@ -447,12 +480,12 @@ const fileKeyNames = ref({
</template>
</div>
</ContentWrap>
<ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expandApprove"
<!-- <ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expandApprove"
@expand="(v) => expandApprove = v">
<ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId"
:processInstanceId="processInstanceId">
</ApprovalProcess>
</ContentWrap>
</ContentWrap> -->
<ContentWrap v-if="flowDetail.connectorIdentity" title="连接器凭证信息" expandSwicth style="margin-top: 15px" :isExpand="expandCert"
@expand="(v) => expandCert = v">
<div class="list_panel">
......@@ -471,12 +504,12 @@ const fileKeyNames = ref({
</div>
</div>
</ContentWrap>
<ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expandApprove"
<!-- <ContentWrap id="id-approveInfo" title="审核信息" expandSwicth style="margin-top: 15px" :isExpand="expandApprove"
@expand="(v) => expandApprove = v">
<ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId"
:processInstanceId="processInstanceId">
</ApprovalProcess>
</ContentWrap>
</ContentWrap> -->
</div>
<div class="tool_btns">
<div class="btns">
......@@ -683,18 +716,57 @@ const fileKeyNames = ref({
}
}
&.reject {
background-color: #FDF2F4;
box-shadow: 0 0 0 1px #E63E33;
&.success {
background-color: #F4FEF6;
box-shadow: 0 0 0 1px #4FA55D;
.panel_header {
.header_title {
.el-icon {
color: #E63E33;
.panel_header {
.header_title {
.el-icon {
color: #4FA55D;
}
}
}
}
&.reject {
background-color: #FDF2F4;
box-shadow: 0 0 0 1px #E63E33;
.panel_header {
.header_title {
.el-icon {
color: #E63E33;
}
}
}
}
&.audit {
background-color: #FEFBF3;
box-shadow: 0 0 0 1px #F19E40;
.panel_header {
.header_title {
.el-icon {
color: #F19E40;
}
}
}
}
&.revoke {
background-color: #F5F5F5;
box-shadow: 0 0 0 1px #CCCCCC;
.panel_header {
.header_title {
.el-icon {
color: #666666;
}
}
}
}
}
}
}
</style>
\ No newline at end of file
......
......@@ -69,50 +69,51 @@ const tableFields = ref([
}
},
{
label: "审批状态", field: "approveVO", type: "tag", width: 96, align: 'center', getName: (scope) => {
const approveVO = scope.row.approveVO || {}
switch (approveVO.approveState) {
case 'N':
return '草稿中';
case 'A':
return '审批中';
case 'Y':
return '已通过';
case 'R':
return '已驳回';
case 'C':
return '已撤销';
case 'I':
return '--';
default:
return '草稿中';
}
}, tagType: (scope) => {
const approveVO = scope.row.approveVO || {}
switch (approveVO.approveState) {
case 'A':
return 'warning';
case 'Y':
return 'success';
case 'R':
return 'danger';
default:
return 'info';
}
}
label: "审批状态", field: "bizApproveState", type: "tag", width: 96, align: 'center',
// getName: (scope) => {
// const approveVO = scope.row.approveVO || {}
// switch (approveVO.approveState) {
// case 'N':
// return '草稿中';
// case 'A':
// return '审批中';
// case 'Y':
// return '已通过';
// case 'R':
// return '已驳回';
// case 'C':
// return '已撤销';
// case 'I':
// return '--';
// default:
// return '草稿中';
// }
// }, tagType: (scope) => {
// const approveVO = scope.row.approveVO || {}
// switch (approveVO.approveState) {
// case 'A':
// return 'warning';
// case 'Y':
// return 'success';
// case 'R':
// return 'danger';
// default:
// return 'info';
// }
// }
},
// { label: "同步状态", field: "approveVO", type: "tag", },
// 专区才需要显示的
{
label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 170, align: 'center', btn: {
label: '查看', visible: (scope) => {
return scope.row.crossPlatformApproveState != null;
}, click: (scope) => {
systemApproveCurrentRowInfo.value = scope.row;
approvalDialogVisible.value = true;
}
}
},
// {
// label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 170, align: 'center', btn: {
// label: '查看', visible: (scope) => {
// return scope.row.crossPlatformApproveState != null;
// }, click: (scope) => {
// systemApproveCurrentRowInfo.value = scope.row;
// approvalDialogVisible.value = true;
// }
// }
// },
{ label: "法人或其他组织", field: "legalEntity", width: 200 },
{ label: "修改人", field: "updateUserName", width: 130 },
{ label: "修改时间", field: "updateTime", width: 170 },
......@@ -156,24 +157,22 @@ const tableInfo = ref({
const getTableBtns = (row, includeDetail = true) => {
let btnsArr: any[] = [];
const approveVO = row.approveVO;
const currentStaffGuid = userData.staffGuid
const bizApproveState = row.bizApproveState;
const approveState = approveVO?.approveState || 'N';
const approveStaffGuids = approveVO?.approveStaffGuids || [];
const staffGuid = approveVO?.staffGuid || '';
const currentStaffGuid = userData.userGuid;
const approveState = row.bizApproveState || 'N';
// const bizApproveState = row.bizApproveState;
const staffGuid = row?.createUserId || '';
let isShowCancel = false;
let flowState;
if (approveState == 'N') {
flowState = 1;
}
if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
flowState = 2;
}
if ((approveState == 'C' || approveState == 'R') && staffGuid == currentStaffGuid) {
// if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
// flowState = 2;
// }
if ((approveState == 'C' || approveState == 'E' || approveState == 'R') && staffGuid == currentStaffGuid) {
flowState = 3;
}
if (approveVO && approveVO.approveState == 'A' && staffGuid == currentStaffGuid) {
if (approveState == 'A' && staffGuid == currentStaffGuid) {
isShowCancel = true;
}
......@@ -181,12 +180,11 @@ const getTableBtns = (row, includeDetail = true) => {
btnsArr = [{ label: "编辑", value: "edit" }, { label: "删除", value: "delete" }]
} else {
btnsArr.push({ label: "详情", value: "detail" })
if (flowState === 2) {
btnsArr.push(...[{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }])
} else if (flowState === 3) {
if (bizApproveState != 'D') {
btnsArr.push({ label: "重新提交", value: "edit" })
}
// if (flowState === 2) {
// btnsArr.push(...[{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }])
// } else
if (flowState === 3) {
btnsArr.push({ label: "重新提交", value: "edit" })
}
isShowCancel && btnsArr.push({ label: "撤销", value: "revoke" })
flowState === 3 && btnsArr.push({ label: "删除", value: "delete" })
......@@ -312,10 +310,11 @@ const tablePageChange = (info) => {
};
const newCreate = () => {
if (tenantData.isCertification != 'Y') {
proxy.$ElMessage.error('请先进行企业认证,再新增连接器');
return;
}
// TODO,要不要加企业认证。
// if (tenantData.isCertification != 'Y') {
// proxy.$ElMessage.error('请先进行企业认证,再新增连接器');
// return;
// }
router.push({
name: 'settleStart'
});
......
......@@ -6,7 +6,6 @@ name: settleStart
import useUserStore from "@/store/modules/user";
import { useValidator } from "@/hooks/useValidator";
import useDataConnectorStore from "@/store/modules/dataConnector";
import { getCamundaDeploymentId } from "@/api/modules/workFlowService";
import {
saveConnector,
updateConnector,
......@@ -42,7 +41,7 @@ const expandImpact = ref(true);
const expandValid = ref(true);
const approveInfoExpand = ref(false);
const deploymentId = ref("");
// const deploymentId = ref("");
const processInstanceId = ref("");
/** 连接器身份信息表单配置 */
......@@ -591,15 +590,15 @@ const connectorDetailInfo: any = ref({});
onBeforeMount(() => {
if (!guid) {
getCamundaDeploymentId("10031", userData.tenantGuid, userData.staffGuid).then(
(res: any) => {
if (res.code == proxy.$passCode) {
deploymentId.value = res.data;
} else {
proxy.$ElMessage.error(res.msg);
}
}
);
// getCamundaDeploymentId("10031", userData.tenantGuid, userData.staffGuid).then(
// (res: any) => {
// if (res.code == proxy.$passCode) {
// deploymentId.value = res.data;
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// }
// );
fullscreenLoading.value = true;
getEnterpriseData({
logonUser: userData.tenantName == "非认证会员" ? userData.logonUser : tenantData.logonUser
......@@ -642,19 +641,19 @@ onBeforeMount(() => {
}
if (res1?.code == proxy.$passCode) {
let connectorDetail = connectorDetailInfo.value = res1?.data || {};
deploymentId.value = connectorDetail.approveVO?.camundaDeploymentId || '';
processInstanceId.value = connectorDetail.approveVO?.camundaInstanceId || '';
if (!deploymentId.value) {
getCamundaDeploymentId("10031", userData.tenantGuid, userData.staffGuid).then(
(res: any) => {
if (res.code == proxy.$passCode) {
deploymentId.value = res.data;
} else {
proxy.$ElMessage.error(res.msg);
}
}
);
}
// deploymentId.value = connectorDetail.approveVO?.camundaDeploymentId || '';
// processInstanceId.value = connectorDetail.approveVO?.camundaInstanceId || '';
// if (!deploymentId.value) {
// getCamundaDeploymentId("10031", userData.tenantGuid, userData.staffGuid).then(
// (res: any) => {
// if (res.code == proxy.$passCode) {
// deploymentId.value = res.data;
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// }
// );
// }
let approveVO = connectorDetail.approveVO || {};
if ((approveVO.approveState == 'C' || approveVO.approveState == 'R') && approveVO.staffGuid == userData.staffGuid && connectorDetail.bizApproveState != 'D') {
restart.value = true;
......@@ -714,11 +713,11 @@ onBeforeMount(() => {
<Form ref="validInfoFormRef" formId="valid-info-form" :itemList="validInfoFormItems" :rules="validInfoFormRules"
col="col3" />
</ContentWrap>
<ContentWrap id="id-approveInfo" title="审批信息" :isExpand="approveInfoExpand" expandSwicth style="margin-top: 15px"
<!-- <ContentWrap id="id-approveInfo" title="审批信息" :isExpand="approveInfoExpand" expandSwicth style="margin-top: 15px"
@expand="(v) => (approveInfoExpand = v)">
<ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :definitionId="''">
</ApprovalProcess>
</ContentWrap>
</ContentWrap> -->
</div>
<div class="tool_btns">
<div class="btns">
......
......@@ -11,7 +11,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
import useDataAssetStore from "@/store/modules/dataAsset";
import { getListingList, listingDelete, listingUpdateStatus, getListingCount, productRejectFlowData } from "@/api/modules/dataProduct";
import { TableColumnWidth } from '@/utils/enum';
import DialogApproval from '@/components/ApprovalProcess/dialog_approval.vue';
import TableTools from "@/components/Tools/table_tools.vue";
import Table from "@/components/Table/index.vue";
import { CarouselPanel } from '@/components/CarouselPanel';
......@@ -77,6 +77,18 @@ const page = ref({
});
const searchItemValue: any = ref({});
const currTableData: any = ref({});
const systemApproveCurrentRowInfo: any = ref({})
const approvalDialogVisible = ref(false);
const handleApprovalDialogCancel = (reSubmit) => {
approvalDialogVisible.value = false;
if (reSubmit) {
getTableData();
}
}
const tableInfo = ref({
id: "mapping-table",
fields: [
......@@ -94,44 +106,23 @@ const tableInfo = ref({
},
// { label: "上架分类", field: "exchangeName", width: 140 },
{
label: "审核状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => {
const approveVO = scope.row.approveVO || {}
switch (approveVO.approveState) {
case 'N':
return '草稿中';
case 'A':
return '审批中';
case 'Y':
return '已通过';
case 'R':
return '已驳回';
case 'C':
return '已撤销';
case 'I':
return '--';
default:
return '草稿中';
}
}, tagType: (scope) => {
const approveVO = scope.row.approveVO || {}
switch (approveVO.approveState) {
case 'A':
return 'warning';
case 'Y':
return 'success';
case 'R':
return 'danger';
default:
return 'info';
}
}
label: "审批状态", field: "approveState", type: "tag", width: TableColumnWidth.STATE, align: 'center'
},
{
label: '上架状态', field: 'listingStatus', width: 100, getName: (scope) => {
return scope.row.listingStatus == 'Y' ? '已上架' : '未上架';
}
},
{ label: "专区名称", field: "zqName", width: 160, align: "left" },
// {
// label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
// label: '查看', visible: (scope) => {
// return scope.row.crossPlatformApproveState != null;
// }, click: (scope) => {
// systemApproveCurrentRowInfo.value = scope.row;
// approvalDialogVisible.value = true;
// }
// }
// },
{ label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME },
],
loading: false,
......@@ -147,29 +138,35 @@ const tableInfo = ref({
width: 170,
btns: (scope) => {
const { row } = scope;
const approveVO = row.approveVO || {};
const currentStaffGuid = userData.staffGuid
const bizApproveState = row.approveState;
const approveState = approveVO.approveState || null;
const approveStaffGuids = approveVO.approveStaffGuids || [];
const staffGuid = approveVO.staffGuid || '';
let isShowCancel = false;
let flowState;
let list: any = [];
if (approveState == 'N') {
if (bizApproveState == 'N') {
flowState = 1;
}
if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
flowState = 2;
const currentStaffGuid = userData.userGuid
// const bizApproveState = row.approveState;
// const approveState = approveVO.approveState || null;
// const approveStaffGuids = approveVO.approveStaffGuids || [];
const staffGuid = row.createUserId || '';
let isShowCancel = false;
// let flowState;
let list: any = [];
if (bizApproveState == 'N') {
flowState = 1;
}
if ((bizApproveState == 'D' || approveState == 'C' || approveState == 'R') && staffGuid == currentStaffGuid) {
// // 审批中包含。
// if (approveState == 'A' && approveStaffGuids.indexOf(currentStaffGuid) > -1) {
// flowState = 2;
// }
if ((bizApproveState == 'D' || bizApproveState == 'C' || bizApproveState == 'R' || bizApproveState == 'E' || bizApproveState == 'R') && staffGuid == currentStaffGuid) {
flowState = 3;
}
if (approveVO && approveVO.approveState == 'A' && staffGuid == currentStaffGuid) {
if (bizApproveState == 'A' && staffGuid == currentStaffGuid) {
isShowCancel = true;
}
if (bizApproveState === 'Y' && staffGuid == currentStaffGuid && !row.zqName) {
if (row.listingStatus === 'Y') {
if ((bizApproveState === 'Y') && staffGuid == currentStaffGuid) {
if (row.listingStatus == 'Y') {
list.push({ label: "下架", value: "down" });
} else {
list.push({ label: "上架", value: "up" });
......@@ -178,16 +175,16 @@ const tableInfo = ref({
if (flowState === 1) {
list = [{ label: "编辑", value: "edit" }, { label: "删除", value: "del" }]
}
if (flowState === 2) {
list = [{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }]
}
if (flowState === 3 && !row.zqName) {
// if (flowState === 2) {
// list = [{ label: "通过", value: "pass" }, { label: "驳回", value: "reject" }]
// }
if (flowState === 3) {
list.push({ label: "删除", value: "del" })
}
if (flowState === 3 && bizApproveState != 'D' && !row.zqName) {
if (flowState === 3) { //重新提交过的不能再重新提交 && bizApproveState != 'D'
list.push({ label: "重新提交", value: "redit" }) //已驳回
}
if (isShowCancel && !row.zqName) {
if (isShowCancel) {
list.push({ label: "撤销", value: "revoke" })
}
if (flowState !== 1) {
......@@ -409,10 +406,6 @@ const tableBtnClick = (scope, btn) => {
}
if (type == 'pass') {
if (row.zqName) {
passCommonDialogInfo.value.visible = true;
return;
}
if (getFirstNodePromise.value[row.guid]) {
return;
}
......@@ -444,10 +437,6 @@ const tableBtnClick = (scope, btn) => {
})
}
if (type == 'reject') {
if (row.zqName) {
rejectDialogInfo.value.visible = true;
return;
}
if (getFirstNodePromise1.value[row.guid]) {
return;
}
......@@ -1013,6 +1002,7 @@ const rejectDialogBtnClick = (btn, info) => {
</el-dialog>
<Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
<Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
<DialogApproval :visible="approvalDialogVisible" :currentRowInfo="systemApproveCurrentRowInfo" @dialog-cancel="handleApprovalDialogCancel"></DialogApproval>
</div>
</template>
......
......@@ -340,17 +340,19 @@ const formInfo = ref<any>({
required: true,
visible: true,
},
// {
// label: "登记数交所",
// type: "input",
// placeholder: "请输入",
// field: "exchangeName",
// default: route.query.exchangeName ? route.query.exchangeName : '',
// clearable: true,
// disabled: true,
// required: true,
// visible: true
// },
{
label: "登记数交所",
type: "input",
placeholder: "请输入",
field: "exchangeName",
default: route.query.exchangeName ? route.query.exchangeName : '',
clearable: true,
disabled: true,
required: true,
visible: true
}, {
label: '产品描述',
type: 'textarea-rich',
placeholder: '该数据资产主要包含的信息,数据更新方式等',
......@@ -389,127 +391,127 @@ const formInfo = ref<any>({
// width: 'calc(33.33% - 20px)!important'
// },
},
{
label: '登记证',
tip: '支持扩展名:.jpg .png .jpeg',
accept: '.jpg, .png, .jpeg ',
type: 'upload-file',
placeholder: '请选择',
field: 'registrationCertificateInfo',
default: [],
limit: 1,
block: false,
required: false,
visible: true
},
{
label: '质量评估报告',
tip: '支持扩展名:.png .pdf',
accept: '.png, .pdf',
type: 'upload-file',
placeholder: '请选择',
field: 'qualityEvaluationFileInfo',
default: [],
limit: 1,
block: false,
required: false,
visible: true
},
{
label: "质量评估机构",
type: "select",
placeholder: "请选择",
field: "qualityEvaluationInstitution",
default: '',
options: [],
props: {
value: 'tenantName',
label: 'tenantName'
},
allowCreate: true,
filterable: true,
clearable: true,
disabled: false,
required: false,
visible: true,
col: 'mr8',
style: {
// / width: 'calc(50% - 16px)!important'
},
},
{
label: '价值评估报告',
tip: '支持扩展名:.png .pdf',
accept: '.png, .pdf',
type: 'upload-file',
placeholder: '请选择',
field: 'costAssessmentFileInfo',
default: [],
limit: 1,
block: false,
required: false,
visible: true
},
{
label: "价值评估机构",
type: "select",
placeholder: "请选择",
field: "costAssessmentInstitution",
default: '',
options: [],
props: {
value: 'tenantName',
label: 'tenantName'
},
allowCreate: true,
filterable: true,
clearable: true,
disabled: false,
required: false,
visible: true
},
{
label: '承诺函',
tip: '支持扩展名:.png .pdf',
accept: '.png, .pdf',
type: 'upload-file',
placeholder: '请选择',
field: 'commitmentLetterInfo',
templateUrl: '',
default: [],
limit: 1,
block: true,
required: true,
visible: true
},
{
label: '授权文件',
tip: '支持扩展名:.png .pdf',
accept: '.png, .pdf',
type: 'upload-file',
placeholder: '请选择',
field: 'accreditFileInfo',
templateUrl: '',
default: [],
limit: 1,
block: true,
required: true,
visible: true
},
{
label: '商品详细介绍(签章版)',
tip: '支持扩展名:.png .pdf',
accept: '.png, .pdf',
type: 'upload-file',
placeholder: '请选择',
field: 'productDetailInfo',
templateUrl: '',
default: [],
limit: 1,
block: true,
required: true,
visible: true
},
// {
// label: '登记证',
// tip: '支持扩展名:.jpg .png .jpeg',
// accept: '.jpg, .png, .jpeg ',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'registrationCertificateInfo',
// default: [],
// limit: 1,
// block: false,
// required: false,
// visible: true
// },
// {
// label: '质量评估报告',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'qualityEvaluationFileInfo',
// default: [],
// limit: 1,
// block: false,
// required: false,
// visible: true
// },
// {
// label: "质量评估机构",
// type: "select",
// placeholder: "请选择",
// field: "qualityEvaluationInstitution",
// default: '',
// options: [],
// props: {
// value: 'tenantName',
// label: 'tenantName'
// },
// allowCreate: true,
// filterable: true,
// clearable: true,
// disabled: false,
// required: false,
// visible: true,
// col: 'mr8',
// style: {
// // / width: 'calc(50% - 16px)!important'
// },
// },
// {
// label: '价值评估报告',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'costAssessmentFileInfo',
// default: [],
// limit: 1,
// block: false,
// required: false,
// visible: true
// },
// {
// label: "价值评估机构",
// type: "select",
// placeholder: "请选择",
// field: "costAssessmentInstitution",
// default: '',
// options: [],
// props: {
// value: 'tenantName',
// label: 'tenantName'
// },
// allowCreate: true,
// filterable: true,
// clearable: true,
// disabled: false,
// required: false,
// visible: true
// },
// {
// label: '承诺函',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'commitmentLetterInfo',
// templateUrl: '',
// default: [],
// limit: 1,
// block: true,
// required: true,
// visible: true
// },
// {
// label: '授权文件',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'accreditFileInfo',
// templateUrl: '',
// default: [],
// limit: 1,
// block: true,
// required: true,
// visible: true
// },
// {
// label: '商品详细介绍(签章版)',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'productDetailInfo',
// templateUrl: '',
// default: [],
// limit: 1,
// block: true,
// required: true,
// visible: true
// },
{
label: "",
type: "input",
......@@ -532,9 +534,9 @@ const formInfo = ref<any>({
{ required: true, message: "请选择数据产品", trigger: "change", },
],
deliveryWay: [required('请选择交付方式')],
exchangeGuids: [{
type: 'array', required: true, message: '请选择上架交易所', trigger: 'change',
}],
// exchangeGuids: [{
// type: 'array', required: true, message: '请选择上架交易所', trigger: 'change',
// }],
coverageArea: [
{ required: true, message: "请选择覆盖地域", trigger: "change", },
],
......@@ -607,44 +609,44 @@ const formInfo = ref<any>({
// },
// ],
// 校验承诺函
commitmentLetterInfo: [
{
validator: (rule: any, value: any, callback: any) => {
let formInline = listingFormRef.value.formInline;
if (!value?.length) {
callback(new Error('请上传承诺函'))
} else {
callback();
}
}, trigger: 'change'
},
],
// commitmentLetterInfo: [
// {
// validator: (rule: any, value: any, callback: any) => {
// let formInline = listingFormRef.value.formInline;
// if (!value?.length) {
// callback(new Error('请上传承诺函'))
// } else {
// callback();
// }
// }, trigger: 'change'
// },
// ],
// 校验授权文件
accreditFileInfo: [
{
validator: (rule: any, value: any, callback: any) => {
let formInline = listingFormRef.value.formInline;
if (!value?.length) {
callback(new Error('请上传授权文件'))
} else {
callback();
}
}, trigger: 'change'
},
],
// 校验商品详细介绍
productDetailInfo: [
{
validator: (rule: any, value: any, callback: any) => {
let formInline = listingFormRef.value.formInline;
if (!value?.length) {
callback(new Error('请上传商品详细介绍'))
} else {
callback();
}
}, trigger: 'change'
},
],
// accreditFileInfo: [
// {
// validator: (rule: any, value: any, callback: any) => {
// let formInline = listingFormRef.value.formInline;
// if (!value?.length) {
// callback(new Error('请上传授权文件'))
// } else {
// callback();
// }
// }, trigger: 'change'
// },
// ],
// // 校验商品详细介绍
// productDetailInfo: [
// {
// validator: (rule: any, value: any, callback: any) => {
// let formInline = listingFormRef.value.formInline;
// if (!value?.length) {
// callback(new Error('请上传商品详细介绍'))
// } else {
// callback();
// }
// }, trigger: 'change'
// },
// ],
}
})
......@@ -681,8 +683,8 @@ const getProductDetail = async () => {
if (res.code == proxy.$passCode) {
const data = res.data || {}
flowDetail.value = data;
deploymentId.value = data.approveVO.camundaDeploymentId
processInstanceId.value = data.approveVO.camundaInstanceId
// deploymentId.value = data.approveVO.camundaDeploymentId
// processInstanceId.value = data.approveVO.camundaInstanceId
// if (res.data.qualityEvaluationFile && res.data.qualityEvaluationFile.length) {
// flowDetail.value.qualityEvaluationFile = { name: res.data.qualityEvaluationFile[0].name, url: res.data.qualityEvaluationFile[0].url }
// }
......@@ -849,135 +851,6 @@ const submitForm = (btn, formEl, tosub = false) => {
flowDetailLoading.value = false;
});
}
} else {
if (detailType == 'add') {
// 上架交易所
// console.log(params, '--------上架交易所 ---------');
params.immediateApprove = btn.value == 'submit' ? true : false;
params.registrationCertificate = params.registrationCertificateInfo.length ? { name: params.registrationCertificateInfo[0].name, url: params.registrationCertificateInfo[0].url } : {};
params.accreditFile = params.accreditFileInfo.length ? [{
url: params.accreditFileInfo[0].url,
name: params.accreditFileInfo[0].name
}] : '';
params.commitmentLetter = params.commitmentLetterInfo.length ? [{
url: params.commitmentLetterInfo[0].url,
name: params.commitmentLetterInfo[0].name
}] : [];
params.assessmentFile = params.costAssessmentFileInfo.length ? [{
url: params.costAssessmentFileInfo[0].url,
name: params.costAssessmentFileInfo[0].name
}] : [];
params.productDetail = params.productDetailInfo.length ? [{
url: params.productDetailInfo[0].url,
name: params.productDetailInfo[0].name
}] : [];
params.evaluationFile = params.qualityEvaluationFileInfo.length ? [{
url: params.qualityEvaluationFileInfo[0].url,
name: params.qualityEvaluationFileInfo[0].name
}] : [];
params.exchangeGuid = route.query.exchangeGuid;
params.qualityEvaluationInstitutionGuid = qualityEvaluationData.value.find((item: any) => item.tenantName == params.qualityEvaluationInstitution)?.guid || '';
params.costAssessmentInstitutionGuid = costAssessmentData.value.find((item: any) => item.tenantName == params.costAssessmentInstitution)?.guid || '';
delete params.exchangeName;
delete params.registrationCertificateInfo;
delete params.accreditFileInfo;
delete params.commitmentLetterInfo;
delete params.costAssessmentFileInfo;
delete params.productDetailInfo;
delete params.qualityEvaluationFileInfo;
// console.log(params, '-------rwrwerwer----------');
listingSave(params).then((res: any) => {
if (res.code == proxy.$passCode) {
ElMessage({
type: "success",
message: '提交成功',
});
flowDetailLoading.value = false;
userStore.setTabbar(userStore.tabbar.filter((tab: any) => tab.fullPath !== fullPath));
assetStore.set(true);
router.push({
name: "productListing",
query: {},
});
} else {
ElMessage({
type: "error",
message: res.msg,
});
flowDetailLoading.value = false;
}
}).catch((res) => {
ElMessage({
type: "error",
message: '提交失败',
});
flowDetailLoading.value = false;
});
} else {
// listingUpdate
// 上架交易所
params.guid = guid;
params.immediateApprove = btn.value == 'submit' ? true : false;
params.registrationCertificate = params.registrationCertificateInfo.length ? { name: params.registrationCertificateInfo[0].name, url: params.registrationCertificateInfo[0].url } : {};
params.accreditFile = params.accreditFileInfo.length ? [{
url: params.accreditFileInfo[0].url,
name: params.accreditFileInfo[0].name
}] : null;
params.commitmentLetter = params.commitmentLetterInfo.length ? [{
url: params.commitmentLetterInfo[0].url,
name: params.commitmentLetterInfo[0].name
}] : [];
params.assessmentFile = params.costAssessmentFileInfo.length ? [{
url: params.costAssessmentFileInfo[0].url,
name: params.costAssessmentFileInfo[0].name
}] : [];
params.productDetail = params.productDetailInfo.length ? [{
url: params.productDetailInfo[0].url,
name: params.productDetailInfo[0].name
}] : [];
params.evaluationFile = params.qualityEvaluationFileInfo.length ? [{
url: params.qualityEvaluationFileInfo[0].url,
name: params.qualityEvaluationFileInfo[0].name
}] : [];
params.exchangeGuid = route.query.exchangeGuid;
params.qualityEvaluationInstitutionGuid = qualityEvaluationData.value.find((item: any) => item.tenantName == params.qualityEvaluationInstitution)?.guid || '';
params.costAssessmentInstitutionGuid = costAssessmentData.value.find((item: any) => item.tenantName == params.costAssessmentInstitution)?.guid || '';
delete params.exchangeName;
delete params.registrationCertificateInfo;
delete params.accreditFileInfo;
delete params.commitmentLetterInfo;
delete params.costAssessmentFileInfo;
delete params.productDetailInfo;
delete params.qualityEvaluationFileInfo;
// console.log(params, '-------rwrwerwer----------');
listingUpdate(params).then((res: any) => {
if (res.code == proxy.$passCode) {
ElMessage({
type: "success",
message: '提交成功',
});
flowDetailLoading.value = false;
userStore.setTabbar(userStore.tabbar.filter((tab: any) => tab.fullPath !== fullPath));
assetStore.set(true);
router.push({
name: "productListing",
query: {},
});
} else {
ElMessage({
type: "error",
message: res.msg,
});
flowDetailLoading.value = false;
}
}).catch((res) => {
ElMessage({
type: "error",
message: '提交失败',
});
flowDetailLoading.value = false;
});
}
}
} else {
......@@ -1002,10 +875,6 @@ const btnClick = (btn) => {
subForm.value = { ...form };
submitForm(btn, formEl, true);
} else if (btn.value == 'pass') {
if (flowDetail.value.zqName) {
passCommonDialogInfo.value.visible = true;
return;
}
if (getFirstNodePromise.value) {
return;
}
......@@ -1037,10 +906,6 @@ const btnClick = (btn) => {
})
}
else if (btn.value == 'reject') {
if (flowDetail.value.zqName) {
rejectDialogInfo.value.visible = true;
return;
}
if (getFirstNodePromise1.value) {
return;
}
......@@ -1126,9 +991,9 @@ const btnClick = (btn) => {
const setFormItems = (row: any = null, isDetail = false) => {
// console.log(row, '--------1---------');
formInfo.value.items.forEach((item: any) => {
if (item.field == 'damType') {
item.disabled = row.foundMode != 5;
}
// if (item.field == 'damType') { //不需要此需求
// item.disabled = row.foundMode != 5;
// }
if (item.field == 'productImg') {
// item.default = row ? (row.productPic ? [row.productPic] : row[item.field] || []) : []
item.default = row.productPic && Object.keys(row.productPic).length ? [row.productPic] : []
......@@ -1435,37 +1300,37 @@ onBeforeMount(async () => {
proxy.$ElMessage.error(res.msg);
}
})
getCamundaDeploymentId('10016', userData.tenantGuid, userData.staffGuid).then((res: any) => {
if (res.code == proxy.$passCode) {
deploymentId.value = res.data;
} else {
ElMessage.error(res.msg);
}
})
// 获取质量评估机构
getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12505" }).then((res: any) => {
if (res.code == proxy.$passCode) {
qualityEvaluationData.value = res.data.records || [];
let item = formInfo.value.items.find(item => item.field == 'qualityEvaluationInstitution');
item && (item.options = qualityEvaluationData.value);
} else {
proxy.$ElMessage.error(res.msg);
}
})
// 获取价值评估机构
getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12504" }).then((res: any) => {
if (res.code == proxy.$passCode) {
costAssessmentData.value = res.data.records || [];
let item = formInfo.value.items.find(item => item.field == 'costAssessmentInstitution');
item && (item.options = costAssessmentData.value);
} else {
proxy.$ElMessage.error(res.msg);
}
})
if (route.query.exchangeGuid) {
getTemplateInfo();
}
// 不需要内部审批
// getCamundaDeploymentId('10016', userData.tenantGuid, userData.staffGuid).then((res: any) => {
// if (res.code == proxy.$passCode) {
// deploymentId.value = res.data;
// } else {
// ElMessage.error(res.msg);
// }
// })
// // 获取质量评估机构
// getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12505" }).then((res: any) => {
// if (res.code == proxy.$passCode) {
// qualityEvaluationData.value = res.data.records || [];
// let item = formInfo.value.items.find(item => item.field == 'qualityEvaluationInstitution');
// item && (item.options = qualityEvaluationData.value);
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// })
// // 获取价值评估机构
// getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12504" }).then((res: any) => {
// if (res.code == proxy.$passCode) {
// costAssessmentData.value = res.data.records || [];
// let item = formInfo.value.items.find(item => item.field == 'costAssessmentInstitution');
// item && (item.options = costAssessmentData.value);
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// })
// if (route.query.exchangeGuid) {
// getTemplateInfo();
// }
if (detailType && detailType != 'redit' && detailType != 'edit') {
setTimeout(() => {
formInfo.value.items.forEach(item => {
......@@ -1541,14 +1406,14 @@ const toolBtns: any = computed(() => {
let btnsArr: any = [{
label: "关闭", value: "cancel", plain: true
}];
let approveVO = flowDetail.value.approveVO;
let staffGuid = userData.staffGuid;
if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) {
btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]);
}
if (approveVO && approveVO.approveState == 'A' && approveVO.staffGuid == staffGuid && !flowDetail.value.zqName) {
btnsArr.push({ label: "撤销", value: "revoke" });
}
// let approveVO = flowDetail.value.approveVO;
// let staffGuid = userData.staffGuid;
// if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) {
// btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]);
// }
// if (approveVO && approveVO.approveState == 'A' && approveVO.staffGuid == staffGuid) {
// btnsArr.push({ label: "撤销", value: "revoke" });
// }
return btnsArr;
});
......@@ -1901,8 +1766,8 @@ const rejectDialogBtnClick = (btn, info) => {
<template>
<div class="container_wrap" v-loading="flowDetailLoading">
<div class="content_main">
<div v-if="detailType == 'check'"
:class="['panel_wrap', 'results_panel', flowDetail.approveState == 'Y' ? 'success' : (flowDetail.approveState == 'R' ? 'reject' : (flowDetail.approveState == 'C' ? 'revoke' : 'audit'))]">
<div v-if="detailType == 'detail' && flowDetail.approveState"
:class="['panel_wrap', 'results_panel', flowDetail.approveState == 'Y' ? 'success' : ((flowDetail.approveState == 'R' || flowDetail.approveState == 'E') ? 'reject' : (flowDetail.approveState == 'C' ? 'revoke' : 'audit'))]">
<div class="panel_header">
<div class="header_title" v-if="flowDetail.approveState == 'Y'">
<el-icon class="title-icon">
......@@ -1916,11 +1781,17 @@ const rejectDialogBtnClick = (btn, info) => {
</el-icon>
<span class="title_text">审批被驳回</span>
</div>
<div class="header_title" v-else-if="flowDetail.approveState == 'E'">
<el-icon class="title-icon">
<CircleCloseFilled />
</el-icon>
<span class="title_text">审批发起失败</span>
</div>
<div class="header_title" v-else-if="flowDetail.approveState == 'A'">
<el-icon class="title-icon">
<svg-icon name="icon-audit" />
</el-icon>
<span class="title_text">待审批</span>
<span class="title_text">审批中</span>
</div>
<div class="header_title" v-else-if="flowDetail.approveState == 'C'">
<el-icon class="title-icon">
......@@ -1929,19 +1800,19 @@ const rejectDialogBtnClick = (btn, info) => {
<span class="title_text">已撤销</span>
</div>
</div>
<div class="panel_body" v-if="flowDetail.approveState != 'A' && flowDetail.approveState != 'C'">
<div class="panel_body" v-if="flowDetail.approveState == 'R'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">审批人:</span>
<span class="item_value">{{ approveTableInfo.data.at(-1)?.approvedTenantName || '--' }}</span>
<span class="item_label">平台审批意见:</span>
<span class="item_value">{{ flowDetail?.tdsApproveSuggest || '--' }}</span>
</div>
</div>
</div>
<div class="panel_body" v-if="flowDetail.approveState == 'E'" style="padding: 0px 16px 10px;">
<div class="results_list">
<div class="list_item">
<span class="item_label">审批时间:</span>
<span class="item_value">{{ approveTableInfo.data.at(-1)?.approveTime || '--' }}</span>
</div>
<div class="list_item" v-if="flowDetail.approveState == 'R'">
<span class="item_label">审批意见:</span>
<span class="item_value">{{ approveTableInfo.data.at(-1)?.approveSuggest || '--' }}</span>
<span class="item_label">失败原因:</span>
<span class="item_value">{{ flowDetail?.tdsApproveErrorMsg || '--' }}</span>
</div>
</div>
</div>
......@@ -2020,11 +1891,11 @@ const rejectDialogBtnClick = (btn, info) => {
}}</span>
</span>
</div>
<div v-show="flowDetail.dataSource != '1'" class="list_item is_block">
<div class="list_item is_block">
<span class="item_label">收费说明:</span>
<span class="item_value">{{ flowDetail.feeDesc || '--' }}</span>
</div>
<div v-show="flowDetail.dataSource != '1'" class="list_item1 is_block1">
<div class="list_item1 is_block1">
<div class="file_item" v-if="flowDetail.productPic && flowDetail.productPic.name">
<span class="item_label">产品图片:</span>
<span class="item_value">
......@@ -2076,265 +1947,6 @@ const rejectDialogBtnClick = (btn, info) => {
<span class="item_value">--</span>
</div>
</div>
<div class="list_item1 is_block1">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">登记证照:</span>
<span class="item_value"
v-if="flowDetail.registrationCertificate && flowDetail.registrationCertificate.name">
<div class="file-operate">
<template
v-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'xls' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'xlsx' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'csv'">
<img class="file-img" src="../../assets/images/excel.png" />
</template>
<template
v-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() === 'csv'">
<img class="file-img" src="../../assets/images/csv.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'doc' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'docx'">
<img class="file-img" src="../../assets/images/word.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'zip'">
<img class="file-img" src="../../assets/images/zip.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'rar'">
<img class="file-img" src="../../assets/images/RAR.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'jpg' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'jpeg'">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.registrationCertificate.name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div :style="{ right: '36px' }"
v-if="flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'pdf' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'png' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'jpg' || flowDetail.registrationCertificate.name.substring(flowDetail.registrationCertificate.name.lastIndexOf('.') + 1).toLowerCase() == 'jpeg'"
class="file-preview" @click="onUploadFilePreview(flowDetail.registrationCertificate)">查看</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.registrationCertificate)">下载
</div>
</div>
</span>
<span class="item_value" v-else>--</span>
</div>
</div>
<div class="list_item1 is_block1">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">质量评估报告:</span>
<span class="item_value">
<div class="file-operate">
<template v-if="flowDetail?.evaluationFile?.length > 0">
<template
v-if="flowDetail.evaluationFile[0].name?.substring(flowDetail.evaluationFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.evaluationFile[0].name?.substring(flowDetail.evaluationFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="['jpg', 'jpeg'].includes(flowDetail.evaluationFile[0].name?.substring(flowDetail.evaluationFile[0].name.lastIndexOf('.') + 1).toLowerCase())">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.evaluationFile[0].name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div
v-if="['pdf', 'png', 'jpg', 'jpeg'].includes(flowDetail.evaluationFile[0].name?.substring(flowDetail.evaluationFile[0].name.lastIndexOf('.') + 1).toLowerCase())"
:style="{ right: '36px' }" class="file-preview"
@click="onUploadFilePreview(flowDetail.evaluationFile[0])">
查看
</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.evaluationFile[0])">
下载
</div>
</template>
<template v-else>
--
</template>
</div>
</span>
</div>
</div>
<div class="list_item1 is_block1">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">质量评估机构:</span>
<span class="item_value">
{{ flowDetail.qualityEvaluationInstitution || '--' }}
</span>
</div>
</div>
<div class="list_item1 is_block1">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">价值评估报告:</span>
<span class="item_value">
<div class="file-operate">
<template v-if="flowDetail?.assessmentFile?.length > 0">
<template
v-if="flowDetail.assessmentFile[0].name?.substring(flowDetail.assessmentFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.assessmentFile[0].name?.substring(flowDetail.assessmentFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="['jpg', 'jpeg'].includes(flowDetail.assessmentFile[0].name?.substring(flowDetail.assessmentFile[0].name.lastIndexOf('.') + 1).toLowerCase())">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.assessmentFile[0].name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div
v-if="['pdf', 'png', 'jpg', 'jpeg'].includes(flowDetail.assessmentFile[0].name?.substring(flowDetail.assessmentFile[0].name.lastIndexOf('.') + 1).toLowerCase())"
:style="{ right: '36px' }" class="file-preview"
@click="onUploadFilePreview(flowDetail.assessmentFile[0])">
查看
</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.assessmentFile[0])">
下载
</div>
</template>
<template v-else>
--
</template>
</div>
</span>
</div>
</div>
<div class="list_item1 is_block1">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">价值估评机构:</span>
<span class="item_value">
{{ flowDetail.costAssessmentInstitution || '--' }}
</span>
</div>
</div>
<div class="list_item is_block">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">承诺函:</span>
<span class="item_value">
<div class="file-operate">
<template v-if="flowDetail?.commitmentLetter?.length > 0">
<template
v-if="flowDetail.commitmentLetter[0].name?.substring(flowDetail.commitmentLetter[0].name.lastIndexOf('.') + 1).toLowerCase() === 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.commitmentLetter[0].name?.substring(flowDetail.commitmentLetter[0].name.lastIndexOf('.') + 1).toLowerCase() === 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="['jpg', 'jpeg'].includes(flowDetail.commitmentLetter[0].name?.substring(flowDetail.commitmentLetter[0].name.lastIndexOf('.') + 1).toLowerCase())">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.commitmentLetter[0].name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div
v-if="['pdf', 'png', 'jpg', 'jpeg'].includes(flowDetail.commitmentLetter[0].name?.substring(flowDetail.commitmentLetter[0].name.lastIndexOf('.') + 1).toLowerCase())"
:style="{ right: '36px' }" class="file-preview"
@click="onUploadFilePreview(flowDetail.commitmentLetter[0])">
查看
</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.commitmentLetter[0])">
下载
</div>
</template>
<template v-else>
--
</template>
</div>
</span>
</div>
</div>
<div class="list_item is_block">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">授权文件:</span>
<span class="item_value">
<div class="file-operate">
<template v-if="flowDetail?.accreditFile?.length > 0">
<template
v-if="flowDetail.accreditFile[0].name?.substring(flowDetail.accreditFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.accreditFile[0].name?.substring(flowDetail.accreditFile[0].name.lastIndexOf('.') + 1).toLowerCase() === 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="['jpg', 'jpeg'].includes(flowDetail.accreditFile[0].name?.substring(flowDetail.accreditFile[0].name.lastIndexOf('.') + 1).toLowerCase())">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.accreditFile[0].name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div
v-if="['pdf', 'png', 'jpg', 'jpeg'].includes(flowDetail.accreditFile[0].name?.substring(flowDetail.accreditFile[0].name.lastIndexOf('.') + 1).toLowerCase())"
:style="{ right: '36px' }" class="file-preview"
@click="onUploadFilePreview(flowDetail.accreditFile[0])">
查看
</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.accreditFile[0])">
下载
</div>
</template>
<template v-else>
--
</template>
</div>
</span>
</div>
</div>
<div class="list_item is_block">
<div class="file_item" v-if="route.query.exchangeGuid">
<span class="item_label">商品详细介绍(签章版):</span>
<span class="item_value">
<div class="file-operate">
<template v-if="flowDetail?.productDetail?.length > 0">
<template
v-if="flowDetail.productDetail[0].name?.substring(flowDetail.productDetail[0].name.lastIndexOf('.') + 1).toLowerCase() === 'pdf'">
<img class="file-img" src="../../assets/images/PDF.png" />
</template>
<template
v-else-if="flowDetail.productDetail[0].name?.substring(flowDetail.productDetail[0].name.lastIndexOf('.') + 1).toLowerCase() === 'png'">
<img class="file-img" src="../../assets/images/png.png" />
</template>
<template
v-else-if="['jpg', 'jpeg'].includes(flowDetail.productDetail[0].name?.substring(flowDetail.productDetail[0].name.lastIndexOf('.') + 1).toLowerCase())">
<img class="file-img" src="../../assets/images/jpg.png" />
</template>
<div class="file-name"><ellipsis-tooltip :content="flowDetail.productDetail[0].name ?? ''"
class-name="w100f" refName="tooltipOver"></ellipsis-tooltip></div>
<div
v-if="['pdf', 'png', 'jpg', 'jpeg'].includes(flowDetail.productDetail[0].name?.substring(flowDetail.productDetail[0].name.lastIndexOf('.') + 1).toLowerCase())"
:style="{ right: '36px' }" class="file-preview"
@click="onUploadFilePreview(flowDetail.productDetail[0])">
查看
</div>
<div :style="{ right: '0px' }" class="file-preview"
@click="onUploadFileDownload(flowDetail.productDetail[0])">
下载
</div>
</template>
<template v-else>
--
</template>
</div>
</span>
</div>
</div>
</div>
</div>
</div>
......@@ -2417,26 +2029,6 @@ const rejectDialogBtnClick = (btn, info) => {
</div>
</div>
</div>
<div class="panel_wrap" v-if="!dGuid">
<div class="panel_header">
<div class="header_title">
<span class="title_text">
<!-- <el-icon class="title_icon" :class="{active: !collapseIcon1}" @click="collapseIcon1=!collapseIcon1"><CaretRight /></el-icon> !-->
<span>审批信息</span>
</span>
</div>
</div>
<div class="panel_body" :class="{ collapse: collapseIcon1 }">
<div class="list_panel">
<div class="table_panel_wrap">
<!-- <Table :tableInfo="approveTableInfo" /> -->
<ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId"
:processInstanceId="processInstanceId">
</ApprovalProcess>
</div>
</div>
</div>
</div>
<div class="panel_wrap" v-if="detailType == 'detail' && dGuid !== undefined">
<div class="panel_header">
<div class="header_title">
......@@ -2476,7 +2068,7 @@ const rejectDialogBtnClick = (btn, info) => {
<el-button @click="btnClick({ value: 'cancel' })">返回</el-button>
<!-- <el-button @click="btnClick({ value: 'draft' })"
v-if="route.query.type == 'add' || route.query.type == 'edit'">保存草稿</el-button> -->
<el-button type="primary" @click="btnClick({ value: 'submit' })">提交流程</el-button>
<el-button type="primary" @click="btnClick({ value: 'submit' })">提交</el-button>
</div>
</div>
<div class="tool_btns" v-else-if="detailType == 'detail'">
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!