|
@@ -116,7 +116,7 @@
|
|
|
<div class="node-file">
|
|
|
<div class="title">上传总结报告</div>
|
|
|
<div class="node-upload-box" v-if="contractId && isTableForm">
|
|
|
- <HcUpload :fileList="fileListData" :datas="uploadData" @finish='uploadChange'/>
|
|
|
+ <HcUpload :fileList="fileListData" :pkeyId="pkeyIds" @finish='uploadChange'/>
|
|
|
</div>
|
|
|
<div class="node-upload-box" v-else>
|
|
|
<el-alert title="表单异常,暂时无法使用上传" type="warning" show-icon :closable="false"/>
|
|
@@ -133,7 +133,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="node-action">
|
|
|
- <el-button type="primary" hc-btn :disabled="!contractId || !isTableForm" @click="saveBussData">
|
|
|
+ <el-button type="primary" hc-btn :disabled="!contractId || !isTableForm" :loading="tableFormSaveLoading" @click="saveBussData">
|
|
|
<HcIcon name="save"/>
|
|
|
<span>保存</span>
|
|
|
</el-button>
|
|
@@ -151,6 +151,10 @@
|
|
|
</el-button>
|
|
|
</div>
|
|
|
</HcDrawer>
|
|
|
+
|
|
|
+ <!--上报审批-->
|
|
|
+ <HcReportModal title="上报审批" url="informationWriteQuery/taskOne" :show="showReportModal" :projectId="projectId" :contractId="contractId"
|
|
|
+ :taskName="reportTaskName" :ids="reportIds" @hide="showReportModal = false" @finish="showReportFinish"/>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -377,6 +381,7 @@ const FirstReportDrawerClose = () => {
|
|
|
//获取表单
|
|
|
const statusDesc = ref('')
|
|
|
const isTableForm = ref(false)
|
|
|
+const pkeyIds = ref('')
|
|
|
const getFirstExcelHtml = async () => {
|
|
|
const cid = contractId.value;
|
|
|
const { error, code, data } = await firstApi.getFirstExcelHtml({
|
|
@@ -385,8 +390,8 @@ const getFirstExcelHtml = async () => {
|
|
|
//处理数据
|
|
|
const temp = isString(data?.data) ? data?.data || '' : ''
|
|
|
if (!error && code === 200 && temp) {
|
|
|
- let pkeyId = data?.data?.id ?? null
|
|
|
- uploadData.value = {pkeyId: pkeyId}
|
|
|
+ let pkeyId = data?.id || ''
|
|
|
+ pkeyIds.value = pkeyId
|
|
|
setHTableForm(temp, cid, tableFormData.value)
|
|
|
getFirstBussDataInfo(pkeyId)
|
|
|
} else {
|
|
@@ -425,7 +430,7 @@ const getFirstBussDataInfo = async (pkeyId) => {
|
|
|
if (pkeyId) {
|
|
|
const { data } = await firstApi.getFirstBussDataInfo({
|
|
|
contractId: contractId.value || '',
|
|
|
- pkeyId: pkeyId + ''
|
|
|
+ firstId: pkeyId + ''
|
|
|
}, false)
|
|
|
const info = getObjValue(data)
|
|
|
if (getObjNullValue(info)) {
|
|
@@ -441,11 +446,24 @@ const getFirstBussDataInfo = async (pkeyId) => {
|
|
|
|
|
|
//上传变量
|
|
|
const fileListData = ref([]);
|
|
|
-const uploadData = ref({})
|
|
|
-
|
|
|
+const finishFile = ref({
|
|
|
+ sourceUrl: '', pdfUrl: '', firstFileName: ''
|
|
|
+})
|
|
|
//上传文件
|
|
|
-const uploadChange = async ({type}) => {
|
|
|
- console.log(type)
|
|
|
+const uploadChange = async ({type, res}) => {
|
|
|
+ if (type === 'success') {
|
|
|
+ const {code, data, msg} = res
|
|
|
+ if (code === 200) {
|
|
|
+ finishFile.value = {
|
|
|
+ sourceUrl: data?.sourceUrl,
|
|
|
+ pdfUrl: data?.pdfUrl,
|
|
|
+ firstFileName: data?.fileName,
|
|
|
+ }
|
|
|
+ window.$message?.success(msg);
|
|
|
+ } else {
|
|
|
+ window.$message?.error(msg || '上传失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//文件附件列表
|
|
@@ -478,8 +496,11 @@ const saveBussData = async () => {
|
|
|
}
|
|
|
|
|
|
//保存请求
|
|
|
+const tableFormSaveLoading = ref(false)
|
|
|
const saveExcelBussData = async (pkeyId) => {
|
|
|
const { primaryKeyId } = treeItem.value
|
|
|
+ tableFormSaveLoading.value = true
|
|
|
+ const linkIds = rowsToArr(tableFileData.value);
|
|
|
const { error, code } = await firstApi.saveBussData({
|
|
|
...tableFormData.value,
|
|
|
projectId: projectId.value,
|
|
@@ -487,9 +508,12 @@ const saveExcelBussData = async (pkeyId) => {
|
|
|
firstNodeId: primaryKeyId,
|
|
|
pkeyId: pkeyId,
|
|
|
classify: '1',
|
|
|
- isFirst: 1
|
|
|
+ isFirst: 1,
|
|
|
+ linkProcessList: linkIds,
|
|
|
+ ...finishFile.value
|
|
|
}, false)
|
|
|
//判断状态
|
|
|
+ tableFormSaveLoading.value = false
|
|
|
if (!error && code === 200) {
|
|
|
window.$message?.success('保存成功')
|
|
|
return true
|
|
@@ -519,10 +543,32 @@ const getBussPdfInfo = async (pkeyId) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
//上报审批
|
|
|
+const reportIds = ref('')
|
|
|
+const showReportModal = ref(false)
|
|
|
+const reportTaskName = ref('')
|
|
|
+const reportAddition = ref({})
|
|
|
const reportModalClick = () => {
|
|
|
+ const { primaryKeyId, contractIdRelation } = treeItem.value
|
|
|
+ const rows = tableFileData.value
|
|
|
+ if (rows.length > 0) {
|
|
|
+ reportIds.value = rowsToId(rows)
|
|
|
+ reportTaskName.value = rows.length > 1?`${rows[0].name}等${rows.length}个文件`:rows[0].name
|
|
|
+ reportAddition.value = {
|
|
|
+ classify: 1,
|
|
|
+ isFirst: 1,
|
|
|
+ primaryKeyId: primaryKeyId,
|
|
|
+ contractIdRelation: contractIdRelation ?? contractId.value,
|
|
|
+ }
|
|
|
+ showReportModal.value = true
|
|
|
+ } else {
|
|
|
+ window.$message?.warning('暂无相关数据')
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
+//上报完成
|
|
|
+const showReportFinish = () => {
|
|
|
+ showReportModal.value = false
|
|
|
}
|
|
|
|
|
|
//拼接ID
|
|
@@ -532,6 +578,18 @@ const rowsToId = (rows) => {
|
|
|
}).join(",")
|
|
|
}
|
|
|
|
|
|
+//处理数据
|
|
|
+const rowsToArr = (rows) => {
|
|
|
+ let newArr = [];
|
|
|
+ for (let i = 0; i < rows.length; i++) {
|
|
|
+ newArr.push({
|
|
|
+ id: rows[i]?.id,
|
|
|
+ name: rows[i]?.name
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return newArr
|
|
|
+}
|
|
|
+
|
|
|
//左右拖动,改变树形结构宽度
|
|
|
const leftWidth = ref(382)
|
|
|
const onmousedown = () => {
|