diff --git a/WebSite/src/api/exante-performance-inquiry.js b/WebSite/src/api/exante-performance-inquiry.js index 49be9c2ee758a0cb298bc64e681f73682b832539..ac35ff9ec66488043deb1092a121845015419c13 100644 --- a/WebSite/src/api/exante-performance-inquiry.js +++ b/WebSite/src/api/exante-performance-inquiry.js @@ -7,8 +7,9 @@ */ import request from '@/core/base/request'; +import { Base } from './base/base'; -class exantePerformanceInquiry { +class exantePerformanceInquiry extends Base{ //鍒嗛〉鏌ヨ static getFinanceProjectInfoPage(data) { return request.post('/projectType/getFinanceProjectInfoPage', data); @@ -30,8 +31,13 @@ class exantePerformanceInquiry { return request.post('/projectAudit/financeAudit', data); } //涓嬭浇椤圭洰鐢虫姤pdf - static downloadProjectPdf(data) { - return request.get(`/projectType/downloadProjectPdf?id=${data}`); + static downloadProjectPdf(c) { + return request({ + url: `/projectType/downloadProjectPdf?id=${c}`, + responseType: 'blob', + method: 'get' + }) + .then(res => super.downloadFile(res)); } } diff --git a/WebSite/src/api/financeOffice.js b/WebSite/src/api/financeOffice.js index 2923004e32add27b7609da9818e6be2fceb8b38d..b25c4740372e15b909ee15eeeeb2dcbf2176661e 100644 --- a/WebSite/src/api/financeOffice.js +++ b/WebSite/src/api/financeOffice.js @@ -7,9 +7,9 @@ */ import request from '@/core/base/request'; +import { Base } from './base/base'; - -class FinanceOffice { +class FinanceOffice extends Base{ //閮ㄩ棬绠$悊 @@ -58,13 +58,23 @@ class FinanceOffice { //椤圭洰鐢虫姤 //涓嬭浇鍗曚釜闄勪欢 - static downloadAttachFileById(data) { - return request.get('/projectType/downloadAttachFileById', data); - } + static downloadAttachFileById(c) { + return request({ + url: `/projectType/downloadAttachFileById?fileId=${c}`, + responseType: 'blob', + method: 'get' + }) + .then(res => super.downloadFile(res)); + } //涓嬭浇椤圭洰鐢虫姤pdf - static downloadProjectPdf(data) { - return request.get('/projectType/downloadProjectPdf', data); - } + static downloadProjectPdf(c) { + return request({ + url: `/projectType/downloadProjectPdf?id=${c}`, + responseType: 'blob', + method: 'get' + }) + .then(res => super.downloadFile(res)); + } //鑾峰彇椤圭洰淇℃伅 static getProjectInfo(data) { return request.post('/projectType/getProjectInfo', data); @@ -119,8 +129,8 @@ class FinanceOffice { return request.post('/preliminary/getPreliminaryById', data); } //棰勫椤圭洰鍒嗛〉鍒楄〃 - static getPreliminaryPage(data) { - return request.post('/preliminary/getPreliminaryPage', data); + static getPreliminaryList(data) { + return request.post('/preliminary/getPreliminaryList', data); } //淇濆瓨棰勫椤圭洰淇℃伅 static savePreliminary(data) { diff --git a/WebSite/src/api/projectType.js b/WebSite/src/api/projectType.js index d43bac5211c5a6e7e81853f6d428451a023bcbd4..2cea4994fb08cb611681d632218e037c8b888b27 100644 --- a/WebSite/src/api/projectType.js +++ b/WebSite/src/api/projectType.js @@ -13,8 +13,13 @@ class ProjectType extends Base { //椤圭洰鐢虫姤 //涓嬭浇鍗曚釜闄勪欢 - static downloadAttachFileById(data) { - return request.get('/projectType/downloadAttachFileById', data); + static downloadAttachFileById(c) { + return request({ + url: `/projectType/downloadAttachFileById?fileId=${c}`, + responseType: 'blob', + method: 'get' + }) + .then(res => super.downloadFile(res)); } //涓嬭浇椤圭洰鐢虫姤pdf static downloadProjectPdf(c) { diff --git a/WebSite/src/api/review-management-operation.js b/WebSite/src/api/review-management-operation.js index 068bf82213f10b75a388523ac2c6d5f4daf7ec12..d8f546055e4f587bf6a5f2c622a25c0931e556cb 100644 --- a/WebSite/src/api/review-management-operation.js +++ b/WebSite/src/api/review-management-operation.js @@ -18,8 +18,8 @@ class operation { return request.post('/entrustment/batchOfiiceDevide', data); } //棰勫 - static getPreliminaryPage(data) { - return request.post('/preliminary/getPreliminaryPage', data); + static getPreliminaryList(data) { + return request.post('/preliminary/getPreliminaryList', data); } //棰勮 static getProjectInfo(data) { @@ -119,6 +119,10 @@ class operation { '/entrustmentExpert/saveExpertSign?expertId=' + expertId + '&file=' + file ); } + //鎵归噺鍙嶉棰勫鎰忚锛氫紶棰勫涓婚敭 + static modifyByFeedbackIds(data) { + return request.post('/preliminary/modifyByFeedbackIds' , data); + } } export default operation; diff --git a/WebSite/src/views/item-entry/antecedent-trial/index.vue b/WebSite/src/views/item-entry/antecedent-trial/index.vue index 48803f35f5a46fba6bc12b85d071c528a23c0a21..379f8cde230b17b3268d0ea16b8eda13b22b0e45 100644 --- a/WebSite/src/views/item-entry/antecedent-trial/index.vue +++ b/WebSite/src/views/item-entry/antecedent-trial/index.vue @@ -12,7 +12,7 @@ icon="edit" size="small" @click="onWrite" - >濉啓鎰忚</el-button + >濉啓棰勫鎰忚</el-button > </el-form-item> </el-form> @@ -89,7 +89,11 @@ <div class="card-content-item"> <span style="width: 200px; font-size: 14px"> 鍏€侀檮浠讹細 </span> <div style="width: 100%; font-size: 14px"> - <div v-for="(item, index) in arr1" :key="index">{{ item }}</div> + <div v-for="(item, index) in arr1" :key="index"> + <a @click="clickA(item)" href="javascript:void(0);">{{ + item.fileName + }}</a> + </div> </div> </div> <div class="card-content-item"> @@ -97,7 +101,11 @@ 涓冦€佹壙璇哄強瀹℃牳淇℃伅锛� </span> <div style="width: 100%; font-size: 14px"> - <div v-for="(item, index) in arr2" :key="index">{{ item }}</div> + <div v-for="(item, index) in arr2" :key="index"> + <a @click="clickA(item)" href="javascript:void(0);">{{ + item.fileName + }}</a> + </div> </div> </div> @@ -226,7 +234,7 @@ </td> <td> <el-input - v-model="tableObj.fundingCompliance" + v-model="tableObj.financialSupportRationality" :autosize="{ minRows: 8, maxRows: 10 }" type="textarea" placeholder="璇疯緭鍏�" @@ -240,7 +248,7 @@ </td> <td> <el-input - v-model="tableObj.input6" + v-model="tableObj.controllabilityFinancingRisks" :autosize="{ minRows: 8, maxRows: 10 }" type="textarea" placeholder="璇疯緭鍏�" @@ -273,20 +281,20 @@ </tr> </table> - <span>涓婁紶闄勪欢锛�</span> + <!-- <span>涓婁紶闄勪欢锛�</span> <UploadFile v-model:modelValue="uploadDialog1" @upload-handler="uploadHandler1" > - </UploadFile> - <el-button + </UploadFile> --> + <!-- <el-button plain type="info" icon="Upload" size="small" @click="uploadDialog1 = true" >鏂板</el-button - > + > --> <template #footer> <span class="dialog-footer"> @@ -303,7 +311,7 @@ import { use } from 'echarts/core'; import { useRouter } from 'vue-router'; import operation from '@/api/review-management-operation'; import FinanceOffice from '@/api/financeOffice'; -import UploadFile from '@/components/UploadFile'; +//import UploadFile from '@/components/UploadFile'; import { ElMessage } from 'element-plus'; // import { ElMessageBox } from 'element-plus' @@ -311,7 +319,7 @@ use([]); export default { name: 'AntecedenTrial', components: { - UploadFile, + // UploadFile, }, setup() { const router = useRouter(); @@ -323,8 +331,8 @@ export default { projectNecessityApproval: '', rationalityPerformance: '', feasibilityImplementationPlan: '', - fundingCompliance: '', - input6: '', + financialSupportRationality: '', + controllabilityFinancingRisks: '', materialIntegrity: '', other: '', }, @@ -356,34 +364,44 @@ export default { }, idS: '', entrustmentId: '', + projectId: '', + preliminaryId: '', arr1: [], arr2: [], }); - onMounted(() => { - data.idS = router.currentRoute.value.query.id; //鐢虫姤椤圭洰鐨勪富閿� - data.entrustmentId = router.currentRoute.value.query.entrustmentId; //濮旀墭鍑界殑涓婚敭 - data.projectId = router.currentRoute.value.query.projectId; // 鐢虫姤椤圭洰鐨勪富閿� - getProjectInfo(); + onMounted(async () => { + data.entrustmentId = router.currentRoute.value.query.entrustmentId; //濮旀墭鍑絠d + data.projectId = router.currentRoute.value.query.projectId; // 椤圭洰Id + data.preliminaryId = router.currentRoute.value.query.preliminaryId; // 椤圭洰Id + await getProjectInfo(); }); const goBack = () => { router.go(-1); }; const onWrite = () => { + if (data.preliminaryId != null) { + FinanceOffice.getPreliminaryById({ id: data.idS }).then((res) => { + console.log(res); + data.tableObj = res.data[0]; + }); + } data.writeDialog = true; }; const getProjectInfo = () => { operation.getProjectInfo({ id: data.projectId }).then((res) => { data.ProjectInfo = res.data[0]; - data.arr1 = data.ProjectInfo.fileOuts.map((item) => { - if (item.type == 1) { - return item.fileName; + for (let i = 0; i < data.ProjectInfo.fileOuts.length; i++) { + if (data.ProjectInfo.fileOuts[i].type == 1) { + data.arr1 = [data.ProjectInfo.fileOuts[i]]; + break; } - }); - data.arr2 = data.ProjectInfo.fileOuts.map((item) => { - if (item.type == 2) { - return item.fileName; + } + for (let i = 0; i < data.ProjectInfo.fileOuts.length; i++) { + if (data.ProjectInfo.fileOuts[i].type == 2) { + data.arr2 = [data.ProjectInfo.fileOuts[i]]; + break; } - }); + } }); }; const onPrint = () => {}; @@ -419,10 +437,14 @@ export default { }; FinanceOffice.savePreliminary(obj).then((res) => { console.log(res, 'res'); - ElMessage.success('淇濆瓨鎴愬姛') + ElMessage.success('淇濆瓨鎴愬姛'); data.writeDialog = false; }); }; + const clickA = async (item) => { + const res = await FinanceOffice.downloadAttachFileById(item.id); + console.log(res); + }; return { goBack, onWrite, @@ -430,6 +452,7 @@ export default { onPrint, uploadHandler1, save, + clickA, ...toRefs(data), }; }, @@ -551,4 +574,8 @@ export default { } } } + a:hover { + text-decoration: none; + border-bottom: 1px solid #a0a3a8ea; + } </style> diff --git a/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue b/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue index 0385dba85656157d7d717c8df7647903a73887f9..b9a0fe54cb0dd7d0ad06b1163114afa160597ec5 100644 --- a/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue +++ b/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue @@ -176,6 +176,12 @@ </el-table-column> <el-table-column align="right" width="190"> <template #default="scope"> + <el-button + type="primary" + :disabled="disabledPreview" + @click="downloadFileId1(scope.row)" + >涓嬭浇</el-button + > <el-button type="danger" :disabled="disabledPreview" @@ -213,6 +219,12 @@ </el-table-column> <el-table-column align="right" width="190"> <template #default="scope"> + <el-button + type="primary" + :disabled="disabledPreview" + @click="downloadFileId2(scope.row)" + >涓嬭浇</el-button + > <el-button type="danger" :disabled="disabledPreview" @@ -238,6 +250,7 @@ type="primary" icon="view" size="small" + :disabled="judgeDisabled == 'true'" >鏌ョ湅绀轰緥鍥�</el-button > </el-form-item> diff --git a/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue b/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue index 94e1e24e69f6c7f45eec551339d6d8b35e118714..d4f5da8d08737601cffbe50f311143cc94e09999 100644 --- a/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue +++ b/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue @@ -395,7 +395,7 @@ </template> <script> -import { reactive, toRefs, onActivated } from 'vue'; +import { reactive, toRefs, onActivated, onMounted } from 'vue'; import { use } from 'echarts/core'; import { ElNotification, ElMessage } from 'element-plus'; import ProjectType from '@/api/projectType'; @@ -446,11 +446,14 @@ export default { examineFormData: new FormData(), }); Moment, + onMounted(() => { + getProjectInfoPage(); + }) onActivated(() => { - getProjectInfoPage(data.queryProjectInfo); + getProjectInfoPage(); }); - const getProjectInfoPage = async (queryProjectInfo) => { - const res = await ProjectType.getDeptProjectInfoPage(queryProjectInfo); + const getProjectInfoPage = async () => { + const res = await ProjectType.getDeptProjectInfoPage(data.queryProjectInfo); data.exantePerformanceTableInfo = res; // data.exantePerformanceTableInfo.data.forEach((x) => { // if (x.stateCode == 1) { @@ -490,10 +493,10 @@ export default { }; const onAddIndexLibrary = async () => { ProjectType.addValid().then((res) => { - if (res.data && res.data.length > 0) { + if (res.data && res.data.length > 1) { ElMessage.warning('褰撳墠宸叉棤鐢虫姤鏉冮檺,濡傞渶鐢虫姤璇疯仈绯昏储鍔″寮€閫氭潈闄�'); return; - } else { + } else { router.push({ path: `/i/item-entry/exante-performance-evaluation-function-edit`, query: { @@ -675,7 +678,6 @@ export default { const res = await ProjectType.temporarySave(data.form); if (res.description == '鎴愬姛') { - debugger; data.judgeDisabled = false; data.isEdit = true; data.form = {}; diff --git a/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue b/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue index ee840765aeda8c6080452638b5870caed5fa7ff9..ea992b712533f46922daef7535e0c981c5d0f0d5 100644 --- a/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue +++ b/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue @@ -91,19 +91,19 @@ align="center" ></el-table-column> <el-table-column label="鎿嶄綔" align="center " width="450px"> - <template #default="scoped"> + <template #default="scope"> <el-button v-if=" - scoped.row.stateCode == 2 || - scoped.row.stateCode == 6 || - scoped.row.stateCode == 10 || - scoped.row.stateCode == 15 + scope.row.stateCode == 2 || + scope.row.stateCode == 6 || + scope.row.stateCode == 10 || + scope.row.stateCode == 15 " plain type="success" icon="check" size="small" - @click="onPass(scoped.row)" + @click="onPass(scope.row)" >閫氳繃</el-button > <el-button @@ -112,15 +112,15 @@ icon="close" size="small" v-if=" - scoped.row.stateCode == 2 || - scoped.row.stateCode == 4 || - scoped.row.stateCode == 6 || - scoped.row.stateCode == 7 || - scoped.row.stateCode == 10 || - scoped.row.stateCode == 11 || - scoped.row.stateCode == 15 + scope.row.stateCode == 2 || + scope.row.stateCode == 4 || + scope.row.stateCode == 6 || + scope.row.stateCode == 7 || + scope.row.stateCode == 10 || + scope.row.stateCode == 11 || + scope.row.stateCode == 15 " - @click="onBack(scoped.row)" + @click="onBack(scope.row)" >閫€鍥�</el-button > <el-button @@ -128,7 +128,7 @@ type="primary" icon="download" size="small" - @click="onDownLoad(scoped.row)" + @click="onDownLoad(scope.row)" >涓嬭浇</el-button > <el-button @@ -136,7 +136,7 @@ type="info" icon="View" size="small" - @click="onPreView(scoped.row)" + @click="onPreView(scope.row)" >棰勮</el-button > <el-button @@ -144,7 +144,7 @@ type="primary" icon="View" size="small" - @click="onView(scoped.row)" + @click="onView(scope.row)" >鏌ョ湅椤圭洰瀹℃牳</el-button > <el-button @@ -152,8 +152,8 @@ type="primary" icon="View" size="small" - v-if="scoped.row.stateCode >= 9 && scoped.row.stateCode <= 16" - @click="onLook(scoped.row)" + v-if="scope.row.stateCode >= 9 && scope.row.stateCode <= 16" + @click="onLook(scope.row)" >鏌ョ湅涓€绾ч」鐩寚鏍�</el-button > <el-button @@ -161,8 +161,8 @@ type="primary" icon="edit" size="small" - v-if="scoped.row.stateCode >= 2 && scoped.row.stateCode <= 8" - @click="onWrite(scoped.row)" + v-if="scope.row.stateCode >= 2 && scope.row.stateCode <= 8" + @click="onWrite(scope.row)" >濉啓涓€绾ч」鐩悕绉�</el-button > </template> @@ -256,7 +256,7 @@ </span> </template> </el-dialog> - <!-- 濉啓 --> + <!-- 濉啓/鏌ョ湅 --> <el-dialog top="220px" v-model="onWriteDialog" @@ -409,28 +409,32 @@ export default { data.onBackDialog = true; }; const onPass = (row) => { - ElMessageBox.confirm('鏄惁纭閫氳繃?', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', - }) - .then(() => { - exantePerformanceInquiry - .financeAudit({ auditType: 1, parentId: row.id }) - .then(() => { - ElMessage.success('閫氳繃鎴愬姛'); - getFinanceProjectInfoPage(); - }) - .catch(() => { - ElMessage.error('閫氳繃澶辫触'); - }); + if (row.projectTypeName == null) { + ElMessage.warning('璇峰~鍐欎竴绾ч」鐩悕绉板悗鍐嶅鏍革紒'); + } else { + ElMessageBox.confirm('鏄惁纭閫氳繃?', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', }) - .catch(() => { - ElMessage({ - type: 'info', - message: '鍙栨秷閫氳繃', + .then(() => { + exantePerformanceInquiry + .financeAudit({ auditType: 1, parentId: row.id }) + .then(() => { + ElMessage.success('閫氳繃鎴愬姛'); + getFinanceProjectInfoPage(); + }) + .catch(() => { + ElMessage.error('閫氳繃澶辫触'); + }); + }) + .catch(() => { + ElMessage({ + type: 'info', + message: '鍙栨秷閫氳繃', + }); }); - }); + } }; //鏌ョ湅瀹℃牳鎰忚 const onView = (row) => { @@ -474,6 +478,7 @@ export default { query: { id: row.id, judgepreview: true, + preview: 1, }, }); }; @@ -484,11 +489,11 @@ export default { }; const onWrite = (row) => { data.formDataWrite.id = row.id; - data.formDataWrite.projectTypeName = row.projectTypeName; data.formDataWrite.disabled = false; data.onWriteDialog = true; }; - const onLook = () => { + const onLook = (row) => { + data.formDataWrite.projectTypeName = row.projectTypeName; data.formDataWrite.disabled = true; data.onWriteDialog = true; }; diff --git a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue index 3e11e5e445bd66978ab71d87e747524ceac20262..f81500fac747956329a207920e71e0657dc448ad 100644 --- a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue +++ b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue @@ -215,7 +215,7 @@ :page="queryInfo.pageIndex" :limit="queryInfo.pageSize" :total="dataCount" - @pagination="changePage" + @pagination="changePageQueryInfo" /> </div> </el-card> @@ -315,12 +315,17 @@ <div v-if="activeName == 'first'" class="filter-container"> <el-form :inline="true" class="demo-form-inline"> <el-form-item> - <el-button plain type="primary" icon="edit" size="small" @click="clickRemark" + <el-button + plain + type="primary" + icon="edit" + size="small" + @click="clickRemark" >鍙嶉棰勫鎰忚</el-button > - <el-button plain type="primary" icon="view" size="small" @click="downloadRemark2" + <!-- <el-button plain type="primary" icon="view" size="small" @click="downloadRemark2" >鏌ョ湅鍙嶉棰勫鎰忚</el-button - > + > --> </el-form-item> </el-form> <el-table @@ -888,13 +893,8 @@ > </el-form-item> <el-form-item> - <el-button plain type="primary" icon="Select" size="small" - >鎵归噺閫氳繃</el-button - > - </el-form-item> - <el-form-item> - <el-button plain type="primary" icon="Close" size="small" - >鎵归噺閫€鍥�</el-button + <el-button plain type="primary" icon="edit" size="small" + >鎵归噺鍙嶉</el-button > </el-form-item> <el-form-item> @@ -910,11 +910,6 @@ > </el-upload> </el-form-item> - <el-form-item> - <el-button plain type="primary" icon="edit" size="small" - >鎵归噺鍙嶉</el-button - > - </el-form-item> </el-form> <el-form :inline="true" class="demo-form-inline"> <el-form-item> 鐢虫姤椤圭洰鎬绘暟锛�0 </el-form-item> @@ -1573,6 +1568,7 @@ export default { queryInfo: { budYear: '', entrustmentState: '', + deptName: '', pageIndex: 1, pageSize: 10, }, @@ -1585,7 +1581,7 @@ export default { pageIndex: 1, pageSize: 10, }, - selectionChangeReviewId:[],//瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d + selectionChangeReviewId: [], //瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d addExpertTableInfo: { tableInfo: [], pageIndex: 1, @@ -1652,6 +1648,12 @@ export default { getEnstrustmentStateEnumList(); getClaimEnutrustmentList(); }); + //澶栭潰澶ц〃鏍煎垏鎹㈠垎椤� + const changePageQueryInfo = (val) => { + data.queryInfo.pageIndex = val.page; + data.queryInfo.pageSize = val.limit; + getClaimEnutrustmentList(); + }; //鍒囨崲鍒嗛〉 const changePage = () => {}; //閬撮€変笓瀹� 鍒囨崲鍒嗛〉 @@ -1659,7 +1661,7 @@ export default { //椤圭洰棰勫 鍒囨崲鍒嗛〉 const changeReviewPage = (val) => { operation - .getPreliminaryPage({ + .getPreliminaryList({ entrustmentId: data.reviewTableInfo.id, pageIndex: val.page, pageSize: val.limit, @@ -1734,7 +1736,7 @@ export default { data.reviewTableInfo.id = row.id; data.reviewTableInfo.projectNum = row.projectNum; operation - .getPreliminaryPage({ + .getPreliminaryList({ entrustmentId: row.id, pageIndex: data.reviewTableInfo.pageIndex, pageSize: data.reviewTableInfo.pageSize, @@ -1748,12 +1750,20 @@ export default { }; //閫夋嫨椤圭洰棰勫鐨勬暟鎹� const selectionChangeReview = (val) => { - data.selectionChangeReviewId = val.map(item=> item.id) + data.selectionChangeReviewId = val.map((item) => item.id); }; //鍙嶉棰勫鎰忚 - const clickRemark =() =>{ - - } + const clickRemark = () => { + if (data.selectionChangeReviewId.length == 0) { + ElMessage.warning('鑷冲皯閫夋嫨涓€鏉℃暟鎹�'); + } else { + operation + .modifyByFeedbackIds({ ids: data.selectionChangeReviewId }) + .then((res) => { + console.log(res); + }); + } + }; //鏌ョ湅鍙楃悊璁板綍 const onWatchDetail = () => { console.log('鏌ョ湅鍙楃悊璁板綍'); @@ -1864,6 +1874,7 @@ export default { const getClaimEnutrustmentList = () => { operation.getClaimEnutrustmentList(data.queryInfo).then((res) => { data.exantePerformanceTableInfo.tableInfo = res.data; + data.dataCount = res.total; }); }; const getOfficeList = () => { @@ -1914,6 +1925,7 @@ export default { onInquiryComplete, onConfirmAcceptance, onExpertDelete, + changePageQueryInfo, changePage, addExpert, onWatch, diff --git a/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue b/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue index 861efa7df63b924ec14266f6c33ea4645869265e..1494aaafdf3da9f0959818ad0390aefc0f4f017a 100644 --- a/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue +++ b/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue @@ -12,7 +12,7 @@ icon="circle-close" size="small" @click="onPreliminaryOpinion" - >鍙嶉棰勫鎰忚</el-button + >鎵归噺鍙嶉棰勫鎰忚</el-button > </el-form-item> <el-form-item> @@ -45,24 +45,12 @@ type="index" width="50" ></el-table-column> - <el-table-column - class="positionStyle" - prop="number" - label="娴佹按鍙�" - align="center" - ></el-table-column> <el-table-column class="positionStyle" prop="projectNumber" label="椤圭洰缂栧彿" align="center" ></el-table-column> - <el-table-column - class="positionStyle" - prop="year" - label="鐢虫姤骞翠唤" - align="center" - ></el-table-column> <el-table-column class="positionStyle" prop="projectName" @@ -173,18 +161,9 @@ width="100%" border stripe - @selection-change="handleSelectionChange" header-cell-class-name="headStyle" > - <el-table-column type="selection"> </el-table-column> - <!-- <el-table-column type="index" width="50"> {{ (page - 1) * pageSize + scope.$index + 1 }}</el-table-column> --> <el-table-column label="搴忓彿" type="index" width="50"></el-table-column> - <el-table-column - class="positionStyle" - prop="number" - label="娴佹按鍙�" - align="center" - ></el-table-column> <el-table-column class="positionStyle" prop="projectCode" @@ -337,7 +316,7 @@ export default { pageIndex: 1, pageSize: 10, }, - exantePerformanceSelects: [], + exantePerformanceSelects: [],//鍕鹃€夌殑鏁版嵁id idState: '', LookInfo:{ pageIndex:1, @@ -346,7 +325,7 @@ export default { }); onMounted(async () => { data.idState = router.currentRoute.value.query.ids; - await getPreliminaryPage(); + await getPreliminaryList(); // console.log('state', state); // console.log( // 'store.state.subject.judgeUser', @@ -354,13 +333,10 @@ export default { // ); // data.judgeUser = store.state.subject.judgeUser; }); - const getPreliminaryPage = () => { + const getPreliminaryList = () => { operation - .getPreliminaryPage({ - entrustmentId: data.idState, - pageIndex: 1, - pageSize: 20, - projectNumber: '', + .getPreliminaryList({ + id: data.idState, }) .then((res) => { data.exantePerformanceTableInfo.tableInfo = res.data; @@ -382,13 +358,15 @@ export default { const onViewPreliminaryOpinionSure = () => { data.onBackDialog = true; }; - //鍙嶉棰勫鎰忚 + //鍙嶉棰勫鎰忚 const onPreliminaryOpinion = () => { - router.push('/i/item-entry/declaration-preview'); + operation.modifyByFeedbackIds({ids:data.exantePerformanceSelects}).then((res) =>{ + console.log(res) + }) }; const handleSelectionChange = (val) => { console.log(val); - data.exantePerformanceSelects = val; + data.exantePerformanceSelects = val.map(item => item.preliminaryId); }; const onDistributionOffice = () => { data.onDistributionOfficeDialog = true; @@ -406,19 +384,24 @@ export default { router.push({ path: '/i/item-entry/antecedent-trial', query: { - id: row.id, - entrustmentId: data.entrustmentId, - projectId: row.projectId, + entrustmentId: row.entrustmentId, + preliminaryId: row.preliminaryId, + projectId: row.parentId, }, }); }; const goBack = () => { router.go(-1); }; + //涓嬭浇鐢虫姤涔� + const onDownloadDeclaration = async(row) =>{ + const res = await ProjectType.downloadProjectPdf(row.parentId); + console.log(res) + } return { goBack, onInquiryCompleteSure, - getPreliminaryPage, + getPreliminaryList, onViewPreliminaryOpinionBackSure, onDownLoadPreliminaryOpinion, onViewPreliminaryOpinionSure, @@ -430,6 +413,7 @@ export default { handleSelectionChange, onDistributionOffice, onDistributionOfficeSure, + onDownloadDeclaration, ...toRefs(data), }; }, diff --git a/WebSite/src/views/item-entry/review-scheme-view/index.vue b/WebSite/src/views/item-entry/review-scheme-view/index.vue index a31b4cd897cd8f166c874637d4ebfdc177d5cef2..ae507ba263ebe0df590687e5d1fc8edad0b55672 100644 --- a/WebSite/src/views/item-entry/review-scheme-view/index.vue +++ b/WebSite/src/views/item-entry/review-scheme-view/index.vue @@ -1695,7 +1695,8 @@ export default { path: `/i/item-entry/exante-performance-evaluation-function-edit`, query: { id: row.id, - judgepreview: true + judgepreview: true, + preview: 1, } }); }; diff --git a/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue b/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue index a82aa64b8f316d7bf825efb7df40ef474d0e625c..1871b37f2909a510f06f33ce44c6971f392f7cba 100644 --- a/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue +++ b/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue @@ -120,8 +120,8 @@ size="small" v-if=" scope.row.entrustmentState == 5 || - scope.row.entrustmentState == 6 || - scope.row.entrustmentState == 9 + scope.row.entrustmentState == 6 || + scope.row.entrustmentState == 9 " @click="onDownLoadEntrustmentPdf(scope.row)" >涓嬭浇</el-button @@ -133,7 +133,7 @@ size="small" v-if=" scope.row.entrustmentState != 1 && - scope.row.entrustmentState != 2 + scope.row.entrustmentState != 2 " @click="onLook(scope.row)" >鏌ョ湅</el-button @@ -145,7 +145,7 @@ size="small" v-if=" scope.row.entrustmentState == 1 || - scope.row.entrustmentState == 2 + scope.row.entrustmentState == 2 " @click="onJudgePreView(scope.row)" >瀹℃牳</el-button @@ -266,7 +266,7 @@ destroy-on-close > <el-form ref="formRef" label-width="80px"> - <el-tabs type="border-card"> + <el-tabs type="border-card" @tab-change="change"> <el-tab-pane label="椤圭洰娓呭崟"> <el-form :inline="true" class="demo-form-inline"> <el-form-item> @@ -391,7 +391,7 @@ icon="View" size="small" @click="onView(scope.row)" - >鏌ョ湅棰勫鎰忚</el-button + >鏌ョ湅瀹℃牳鎰忚</el-button > </template> </el-table-column> @@ -399,7 +399,7 @@ > <el-tab-pane label="棰勫缁撴灉" ><el-table - :data="onPreAuditTableInfo" + :data="PrequalificationTableInfo" highlight-current-row width="100%" border @@ -408,16 +408,10 @@ > <el-table-column class="positionStyle" - prop="entrustmentNum" + prop="projectNumber" label="椤圭洰缂栧彿" align="center" ></el-table-column> - <el-table-column - class="positionStyle" - prop="budYear" - label="鐢虫姤骞翠唤" - align="center" - ></el-table-column> <el-table-column class="positionStyle" prop="deptName" @@ -426,16 +420,10 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="projectNum" + prop="projectName" label="椤圭洰鍚嶇О" align="center" ></el-table-column> - <el-table-column - class="positionStyle" - prop="projectState" - label="椤圭洰鐘舵€�" - align="center" - ></el-table-column> <el-table-column label="鎿嶄綔" align="center " width="450px"> <template #default="scope"> <!-- <el-button v-if="scope.row.judgePass" plain type="success" icon="check" size="small" @@ -447,7 +435,7 @@ type="primary" icon="download" size="small" - @click="onDownLoad(scope.row)" + @click="downloadYushen(scope.row)" >涓嬭浇</el-button > <el-button @@ -455,7 +443,7 @@ type="info" icon="View" size="small" - @click="onPreView(scope.row)" + @click="onPreViewYushen(scope.row)" >棰勮</el-button > <el-button @@ -463,7 +451,7 @@ type="info" icon="View" size="small" - @click="onView(scope.row)" + @click="onViewYushen(scope.row)" >鏌ョ湅棰勫鎰忚</el-button > </template> @@ -481,7 +469,7 @@ > <el-table-column class="positionStyle" - prop="entrustmentNum" + prop="projectNumber" label="椤圭洰缂栧彿" align="center" ></el-table-column> @@ -499,7 +487,7 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="projectNum" + prop="projectName" label="椤圭洰鍚嶇О" align="center" ></el-table-column> @@ -551,14 +539,25 @@ > </el-tabs> </el-form> - <template #footer> - <span class="dialog-footer"> - <el-button @click="onJudgePreViewDialog = false">鍙� 娑�</el-button> - <el-button type="primary" @click="onJudgePreViewSure" - >纭� 瀹�</el-button - > - </span> - </template> + </el-dialog> + <!-- 棰勫缁撴灉鏌ョ湅瀹℃牳鎰忚 --> + <el-dialog + v-model="writeDialog" + title="甯傛暀濮旀湰閮ㄩ噸澶ч」鐩簨鍓嶈瘎浼颁簨鍔℃墍棰勫琛�" + > + <el-table + :data="tableData" + :span-method="arraySpanMethod" + border + style="width: 100%" + > + <el-table-column label="涓€绾ф寚鏍�" prop="name"> </el-table-column> + <el-table-column label="浜岀骇鎸囨爣" prop="size" /> + <el-table-column label="璇勪及瑕佺偣" /> + <el-table-column label="棰勫缁撹"> + <el-input type="text"></el-input> + </el-table-column> + </el-table> </el-dialog> </div> </template> @@ -568,6 +567,7 @@ import { onMounted, reactive, toRefs } from 'vue'; import { use } from 'echarts/core'; import { useRouter } from 'vue-router'; import trustLetterManagementFinance from '@/api/trust-letter-management-finance'; +import FinanceOffice from '@/api/financeOffice'; import Moment from 'moment'; import { ElMessage, ElMessageBox } from 'element-plus'; @@ -578,13 +578,39 @@ export default { setup() { const router = useRouter(); const data = reactive({ + writeDialog: false, + tableObj: { + investedEconomic: '', + projectNecessityApproval: '', + rationalityPerformance: '', + feasibilityImplementationPlan: '', + financialSupportRationality: '', + controllabilityFinancingRisks: '', + materialIntegrity: '', + other: '', + }, + tableData: [ + { + name: '椤圭洰绔嬮」蹇呰鎬�', + size: '渚濇嵁鍏呭垎鎬�', + }, + { + size: '闇€姹傝揩鍒囨€�', + }, + { + size: '璐㈡斂鎶曞叆鐩稿叧鎬�', + }, + { + name: '鎶曞叆缁忔祹鎬�', + }, + ], flag: 0, queryInfo: { - budYear: 2023, + budYear: '', deptName: '', entrustmentState: '', pageIndex: 1, - pageSize: 10 + pageSize: 10, }, LookInfo: { pageIndex: 1, @@ -594,16 +620,6 @@ export default { total: 6, queryGenerateDelegateInfo: {}, projectStates: [], - // onEntrustingLetterTableInfo: [ - // { - // projectNumber: '01001', - // budYear: '2023-02-12', - // positionStyle: '2023', - // projectNum: 'test1', - // projectState: '閫氳繃' - // } - // ], - // onEntrustingLetterDialog: false, onJudgePreViewDialog: false, onPassDialog: false, onBackDialog: false, @@ -613,6 +629,7 @@ export default { budYear: '', dataCount: 5, onPreAuditTableInfo: [], + PrequalificationTableInfo: [], //棰勫缁撴灉琛ㄦ牸 onViewTableInfo: [ { auditor: '寮犺暰', @@ -631,6 +648,7 @@ export default { id: '', remark: '', }, + rowId: '', }); Moment, onMounted(() => { @@ -638,43 +656,60 @@ export default { getEntrustmentPage(); }); const getEnstrustmentStateEnumList = () => { - trustLetterManagementFinance.getEnstrustmentStateEnumList().then(res => { - data.projectStates = res.data; - }); + trustLetterManagementFinance + .getEnstrustmentStateEnumList() + .then((res) => { + data.projectStates = res.data; + }); }; const getEntrustmentPage = () => { trustLetterManagementFinance .getEntrustmentPage(data.queryInfo) - .then(res => { + .then((res) => { data.exantePerformanceTableInfo.tableInfo = res.data; data.queryInfo.pageIndex = res.pageIndex; data.queryInfo.pageSize = res.pageSize; data.dataCount = res.total; }); }; - const changePage = val => { + const changePage = (val) => { data.queryInfo.pageIndex = val.page; data.queryInfo.pageSize = val.limit; getEntrustmentPage(); }; - const exantePerformanceEdite = row => { + const exantePerformanceEdite = (row) => { data.onEditeIndexDialog = true; data.editInfo.num = row.num; data.editInfo.id = row.id; }; const onEditeSure = () => { data.onEditeIndexDialog = false; - data.exantePerformanceTableInfo.tableInfo.forEach(res => { + data.exantePerformanceTableInfo.tableInfo.forEach((res) => { if (res.id == data.editInfo.id) { res.num = data.editInfo.num; } }); }; + const change = (val) => { + if (val == 0) { + trustLetterManagementFinance + .getProjectListByEntrustmentId({ id: data.rowId }) + .then((res) => { + data.onPreAuditTableInfo = res.data; + }); + } else if (val == 1) { + FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => { + data.PrequalificationTableInfo = res.data; + }); + } else { + console.log(222); + } + }; // 鏌ヨ const onQuery = async () => { getEntrustmentPage(); - data.exantePerformanceSelects.forEach(r => { - data.exantePerformanceTableInfo.tableInfo.map(x => { + data.exantePerformanceSelects.forEach((r) => { + data.exantePerformanceTableInfo.tableInfo.map((x) => { if (x.id == r.id) { return (x.enableOrNot = '鏄�'); } @@ -686,7 +721,7 @@ export default { ); }; - const handleSelectionChange = val => { + const handleSelectionChange = (val) => { console.log(val); data.exantePerformanceSelects = val; }; @@ -696,17 +731,18 @@ export default { data.flag = 1; trustLetterManagementFinance .getProjectListByEntrustmentId({ id: row.id }) - .then(res => { + .then((res) => { data.onPreAuditTableInfo = res.data; data.onJudgePreViewDialog = true; }); }; //鏌ョ湅 const onLook = (row) => { + data.rowId = row.id; data.flag = 0; trustLetterManagementFinance .getProjectListByEntrustmentId({ id: row.id }) - .then(res => { + .then((res) => { data.onPreAuditTableInfo = res.data; }); data.onJudgePreViewDialog = true; @@ -718,7 +754,7 @@ export default { ); console.log(res); }; - //涓嬭浇椤圭洰鐢虫姤 + //椤圭洰娓呭崟-涓嬭浇椤圭洰鐢虫姤 const onDownLoad = async (row) => { const res = await trustLetterManagementFinance.downloadProjectPdf(row.id); console.log(res); @@ -731,7 +767,34 @@ export default { data.formBack.id = row.id; data.onBackDialog = true; }; - //鍗曚釜閫€鍥� + //椤圭洰娓呭崟-棰勮 + const onPreView = (row) => { + router.push({ + path: `/i/item-entry/exante-performance-evaluation-function-edit`, + query: { + id: row.id, + judgepreview: true, + preview: 1, + }, + }); + }; + //椤圭洰娓呭崟-鏌ョ湅瀹℃牳鎰忚 + const onView = (row) => { + data.LookInfo.parentId = row.id; + trustLetterManagementFinance + .getProjectAuditOpinionPage({ + ...data.LookInfo, + type: 1, + }) + .then((res) => { + data.onViewTableInfo = res.data; + data.LookInfo.pageIndex = res.pageIndex; + data.LookInfo.pageSize = res.pageSize; + data.total = res.total; + }); + data.onViewDialog = true; + }; + //椤圭洰娓呭崟-鍗曚釜閫€鍥� const onBackSure = () => { trustLetterManagementFinance .batchAuditBack({ id: data.EntrustmentId, ids: [data.formBack.id] }) @@ -744,7 +807,7 @@ export default { } }); }; - //鍗曚釜閫氳繃 + //椤圭洰娓呭崟-鍗曚釜閫氳繃 const onPass = (row) => { ElMessageBox.confirm('鏄惁纭閫氳繃?', { confirmButtonText: '纭畾', @@ -756,6 +819,7 @@ export default { .batchAuditPass({ id: data.EntrustmentId, ids: new Array(row.id) }) .then(() => { ElMessage.success('閫氳繃鎴愬姛'); + data.onJudgePreViewDialog = false; getEntrustmentPage(); }) .catch(() => { @@ -770,40 +834,7 @@ export default { }); }); }; - //鏌ョ湅瀹℃牳鎰忚 - const onView = (row) => { - data.LookInfo.parentId = row.id; - trustLetterManagementFinance - .getProjectAuditOpinionPage({ - ...data.LookInfo, - type: 1, - }) - .then((res) => { - data.onViewTableInfo = res.data; - data.LookInfo.pageIndex = res.pageIndex; - data.LookInfo.pageSize = res.pageSize; - data.total = res.total; - }); - data.onViewDialog = true; - }; - const changePageLook = (val) => { - data.LookInfo.pageIndex = val.page; - data.LookInfo.pageSize = val.limit; - trustLetterManagementFinance - .getProjectAuditOpinionPage({ - ...data.LookInfo, - type: 1, - }) - .then((res) => { - data.onViewTableInfo = res.data; - data.total = res.total; - }); - }; - //瀹℃牳閫夊彇鏁版嵁 - const handleSelectionChangeLook = (val) => { - data.lookSelrcts = val.map((item) => item.id); - }; - //鎵归噺閫氳繃 + //椤圭洰娓呭崟-鎵归噺閫氳繃 const batchAuditPass = () => { trustLetterManagementFinance .batchAuditPass({ id: data.EntrustmentId, ids: data.lookSelrcts }) @@ -815,7 +846,7 @@ export default { } }); }; - //鎵归噺閫€鍥� + //椤圭洰娓呭崟-鎵归噺閫€鍥� const batchAuditBack = () => { trustLetterManagementFinance .batchAuditBack({ id: data.EntrustmentId, ids: data.lookSelrcts }) @@ -827,18 +858,57 @@ export default { } }); }; - //棰勮 - const onPreView = (row) => { + //棰勫缁撴灉-涓嬭浇 + const downloadYushen = async (row) => { + const res = await trustLetterManagementFinance.downloadProjectPdf( + row.preliminaryid + ); + console.log(res); + }; + //棰勫缁撴灉-棰勮 + const onPreViewYushen = (row) => { + console.log(row); router.push({ path: `/i/item-entry/exante-performance-evaluation-function-edit`, query: { - id: row.id, + id: row.parentId, judgepreview: true, + preview: 1, }, }); - // router.push('/i/item-entry/declaration-preview'); }; - + //棰勫缁撴灉-鏌ョ湅棰勫鎰忚 + const onViewYushen = (row) => { + if (row.preliminaryId == null) { + ElMessage.warning('鏆傛棤棰勫鎰忚'); + data.writeDialog = true; + } else { + FinanceOffice.getPreliminaryById({ id: row.preliminaryid }).then( + (res) => { + data.tableObj = res.data[0]; + data.writeDialog = true; + } + ); + } + }; + //鏌ョ湅瀹℃牳鎰忚鐨勫垎椤� + const changePageLook = (val) => { + data.LookInfo.pageIndex = val.page; + data.LookInfo.pageSize = val.limit; + trustLetterManagementFinance + .getProjectAuditOpinionPage({ + ...data.LookInfo, + type: 1, + }) + .then((res) => { + data.onViewTableInfo = res.data; + data.total = res.total; + }); + }; + //瀹℃牳閫夊彇鏁版嵁 + const handleSelectionChangeLook = (val) => { + data.lookSelrcts = val.map((item) => item.id); + }; const onJudgeView = () => { data.onViewDialog = true; }; @@ -849,6 +919,33 @@ export default { // data.onEntrustingLetterDialog = true; // }; const selectYear = () => {}; + const arraySpanMethod = (row) => { + if (row.columnIndex === 0) { + if (row.rowIndex === 0) { + return { + rowspan: 3, + colspan: 1, + }; + } else { + return { + rowspan: 0, + colspan: 0, + }; + } + }else if(row.columnIndex === 1){ + if (row.rowIndex === 0) { + return { + rowspan: 1, + colspan: 1, + }; + } else if (row.rowIndex === 1) { + return { + rowspan: 1, + colspan: 1, + }; + } + } + }; return { Moment, getEnstrustmentStateEnumList, @@ -858,6 +955,7 @@ export default { onBack, onPass, onPreView, + change, onQuery, onBackSure, onGenerateDelegateQuery, @@ -874,11 +972,15 @@ export default { handleSelectionChange, batchAuditPass, batchAuditBack, + downloadYushen, + onPreViewYushen, + onViewYushen, exantePerformanceEdite, + arraySpanMethod, // onEntrustingLetter, - ...toRefs(data) + ...toRefs(data), }; - } + }, }; </script> diff --git a/WebSite/src/views/item-entry/trust-letter-management/index.vue b/WebSite/src/views/item-entry/trust-letter-management/index.vue index d7a52ed78d4304db38fd8f07bf2b9e05a28d953c..48be551c6369185b3a997153f1621c4701eb6cf1 100644 --- a/WebSite/src/views/item-entry/trust-letter-management/index.vue +++ b/WebSite/src/views/item-entry/trust-letter-management/index.vue @@ -9,6 +9,7 @@ value-format="YYYY" placeholder="璇烽€夋嫨骞翠唤" @change="selectYear" + clearable /> </el-form-item> <!-- <el-form-item label="涓氬姟澶勫锛�"> @@ -19,6 +20,7 @@ v-model="queryInfo.entrustmentState" placeholder="璇烽€夋嫨" style="width: 100%" + clearable > <el-option v-for="item in projectStates" @@ -139,8 +141,6 @@ @click="handleClick(scope.row)" >鏌ョ湅</el-button > - <!-- <el-button plain type="primary" icon="View" size="small" v-if="scope.row.judgeView" - @click="onJudgeView(scope.row)">瀹℃牳</el-button> --> <el-button plain type="primary" @@ -200,7 +200,7 @@ </span> </template> </el-dialog> - <!-- 鏌ョ湅瀹℃牳鎰忚 --> + <!-- 椤圭洰娓呭崟鏌ョ湅瀹℃牳鎰忚 --> <el-dialog top="220px" title="鏌ョ湅瀹℃牳鎰忚" @@ -262,16 +262,8 @@ destroy-on-close > <el-form ref="formRef" label-width="80px"> - <el-tabs type="border-card"> + <el-tabs type="border-card" @tab-change="change"> <el-tab-pane label="椤圭洰娓呭崟"> - <!-- <el-form :inline="true" class="demo-form-inline"> - <el-form-item> - <el-button plain type="primary" icon="Search" size="small" @click="onQuery">鎵归噺閫氳繃</el-button> - </el-form-item> - <el-form-item> - <el-button plain type="primary" icon="Search" size="small" @click="onQuery">鎵归噺閫€鍥�</el-button> - </el-form-item> - </el-form> --> <el-table :data="onPreAuditTableInfo" highlight-current-row @@ -294,7 +286,7 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="deptCodeAuthorName" + prop="deptName" label="涓氬姟澶勫" align="center" ></el-table-column> @@ -310,7 +302,7 @@ label="椤圭洰鐘舵€�" align="center" ></el-table-column> - <el-table-column label="鎿嶄綔" align="center " width="450px"> + <el-table-column label="鎿嶄綔" align="center " width="400px"> <template #default="scope"> <el-button plain @@ -347,15 +339,15 @@ icon="View" size="small" @click="onView(scope.row)" - >鏌ョ湅棰勫鎰忚</el-button + >鏌ョ湅瀹℃牳鎰忚</el-button > </template> </el-table-column> </el-table></el-tab-pane > - <el-tab-pane label="棰勫缁撴灉" - ><el-table - :data="onPreAuditTableInfo" + <el-tab-pane label="棰勫缁撴灉"> + <el-table + :data="PrequalificationTableInfo" highlight-current-row width="100%" border @@ -364,16 +356,10 @@ > <el-table-column class="positionStyle" - prop="serialNumber" + prop="projectNumber" label="椤圭洰缂栧彿" align="center" ></el-table-column> - <el-table-column - class="positionStyle" - prop="budYear" - label="鐢虫姤骞翠唤" - align="center" - ></el-table-column> <el-table-column class="positionStyle" prop="deptName" @@ -382,16 +368,10 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="projectNum" + prop="projectName" label="椤圭洰鍚嶇О" align="center" ></el-table-column> - <el-table-column - class="positionStyle" - prop="entrustmentState" - label="椤圭洰鐘舵€�" - align="center" - ></el-table-column> <el-table-column label="鎿嶄綔" align="center " width="450px"> <template #default="scope"> <!-- <el-button v-if="scope.row.judgePass" plain type="success" icon="check" size="small" @@ -403,7 +383,7 @@ type="primary" icon="download" size="small" - @click="onDownLoad(scope.row)" + @click="downloadYushen(scope.row)" >涓嬭浇</el-button > <el-button @@ -411,7 +391,7 @@ type="info" icon="View" size="small" - @click="onPreView(scope.row)" + @click="onPreViewYushen(scope.row)" >棰勮</el-button > <el-button @@ -419,13 +399,13 @@ type="info" icon="View" size="small" - @click="onView(scope.row)" + @click="onViewYushen(scope.row)" >鏌ョ湅棰勫鎰忚</el-button > </template> </el-table-column> - </el-table></el-tab-pane - > + </el-table> + </el-tab-pane> <el-tab-pane label="璇勫缁撴灉" ><el-table :data="onViewAppraisalResultTableInfo" @@ -437,7 +417,7 @@ > <el-table-column class="positionStyle" - prop="serialNumber" + prop="projectNumber" label="椤圭洰缂栧彿" align="center" ></el-table-column> @@ -455,7 +435,7 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="projectNum" + prop="projectName" label="椤圭洰鍚嶇О" align="center" ></el-table-column> @@ -507,15 +487,197 @@ > </el-tabs> </el-form> + </el-dialog> + <!-- 棰勫缁撴灉鏌ョ湅瀹℃牳鎰忚 --> + <el-drawer + v-model="writeDialog" + :direction="direction" + :before-close="handleClose" + size="40%" + :lock-scroll="false" + > + <table border="1" class="tab_table2" cellspacing="0"> + <tr> + <td colspan="4">甯傛暀濮旀湰閮ㄩ噸澶ч」鐩簨鍓嶈瘎浼颁簨鍔℃墍棰勫琛�</td> + </tr> + <tr> + <td>涓€绾ф寚鏍�</td> + <td>浜岀骇鎸囨爣</td> + <td>璇勪及瑕佺偣</td> + <td>棰勫缁撹</td> + </tr> + <tr> + <td rowspan="3">椤圭洰绔嬮」蹇呰鎬�</td> + <td>渚濇嵁鍏呭垎鎬�</td> + <td> + 椤圭洰鍐呭涓庡浗瀹躲€佹湰甯傚畯瑙傛斂绛栥€佽涓氭斂绛栫浉绗︼紝涓庢湰閮ㄩ棬鑱岃兘銆佺浉鍏充笓椤硅鍒掋€佸綋骞撮噸鐐瑰伐浣滅浉绗� + </td> + <td rowspan="3"> + <el-input + v-model="tableObj.investedEconomic" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td>闇€姹傝揩鍒囨€�</td> + <td>椤圭洰鏈夌‘瀹氱殑鏈嶅姟瀵硅薄鎴栧彈鐩婂璞★紝鐜板疄闇€姹傝揩鍒囷紝娌℃湁鍙浛浠f€�</td> + </tr> + <tr> + <td>璐㈡斂鎶曞叆鐩稿叧鎬�</td> + <td>椤圭洰鍏锋湁鍏叡鎬э紝灞炰簬鍏叡璐㈡斂鏀寔鐨勮寖鍥�</td> + </tr> + <tr> + <td rowspan="3">鎶曞叆缁忔祹鎬�</td> + <td>鎶曞叆璧勯噾璁鸿瘉鍏呭垎鎬�</td> + <td>瀵规姇鍏ラ噺缁忚繃浜嗗繀瑕佺殑瀹℃牳杩囩▼</td> + <td rowspan="3"> + <el-input + v-model="tableObj.projectNecessityApproval" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td>棰勭畻缂栧埗绉戝鍚堢悊鎬�</td> + <td>椤圭洰棰勭畻涓庨」鐩唴瀹圭浉鍖归厤</td> + </tr> + <tr> + <td>閲嶅鎶曞叆椋庨櫓</td> + <td> + 娌℃湁绫讳技椤圭洰寰楀埌璐㈡斂璧勯噾鏀寔锛岄渶姹傝€咃紙鍙楃泭瀵硅薄锛夌殑闇€姹傛病鏈夊叾浠栧悓绫婚」鐩噸澶嶆姇鍏� + </td> + </tr> + <tr> + <td rowspan="3">缁╂晥鐩爣鍚堢悊鎬�</td> + <td>缁╂晥鐩爣鏄庣‘鎬�</td> + <td>缁╂晥鐩爣鎸囧悜鏄庣‘锛屼笖涓庨儴闂ㄩ暱鏈熻鍒掔洰鏍囥€佸勾搴﹀伐浣滅洰鏍囦竴鑷�</td> + <td rowspan="3"> + <el-input + v-model="tableObj.rationalityPerformance" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td>缁╂晥鐩爣鐩稿叧鎬�</td> + <td> + 缁╂晥鐩爣涓庨」鐩璁¤В鍐崇殑闂鍖归厤锛屼笌椤圭洰鍐呭銆侀」鐩粡璐规敮鍑鸿寖鍥村尮閰� + </td> + </tr> + <tr> + <td>缁╂晥鐩爣鍙绋嬪害</td> + <td> + 缁╂晥鐩爣鍦ㄤ竴瀹氭湡闄愬唴鍏锋湁杈冨己鐨勫彲瀹炵幇鎬э紝鍏锋湁涓€瀹氱殑鍓嶇灮鎬у拰鎸戞垬鎬� + </td> + </tr> + <tr> + <td rowspan="3">瀹炴柦鏂规鍙鎬�</td> + <td>鍓嶆湡绛瑰瀹屽鎬�</td> + <td>椤圭洰缁忚繃蹇呰鐨勮皟鐮斻€侀闄╄瘎浼扮瓑鍓嶆湡宸ヤ綔</td> + <td rowspan="3"> + <el-input + v-model="tableObj.feasibilityImplementationPlan" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td>瀹炴柦璁″垝鍚堢悊鎬�</td> + <td> + 椤圭洰瀹炴柦璁″垝瀹屾暣銆佸彲琛屻€佸悎鐞嗭紝鍏峰鏄庣‘鐨勯」鐩寖鍥淬€侀」鐩唴瀹广€侀」鐩粍缁囥€佽繘搴﹀畨鎺掞紝椤圭洰鐩稿叧鐨勫熀纭€璁炬柦銆佽澶囨潯浠惰兘澶熷緱浠ユ湁鏁堜繚闅� + </td> + </tr> + <tr> + <td>椤圭洰绠$悊鏈哄埗鍋ュ叏鎬�</td> + <td> + 椤圭洰鍏峰椤圭洰璐ㄩ噺鏍囧噯銆佹斂搴滈噰璐涓虹害鏉熸満鍒讹紙瀵逛簬娑夊強鏀垮簻閲囪喘琛屼负鐨勯」鐩級銆侀」鐩墽琛岃繃绋嬬鎺ф帾鏂芥垨鏈哄埗銆侀」鐩缓鍚庣淮鎶ゆ満鍒讹紙瀵逛簬淇℃伅鍖栧缓璁剧被椤圭洰锛夈€佽祫鏂欏綊妗f満鍒讹紝鐩稿叧鎺柦銆佹満鍒惰兘澶熶繚璇侀」鐩『鍒╁疄鏂� + </td> + </tr> + <tr> + <td rowspan="2">绛硅祫鍚堣鎬�</td> + <td>璧勯噾鏀寔鍚堢悊鎬�</td> + <td> + 娌℃湁涓庡叾瀹冮」鐩殑鏀寔鑼冨洿鍜屽璞″瓨鍦ㄤ氦鍙夐噸鍙狅紱璧勯噾鏀寔鏂瑰紡绉戝鍚堢悊銆� + </td> + <td> + <el-input + v-model="tableObj.financialSupportRationality" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td>绛硅祫椋庨櫓鍙帶鎬э紙鑻ュ惈闈炶储鏀挎€ц祫閲戯級</td> + <td> + 瀵圭璧勯闄╋紙鍚嚜绛圭瓑鍏跺畠娓犻亾鏉ユ簮璧勯噾锛夋湁鍏ㄩ潰鐨勮璇嗭紱閽堝棰勬湡椋庨櫓璁惧畾搴斿鎺柦锛屼笖搴斿鎺柦鍙銆佹湁鏁堛€� + </td> + <td> + <el-input + v-model="tableObj.controllabilityFinancingRisks" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td colspan="3">鏉愭枡鐨勫畬鏁存€�</td> + + <td> + <el-input + v-model="tableObj.materialIntegrity" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + <tr> + <td colspan="3">鍏朵粬</td> + + <td> + <el-input + v-model="tableObj.other" + :autosize="{ minRows: 8, maxRows: 10 }" + type="textarea" + placeholder="璇疯緭鍏�" + /> + </td> + </tr> + </table> + + <!-- <span>涓婁紶闄勪欢锛�</span> + <UploadFile + v-model:modelValue="uploadDialog1" + @upload-handler="uploadHandler1" + > + </UploadFile> --> + <!-- <el-button + plain + type="info" + icon="Upload" + size="small" + @click="uploadDialog1 = true" + >鏂板</el-button + > --> + <template #footer> <span class="dialog-footer"> - <el-button @click="onJudgePreViewDialog = false">鍙� 娑�</el-button> - <el-button type="primary" @click="onJudgePreViewSure" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="save">淇� 瀛�</el-button> </span> </template> - </el-dialog> + </el-drawer> <!-- 鐢熸垚濮旀墭鍑藉脊绐� --> <el-dialog top="220px" @@ -523,6 +685,7 @@ v-model="onEntrustingLetterDialog" width="45%" destroy-on-close + @close="closeWeituo" > <el-form ref="formRef" label-width="80px"> <el-form :inline="true" class="demo-form-inline"> @@ -571,7 +734,7 @@ ></el-table-column> <el-table-column class="positionStyle" - prop="serialNumber" + prop="projectNumber" label="椤圭洰娴佹按鍙�" align="center" ></el-table-column> @@ -612,6 +775,7 @@ import { useRouter } from 'vue-router'; import trustLetterManagement from '@/api/trust-letter-management'; import exantePerformanceInquiry from '@/api/exante-performance-inquiry'; import trustLetterManagementFinance from '@/api/trust-letter-management-finance'; +import FinanceOffice from '@/api/financeOffice'; import { ElMessage } from 'element-plus'; import Moment from 'moment'; @@ -630,7 +794,7 @@ export default { pageSize: 10, }, queryGenerateDelegateInfo: { - budYear: '2023', + budYear: 2023, }, projectStates: [], onEntrustingLetterTableInfo: [], @@ -641,9 +805,9 @@ export default { onViewDialog: false, editInfo: {}, num: 0, - budYear: '', dataCount: 5, onPreAuditTableInfo: [], + PrequalificationTableInfo: [], //棰勫缁撴灉琛ㄦ牸 onViewTableInfo: [], onViewAppraisalResultTableInfo: [], exantePerformanceTableInfo: { @@ -658,6 +822,18 @@ export default { parentId: '', }, total: 1, + tableObj: { + investedEconomic: '', + projectNecessityApproval: '', + rationalityPerformance: '', + feasibilityImplementationPlan: '', + financialSupportRationality: '', + controllabilityFinancingRisks: '', + materialIntegrity: '', + other: '', + }, + writeDialog: false, + rowId: '', }); Moment, onMounted(() => { @@ -727,6 +903,7 @@ export default { }; //鐐瑰嚮鏌ョ湅 const handleClick = (row) => { + data.rowId = row.id; trustLetterManagement .getProjectListByEntrustmentId({ id: row.id }) .then((res) => { @@ -742,7 +919,7 @@ export default { }; //鐢熸垚濮旀墭鍑界‘璁� const saveEntrustment = () => { - if (data.tableId.legnth > 0) { + if (data.tableId.length > 0) { trustLetterManagement .saveEntrustment({ budYear: data.queryGenerateDelegateInfo.budYear, @@ -781,7 +958,6 @@ export default { ); console.log(res); }; - const onDownLoad = () => {}; const onBack = () => { data.onBackDialog = true; }; @@ -794,16 +970,22 @@ export default { data.onPassDialog = true; }; - const onView = (row) => { - data.LookInfo.parentId = row.id; - exantePerformanceInquiry - .getProjectAuditOpinionPage({ ...data.LookInfo, type: 1 }) - .then((res) => { - data.onViewTableInfo = res.data; - data.total = res.total; + const change = (val) => { + if (val == 0) { + trustLetterManagement + .getProjectListByEntrustmentId({ id: data.rowId }) + .then((res) => { + data.onPreAuditTableInfo = res.data; + }); + } else if (val == 1) { + FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => { + data.PrequalificationTableInfo = res.data; }); - data.onViewDialog = true; + } else { + console.log(222); + } }; + //椤圭洰娓呭崟-鍒嗛〉 const changePageLook = (val) => { data.LookInfo.pageIndex = val.page; data.LookInfo.pageSize = val.limit; @@ -817,22 +999,74 @@ export default { data.total = res.total; }); }; + //椤圭洰娓呭崟-涓嬭浇 + const onDownLoad = async (row) => { + const res = await trustLetterManagementFinance.downloadProjectPdf(row.id); + console.log(res); + }; + //椤圭洰娓呭崟-棰勮 const onPreView = (row) => { router.push({ path: `/i/item-entry/exante-performance-evaluation-function-edit`, query: { id: row.id, judgepreview: true, + preview: 1, }, }); - //router.push('/i/item-entry/declaration-preview'); }; - - const onJudgeView = () => { + //椤圭洰娓呭崟-鏌ョ湅棰勫鎰忚 + const onView = (row) => { + data.LookInfo.parentId = row.id; + exantePerformanceInquiry + .getProjectAuditOpinionPage({ ...data.LookInfo, type: 1 }) + .then((res) => { + data.onViewTableInfo = res.data; + data.total = res.total; + }); data.onViewDialog = true; }; - - const onGenerateDelegateQuery = () => {}; + //棰勫缁撴灉-涓嬭浇 + const downloadYushen = async (row) => { + const res = await trustLetterManagementFinance.downloadProjectPdf( + row.preliminaryid + ); + console.log(res); + }; + //棰勫缁撴灉-棰勮 + const onPreViewYushen = (row) => { + console.log(row) + router.push({ + path: `/i/item-entry/exante-performance-evaluation-function-edit`, + query: { + id: row.parentId, + judgepreview: true, + preview: 1, + }, + }); + }; + //棰勫缁撴灉-鏌ョ湅棰勫鎰忚 + const onViewYushen = (row) => { + if (row.preliminaryId == null) { + ElMessage.warning('鏆傛棤棰勫鎰忚'); + } else { + FinanceOffice.getPreliminaryById({ id: row.preliminaryid }).then( + (res) => { + data.tableObj = res.data[0]; + data.writeDialog = true; + } + ); + } + }; + const onGenerateDelegateQuery = () => { + trustLetterManagement + .getPassProjectTypeList({ + budYear: data.queryGenerateDelegateInfo.budYear, + }) + .then((res) => { + data.onEntrustingLetterTableInfo = res.data; + }); + }; const onEntrustingLetter = () => { trustLetterManagement @@ -845,16 +1079,26 @@ export default { }); }; const selectYear = () => {}; + //鍏抽棴濮旀墭鍑藉脊绐� + const closeWeituo = () => { + data.queryGenerateDelegateInfo = { + budYear: 2023, + }; + }; return { Moment, selectYear, onView, + onViewYushen, + change, changePageLook, onBack, onDownLoad, downloadEntrustmentPdf, onPass, onPreView, + downloadYushen, + onPreViewYushen, onQuery, onBackSure, onGenerateDelegateQuery, @@ -864,7 +1108,6 @@ export default { onChange, saveEntrustment, handleSelectionChange_weituo, - onJudgeView, onEditeSure, changePage, getEnstrustmentStateEnumList, @@ -872,6 +1115,7 @@ export default { handleSelectionChange, exantePerformanceEdite, onEntrustingLetter, + closeWeituo, ...toRefs(data), }; },