diff --git a/WebSite/src/api/review-management-operation.js b/WebSite/src/api/review-management-operation.js index 4d57f2af1422674924148c1e23f5217183fba923..8621b8c52d930f5b58b1601b209db3ab3431e118 100644 --- a/WebSite/src/api/review-management-operation.js +++ b/WebSite/src/api/review-management-operation.js @@ -251,6 +251,10 @@ class operation extends Base { responseType: 'blob' }); } + //濮旀墭鍑借瘎瀹℃柟妗堟槑缁� + static getPlanReviewById(data) { + return request.post('/planReview/getPlanReviewById', data); + } } export default operation; 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 e722f41fb5084fe906cff34f1c7c4a07304a4bca..1f3f23a2e3ca7cd93edee547a11e5deb5ee745ec 100644 --- a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue +++ b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue @@ -651,7 +651,7 @@ type="primary" icon="edit" size="small" - @click="editSolutionTable" + @click="editSolutionTable(scoped.row)" >缂栬緫</el-button > <el-button @@ -937,7 +937,7 @@ <el-button v-if=" scope.row.feedbackStatus == 1 || - scope.row.feedbackStatus == 0 + scope.row.feedbackStatus == 0 " plain type="primary" @@ -1255,185 +1255,202 @@ width="60%" destroy-on-close > - <el-card class="box-card"> - <template #header> - <div class="card-header"> - <span>璇勫鏂规</span> - </div> - </template> - <div class="text item"> - <el-form :inline="true" class="demo-form-inline"> - <el-form-item label="璇勫鏃ユ湡锛�"> - <el-date-picker - v-model="value1" - type="date" - placeholder="Pick a date" - /> - </el-form-item> - <el-form-item label="璇勫鍦扮偣锛�"> - <el-input type="text" /> - </el-form-item> - </el-form> - </div> + <el-card shadow="never" style="margin-bottom: 20px" class="charts-card"> + <el-form> + <el-form-item> + 璇勫鏃堕棿锛�<el-date-picker + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + v-model="valueOption" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + <br /> + <el-select + style="width: 80px" + v-model="valueSelect" + placeholder="璇烽€夋嫨" + > + <el-option + v-for="item in dateOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item> + 璇勫鍦扮偣锛� + <el-input v-model="queryInfo3" style="width: 250px" + /></el-form-item> + </el-form> </el-card> - <el-card class="box-card"> - <template #header> - <div class="card-header"> - <span>閫夋嫨璇勫鐨勯」鐩�</span> - </div> - </template> - <div class="text item"> - <el-table - :data="addExpertTableInfo.tableInfo" - highlight-current-row - width="100%" - border - stripe - header-cell-class-name="headStyle" - > - <el-table-column type="selection"> </el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="椤圭洰鍚嶇О" - align="center" - ></el-table-column> - </el-table> - </div> + <el-card shadow="never" style="margin-bottom: 20px" class="charts-card"> + <el-table + :data="projecttableInfo" + highlight-current-row + width="100%" + border + stripe + header-cell-class-name="headStyle" + @selection-change="projectSelection" + > + <el-table-column type="selection"> </el-table-column> + <el-table-column + class="positionStyle" + prop="projectNumber" + label="缂栧彿" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="deptName" + label="澶勫" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="projectName" + label="椤圭洰" + align="center" + ></el-table-column> + </el-table> </el-card> - <el-card class="box-card"> - <template #header> - <div class="card-header"> - <span>閫変腑椤圭洰鏁�</span> - </div> - </template> - <div class="text item"> - <div style="text-align: center; margin-bottom: 15px"> - <span>璇勫涓撳缁�</span> - </div> - <el-table - :data="addExpertTableInfo.tableInfo" - highlight-current-row - width="100%" - border - stripe - header-cell-class-name="headStyle" + <el-card shadow="never" style="margin-bottom: 30px" class="charts-card"> + <el-table + :data="expertInfo" + highlight-current-row + width="100%" + border + stripe + header-cell-class-name="headStyle" + @selection-change="projectChange" + > + <el-table-column type="selection"> </el-table-column> + <el-table-column + class="positionStyle" + prop="expertName" + label="涓撳鍚嶇О" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="workPlace" + label="宸ヤ綔鍗曚綅" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="ministries" + label="閮ㄩ棬" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="post" + label="鑱屽姟" + align="center" + ></el-table-column> + <el-table-column + class="positionStyle" + prop="experttype" + label="涓撳绫诲瀷" + align="center" > - <el-table-column type="selection"> </el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="椤圭洰鍚嶇О" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="宸ヤ綔鍗曚綅" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="閮ㄩ棬" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="鑱屽姟" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - label="涓撳绫诲瀷" - align="center" - > - <template #default="scope"> - <el-radio-group v-model="scope.row.radio"> - <el-radio label="1" size="small">璐㈠姟涓撳</el-radio> - <el-radio label="2" size="small">涓氬姟涓撳</el-radio> - </el-radio-group> - </template> - </el-table-column> - <el-table-column - class="positionStyle" - label="缁勯暱閫夋嫨" - align="center" - ><el-radio label="" size="small"></el-radio - ></el-table-column> - <el-table-column - class="positionStyle" - label="缁勫憳閫夋嫨" - align="center" - > - <template #default="scope" - ><el-radio-group v-model="scope.row.radio1" class="ml-4"> - <el-radio label="" size="small"></el-radio></el-radio-group - ></template> - </el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="宸查個璇蜂笓瀹剁殑娆℃暟锛堢孩鑹叉爣璁颁唬琛ㄨ秴鍑烘鏁帮級" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="瀹℃牳缁撴灉" - align="center" - ></el-table-column> - <el-table-column - class="positionStyle" - prop="serialNumber" - label="鎿嶄綔" - align="center" - ></el-table-column> - </el-table> - </div> + <template #default="scoped"> + <div> + {{ + scoped.row.expertType.includes(',') ? '璐㈠姟涓撳' : '涓氬姟涓撳' + }} + </div> + </template> + </el-table-column> + <el-table-column + class="positionStyle" + prop="experttype" + label="缁勯暱閫夋嫨" + align="center" + > + <template #default="scoped"> + <el-radio v-model="scoped.row.type" :label="1">缁勯暱</el-radio> + </template> + </el-table-column> + <el-table-column + class="positionStyle" + prop="experttype" + label="缁勫憳閫夋嫨" + align="center" + > + <template #default="scoped"> + <el-radio v-model="scoped.row.type" :label="2">缁勫憳</el-radio> + </template> + </el-table-column> + </el-table> </el-card> - <el-card class="box-card"> + <el-card shadow="never" style="margin-bottom: 20px" class="charts-card"> <template #header> <div class="card-header"> - <span>绗竴鑺� 涓撳棰勫浼�</span> + <div>绗竴鑺� 涓撳棰勫浼�</div> </div> </template> - <div class="text item"> - <el-form :inline="true" class="demo-form-inline"> - <el-form-item label="鏃堕棿锛�"> - <el-date-picker - v-model="value1" - type="date" - placeholder="Pick a date" - /> - </el-form-item> - <el-form-item label="涓绘寔浜猴細"> - <el-input type="text" /> - </el-form-item> - </el-form> - </div> + <el-form> + <el-row :gutter="20"> + <el-col :span="11"> + <el-form-item> + 鏃堕棿锛� + <el-date-picker + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + v-model="valueYear1" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> </el-form-item + ></el-col> + <!-- <el-col :span="1">|</el-col> --> + <el-col :span="11" style="float: right"> + <el-form-item> + 涓绘寔浜�: + <el-input + v-model="queryInfo1" + style="width: 250px" + /> </el-form-item + ></el-col> + </el-row> + </el-form> </el-card> - <el-card class="box-card"> + <el-card shadow="never" style="margin-bottom: 20px" class="charts-card"> <template #header> <div class="card-header"> - <span>绗簩鑺� 涓撳璇勫浼�</span> + <div>绗簩鑺� 涓撳璇勫浼�</div> </div> </template> - <div class="text item"> - <el-form :inline="true" class="demo-form-inline"> - <el-form-item label="鏃堕棿锛�"> - <el-date-picker - v-model="value1" - type="date" - placeholder="Pick a date" - /> - </el-form-item> - <el-form-item label="涓绘寔浜猴細"> - <el-input type="text" /> - </el-form-item> - </el-form> - </div> + <el-form> + <el-row :gutter="20"> + <el-col :span="11"> + <el-form-item> + 鏃堕棿锛� + <el-date-picker + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + v-model="valueYear2" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> </el-form-item + ></el-col> + <el-col :span="11" style="float: right"> + <el-form-item> + 涓绘寔浜�: + <el-input + v-model="queryInfo2" + style="width: 250px" + /> </el-form-item + ></el-col> + </el-row> + </el-form> </el-card> <template #footer> <span class="dialog-footer"> @@ -2308,7 +2325,7 @@ export default { watchDetailTableInfo: [], tableIdList: [], tableIds: [], - entrustmentState: '', + entrustmentState: '' }); const uplChange = row => { data.expertTel = row.expertTel; @@ -2316,8 +2333,8 @@ export default { data.onNew = true; getEntrustmentExpertManuscriptFileList(); }; - const IdChange = (val) => { - data.tableIdList = val.map((x) => { + const IdChange = val => { + data.tableIdList = val.map(x => { return x.id; }); }; @@ -2533,14 +2550,12 @@ export default { }); }; const getPlanReviewList = () => { - operation - .getPlanReviewList({ id: data.reviewTableInfo.id }) - .then((res) => { - data.solutionTableInfo.tableInfo = res.data; - data.solution = data.solutionTableInfo.tableInfo[0].reviewAddress; - data.planIds = data.solutionTableInfo.tableInfo[0].id; - getEntrustmentExpertManuscriptList(); - }); + operation.getPlanReviewList({ id: data.reviewTableInfo.id }).then(res => { + data.solutionTableInfo.tableInfo = res.data; + data.solution = data.solutionTableInfo.tableInfo[0].reviewAddress; + data.planIds = data.solutionTableInfo.tableInfo[0].id; + getEntrustmentExpertManuscriptList(); + }); }; //鏂板缓璇勫鏂规 const showDialog = () => { @@ -2576,17 +2591,17 @@ export default { //閫€鍥� // const onBack = () => { data.onBackDialog = true; }; - const onBack = async (row) => { + const onBack = async row => { data.onBackDialog = true; data.tableIds = row.id; data.entrustmentState = row.entrustmentState; await getBackProjectListByEntrustmentId(row.id); }; - const getBackProjectListByEntrustmentId = (v) => { - Financial.getProjectListByEntrustmentId({ id: v }).then((res) => { + const getBackProjectListByEntrustmentId = v => { + Financial.getProjectListByEntrustmentId({ id: v }).then(res => { data.watchDetailTableInfo = res.data; - data.tableIdList = data.watchDetailTableInfo.map((item) => { + data.tableIdList = data.watchDetailTableInfo.map(item => { return item.id; }); }); @@ -2644,7 +2659,7 @@ export default { const onWatchDetail = () => { console.log('鏌ョ湅鍙楃悊璁板綍'); }; - const downloadEntrustmentPdf = async (row) => { + const downloadEntrustmentPdf = async row => { const res = await trustLetterManagementFinance.downloadEntrustmentPdf( row.id ); @@ -2686,18 +2701,18 @@ export default { Financial.batchClaimBack({ ids: data.tableIdList, id: data.tableIds, - backState: data.entrustmentState, - }).then((res) => { + backState: data.entrustmentState + }).then(res => { console.log(res); if (data.tableIds.length == 0) { ElMessage({ message: '鎵€鏈夐」鐩凡閫€鍥炲埌璐d换澶勫', - type: 'success', + type: 'success' }); } else { ElMessage({ message: '褰撳墠宸插嬀閫夌殑椤圭洰閫€鍥炲埌璐d换澶勫', - type: 'success', + type: 'success' }); } data.onBackDialog = false; @@ -2843,8 +2858,29 @@ export default { const onConferenceNotice = () => { console.log(data.conferenceList); }; - const editSolutionTable = () => { + const editSolutionTable = row => { data.editSolutionTableDialog = true; + operation.getPlanReviewById({ id: row.id }).then(res => { + data.state = true; + data.BaoCunArr = res.data; + data.relatedId = data.BaoCunArr[0].id; + data.exantePerformanceTableInfo.tableInfo = + data.BaoCunArr[0].entrustmentExperts; + data.valueOption = data.BaoCunArr[0].reviewDate; + data.queryInfo3 = data.BaoCunArr[0].reviewAddress; + data.valueSelect = data.BaoCunArr[0].reviewDay; + data.valueYear1 = data.BaoCunArr[0].prepareTime; + data.queryInfo1 = data.BaoCunArr[0].prepareHost; + data.valueYear2 = data.BaoCunArr[0].reviewTime; + data.queryInfo2 = data.BaoCunArr[0].reviewHost; + data.projecttableInfo = data.BaoCunArr[0].entrustmentProjectOuts; + data.expertInfo = data.BaoCunArr[0].planReviewExperts; + data.authorization = + data.BaoCunArr[0].planReviewExperts[0].entrustmentId; + data.weiID = data.projecttableInfo.map(item => { + return item.id; + }); + }); }; const onSaveAndClose = () => { saveEntrustmentFeedback(); @@ -2984,7 +3020,7 @@ export default { operation .getEntrustmentExpertManuscriptList({ entrustmentId: data.reviewTableInfo.id, - planId: data.planIds, + planId: data.planIds }) .then(res => { data.expertsWriteTableInfo.tableInfo = res.data; @@ -3005,10 +3041,10 @@ export default { data.projectNumber = key; getEntrustmentExpertScoreByProjectId(data.projectId); }; - const getEntrustmentExpertScoreByProjectId = (v) => { + const getEntrustmentExpertScoreByProjectId = v => { operation .getEntrustmentExpertScoreByProjectId({ parentId: v }) - .then((res) => { + .then(res => { data.markInfo = res.data[0].expertManuscriptOuts; data.avgScore = res.data[0].avgScore; }); @@ -3165,7 +3201,7 @@ export default { data.expertTel = row.expertTel; }; //鏌ョ湅 - const onRecord = (row) => { + const onRecord = row => { data.disabled = true; data.disabled1 = true; data.addFeedbackDialog = true; @@ -3175,7 +3211,7 @@ export default { data.radio = row.conclusionStatus; }; //缂栬緫 - const onRecor = (row) => { + const onRecor = row => { data.disabled1 = true; data.addFeedbackDialog = true; getEntrustmentExpertScoreByProjectId(row.id); @@ -3186,10 +3222,10 @@ export default { const buttonUp = () => { data.onNews = true; }; - const uploadChanges = (file) => { + const uploadChanges = file => { const formData = new FormData(); formData.append('file', file.raw); - operation.uploadReviewReportFile(formData).then((res) => { + operation.uploadReviewReportFile(formData).then(res => { console.log(res); if (res.filename) { var blob = new Blob([res.data], { type: res.data.type }); @@ -3216,12 +3252,12 @@ export default { }); }; const modifyFileParentId = () => { - operation.modifyFileParentId({ fileIds: [], parentId: 0 }).then((res) => { + operation.modifyFileParentId({ fileIds: [], parentId: 0 }).then(res => { console.log(res); }); }; const downloadAttachFileById = () => { - operation.downloadAttachFileById(data.removeId).then((res) => { + operation.downloadAttachFileById(data.removeId).then(res => { console.log(res); if (res.filename) { var blob = new Blob([res.data], { type: res.data.type });