From f294efb8c01ad8b0704a92d51c14dbd55d898874 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 23 十月 2025 16:49:46 +0800
Subject: [PATCH] 拆分原材料和外购成品的业务流程(报检、下单、检验)
---
src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue | 404 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 270 insertions(+), 134 deletions(-)
diff --git a/src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue b/src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue
index 024cb58..0ae1168 100644
--- a/src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue
+++ b/src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue
@@ -2,52 +2,58 @@
<!-- 7.7璐ㄩ噺鐩戞帶璁″垝-->
<div class="app-container">
<div class="table-card">
- <div style="display: flex;justify-content: space-between;">
- <el-form :model="yearForm" ref="yearForm" size="small" :inline="true">
- <el-form-item label="璁″垝鍚嶇О" prop="monitorName">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="yearForm.monitorName"
+ <div style="display: flex;justify-content: space-between">
+ <div style="display: flex;">
+ <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+ <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">璁″垝鍚嶇О</span>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="yearForm.monitorName"
@keyup.enter.native="getYearPlanList"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button icon="el-icon-refresh" size="mini" @click="clearYear">閲� 缃�</el-button>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="getYearPlanList">鏌� 璇�</el-button>
- </el-form-item>
- </el-form>
- <div>
+ </div>
+ <div style="line-height: 30px;">
+ <el-button type="primary" size="mini" @click="getYearPlanList">鏌ヨ</el-button>
+ <el-button size="mini" @click="clearYear">閲嶇疆</el-button>
+ </div>
+ </div>
+ <div style="line-height: 30px;">
<el-button size="small" type="primary" @click="leadInto">瀵煎叆</el-button>
</div>
</div>
<lims-table :tableData="yearTableData" :column="yearColumnData" :page="yearPage" :tableLoading="yearLoading"
- height="40vh" @pagination="pagination" :rowClick="rowClick"
- key="yearTableData"></lims-table>
+ :height="'calc(100vh - 34em)'" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table>
</div>
<div style="margin-top: 20px">
- <div style="display: flex;justify-content: space-between;">
- <el-form :model="yearDetailForm" ref="yearDetailForm" size="small" :inline="true">
- <el-form-item label="鐩戞帶鐩殑" prop="monitorPurpose">
- <el-input v-model="yearDetailForm.monitorPurpose" placeholder="璇疯緭鍏�" size="small"></el-input>
- </el-form-item>
- <el-form-item label="鐩戞帶椤圭洰" prop="monitorProject">
- <el-input v-model="yearDetailForm.monitorProject" placeholder="璇疯緭鍏�" size="small"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button icon="el-icon-refresh" size="mini" @click="clearDetail">閲� 缃�</el-button>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="getYearDetailPlanList">鏌� 璇�</el-button>
- </el-form-item>
- </el-form>
- <div>
+ <div style="display: flex;justify-content: space-between">
+ <div style="display: flex;">
+ <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+ <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">鐩戞帶鐩殑</span>
+ <el-input v-model="yearDetailForm.monitorPurpose" placeholder="璇疯緭鍏�" size="small"
+ @keyup.enter.native="getYearDetailPlanList"></el-input>
+ </div>
+ <div style="margin-bottom: 18px;margin-right: 10px;display: flex;align-items: center;line-height: 32px;">
+ <span style="width: 88px;font-size: 14px;font-weight: 700;color: #606266;">鐩戞帶椤圭洰</span>
+ <el-input v-model="yearDetailForm.monitorProject" placeholder="璇疯緭鍏�" size="small"
+ @keyup.enter.native="getYearDetailPlanList"></el-input>
+ </div>
+ <div style="line-height: 30px;">
+ <el-button type="primary" size="mini" @click="getYearDetailPlanList">鏌ヨ</el-button>
+ <el-button size="mini" @click="clearDetail">閲嶇疆</el-button>
+ </div>
+ </div>
+ <div style="line-height: 30px;">
+ <el-button size="small" type="primary" @click="exportSignatureTemplate">瀵煎嚭绛惧悕妯℃澘</el-button>
<el-button size="small" type="primary" @click="showDialog('add')">鏂板</el-button>
</div>
</div>
- <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage" :tableLoading="yearDetailLoading"
- height="40vh" @pagination="pagination1"
- key="yearDetailTableData"></lims-table>
+ <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage"
+ :tableLoading="yearDetailLoading" :height="'calc(100vh - 34em)'" @pagination="pagination1" ref="yearDetailTableData"
+ key="yearDetailTableData"></lims-table>
</div>
<!--鏂板淇敼寮规-->
- <detail-form-dialog v-if="formDia" ref="formDia" :qualityMonitorId="qualityMonitorId" @closeDia="closeDia"></detail-form-dialog>
+ <detail-form-dialog v-if="formDia" ref="formDia" :qualityMonitorId="qualityMonitorId"
+ @closeDia="closeDia"></detail-form-dialog>
<!--瀹炴柦娴佺▼寮规-->
- <carry-out-dialog v-if="carryOutDia" ref="carryOutDia" :qualityMonitorId="qualityMonitorId" @closeDia="closeCarryOutDia"></carry-out-dialog>
+ <carry-out-dialog v-if="carryOutDia" ref="carryOutDia" :qualityMonitorId="qualityMonitorId"
+ @closeCarryOutDia="closeCarryOutDia"></carry-out-dialog>
<!--璇勪环娴佺▼寮规-->
<evaluate-dialog v-if="evaluateDialog" ref="evaluateDialog" @closeEvaDia="closeEvaDia"></evaluate-dialog>
<el-dialog :visible.sync="examineDialog" title="瀹℃牳" width="30%" @close="closeExamineDia">
@@ -57,8 +63,7 @@
</span>
<span style="margin-top: 10px;display: inline-block">
鎵瑰噯浜猴細
- <el-select v-model="examineInfo.ratifyUserId" clearable
- filterable size="small" style="width: 70%;">
+ <el-select v-model="examineInfo.ratifyUserId" clearable filterable size="small" style="width: 70%;">
<el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
@@ -79,16 +84,13 @@
</span>
</el-dialog>
<!--棰勮鎶ュ憡-->
- <el-dialog
- :visible.sync="lookDialogVisible"
- fullscreen
- title="鏌ョ湅闄勪欢" top="5vh" width="800px">
- <filePreview v-if="lookDialogVisible" :currentFile="{}"
- :fileUrl="javaApi+'/word/' + currentInfo.finishReportUrl" style="height: 70vh;overflow-y: auto;"/>
+ <el-dialog :visible.sync="lookDialogVisible" fullscreen title="鏌ョ湅闄勪欢" top="5vh" width="800px">
+ <filePreview v-if="lookDialogVisible" :currentFile="{}" :option="option"
+ :fileUrl="javaApi + '/word/' + currentInfo.finishReportUrl" style="height: 70vh;overflow-y: auto;" />
<div>
鎵瑰噯鐘舵�侊細
- <el-tag v-if="this.ratifyStatus === 1" type="success">鎵瑰噯</el-tag>
- <el-tag v-if="this.ratifyStatus === 0" type="danger">涓嶆壒鍑�</el-tag>
+ <el-tag v-if="this.ratifyStatus === 1" type="success">鎵瑰噯</el-tag>
+ <el-tag v-if="this.ratifyStatus === 0" type="danger">涓嶆壒鍑�</el-tag>
</div>
<div>
鎵瑰噯鎰忚锛�
@@ -101,42 +103,38 @@
</el-dialog>
<el-dialog :visible.sync="downloadDialog" title="瀵煎嚭" width="600px">
<span>
- <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId" @click="controlDown">瀹炴柦璁″垝瀵煎嚭</el-button>
- <el-button plain type="primary" :disabled="!download.qualityMonitorDetailsId" @click="processingDown">璇勪环瀵煎嚭</el-button>
+ <el-button plain type="primary" :disabled="download.detailsRatifyStatus !== 3"
+ @click="controlDown">瀹炴柦璁″垝瀵煎嚭</el-button>
+ <el-button plain type="primary" :disabled="!download.finishReportUrl"
+ @click="finishReportExport">瀹屾垚鎶ュ憡瀵煎嚭</el-button>
+ <el-button plain type="primary" :disabled="download.evaluateStatus !== 3"
+ @click="processingDown">璇勪环瀵煎嚭</el-button>
</span>
<span slot="footer" class="dialog-footer">
<el-button @click="downloadDialog = false">鍙� 娑�</el-button>
</span>
</el-dialog>
<!--瀵煎叆璁″垝-->
- <el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px" :close-on-click-modal="false" :close-on-press-escape="false">
+ <el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px" :close-on-click-modal="false"
+ :close-on-press-escape="false">
<div style="display: flex; align-items: center;">
<span style="width: 60px">骞翠唤锛�</span>
- <el-date-picker
- v-model="planYear"
- type="year"
- value-format="yyyy"
- clearable
- size="small"
- format="yyyy"
+ <el-date-picker v-model="planYear" type="year" value-format="yyyy" clearable size="small" format="yyyy"
placeholder="閫夋嫨骞�">
</el-date-picker>
</div>
<div style="display: flex;align-items: center;margin: 10px 0">
<div style="width: 60px">瀹℃牳浜猴細</div>
- <el-select v-model="examineUserId" clearable
- filterable size="small" style="width: 50%;">
+ <el-select v-model="examineUserId" clearable filterable size="small" style="width: 50%;">
<el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</div>
<div style="margin: 0 auto;">
- <el-upload ref="upload" :action="action" :auto-upload="false" :file-list="fileList"
- :headers="uploadHeader" :limit="1"
- accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
- :on-change="beforeUpload" :on-error="onError" :on-success="handleSuccessUp" drag
- :data="{planYear: planYear, examineUserId: examineUserId}"
- name="file">
+ <el-upload ref="upload" :action="action" :auto-upload="false" :file-list="fileList" :headers="uploadHeader"
+ :limit="1" accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+ :on-change="beforeUpload" :on-error="onError" :on-success="handleSuccessUp" drag
+ :data="{ planYear: planYear, examineUserId: examineUserId }" name="file">
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
</el-upload>
@@ -153,11 +151,10 @@
<el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
</div>
<div style="margin: 0 auto;">
- <el-upload ref="upload1" :action="action1" :auto-upload="false" :data="{qualityMonitorDetailsId: qualityMonitorDetailsId}" :file-list="fileList1" :headers="uploadHeader"
- :limit="1"
- :on-change="beforeUpload1" :on-error="onError1" :on-success="onSuccess1" accept='.doc,.docx'
- drag
- name="file">
+ <el-upload ref="upload1" :action="action1" :auto-upload="false"
+ :data="{ qualityMonitorDetailsId: qualityMonitorDetailsId }" :file-list="fileList1" :headers="uploadHeader"
+ :limit="1" :on-change="beforeUpload1" :on-error="onError1" :on-success="onSuccess1" accept='.doc,.docx,application/pdf,' drag
+ name="file">
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
</el-upload>
@@ -167,6 +164,7 @@
<el-button :loading="uploading1" type="primary" @click="submitUpload1()">涓� 浼�</el-button>
</span>
</el-dialog>
+ <view-record v-if="ViewRecord" ref="ViewRecord"></view-record>
</div>
</template>
@@ -183,16 +181,18 @@
pageQualityMonitor, pageQualityMonitorDetail, ratifyFinishReport,
ratifyQualityMonitor
} from "@/api/cnas/process/ensureResults/qualityMonitor";
-import {selectUserCondition} from "@/api/performance/class";
-import {mapGetters} from "vuex";
+import { selectUserCondition } from "@/api/performance/class";
+import { mapGetters } from "vuex";
+import ViewRecord from "./components/ViewRecord.vue";
export default {
- name: 'a7-Ensure-results-validity',
+ name: 'EnsureResultsValidity',
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
- components: {limsTable, filePreview, EvaluateDialog, CarryOutDialog, DetailFormDialog },
+ components: {ViewRecord, limsTable, filePreview, EvaluateDialog, CarryOutDialog, DetailFormDialog },
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
+ ViewRecord: false,
examineUserId: '',
responsibleOptions: [],
yearForm: {
@@ -207,20 +207,20 @@
{
label: '璁″垝鍚嶇О',
prop: 'monitorName',
- minWidth: '150px'
+ width: '150px'
}, {
label: '缂栧埗浜�',
prop: 'writeName',
- minWidth: '100'
+ width: '100'
}, {
label: '缂栧埗鏃ユ湡',
prop: 'writeTime',
- minWidth: '160'
+ width: '160'
}, {
dataType: 'tag',
label: '瀹℃牳鐘舵��',
prop: 'examineStatus',
- minWidth: '100',
+ width: '100',
formatData: (params) => {
if (params === 0) {
return '涓嶉�氳繃';
@@ -242,20 +242,20 @@
}, {
label: '瀹℃牳鍐呭',
prop: 'examineRemark',
- minWidth: '100'
+ width: '100'
}, {
label: '瀹℃牳浜�',
prop: 'examineName',
- minWidth: '100'
+ width: '100'
}, {
label: '瀹℃牳鏃ユ湡',
prop: 'examineTime',
- minWidth: '160'
- },{
+ width: '160'
+ }, {
dataType: 'tag',
label: '鎵瑰噯鐘舵��',
prop: 'ratifyStatus',
- minWidth: '100',
+ width: '100',
formatData: (params) => {
if (params === 0) {
return '涓嶆壒鍑�';
@@ -274,21 +274,20 @@
return null;
}
}
- },{
+ }, {
label: '鎵瑰噯鍐呭',
prop: 'ratifyRemark',
- minWidth: '100'
- },{
+ width: '100'
+ }, {
label: '鎵瑰噯浜�',
prop: 'ratifyName',
- minWidth: '100'
- },{
+ width: '100'
+ }, {
label: '鎵瑰噯鏃ユ湡',
prop: 'ratifyTime',
- minWidth: '160'
+ width: '160'
}, {
dataType: 'action',
- minWidth: '190',
label: '鎿嶄綔',
fixed: 'right',
operation: [
@@ -342,7 +341,7 @@
this.delPlan(row)
},
disabled: (row) => {
- if(row.examineStatus === 1) {
+ if (row.examineStatus === 1) {
return true;
} else {
return false;
@@ -366,30 +365,122 @@
}, {
label: '璁″垝寮�灞曟椂闂�',
prop: 'plannedTime',
- minWidth: '150px'
+ width: '150px'
}, {
label: '鐩戞帶椤圭洰',
prop: 'monitorProject',
- minWidth: '150px'
+ width: '150px'
}, {
label: '鍙傚姞鍗曚綅锛堜汉鍛橈級',
prop: 'participant',
- minWidth: '150px'
+ width: '190px'
}, {
label: '棰勭畻锛堝厓锛�',
prop: 'budget',
- minWidth: '150px'
- },{
+ width: '150px'
+ }, {
label: '缁勭粐浜哄憳',
prop: 'organization',
- minWidth: '150px'
- },{
+ width: '150px'
+ }, {
label: '鐩戞帶鏂瑰紡',
prop: 'monitorWay',
- minWidth: '150px'
+ width: '150px'
+ },{
+ dataType: 'tag',
+ label: '瀹炴柦鐘舵��',
+ prop: 'detailsRatifyStatus',
+ width: '100',
+ formatData: (params) => {
+ if (params === 0) {
+ return '鏈紑濮�';
+ } else if (params === 1) {
+ return '寰呰瘎浠�';
+ } else if (params === 2) {
+ return '涓嶆壒鍑�';
+ } else if (params === 3) {
+ return '宸叉壒鍑�';
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params === 0) {
+ return '';
+ } else if (params === 1) {
+ return 'warning';
+ } else if (params === 2) {
+ return 'danger';
+ } else if (params === 3) {
+ return 'success';
+ } else {
+ return null;
+ }
+ }
+ },{
+ dataType: 'tag',
+ label: '鎶ュ憡鐘舵��',
+ prop: 'reportStatus',
+ width: '100',
+ formatData: (params) => {
+ if (params === 0) {
+ return '鏈紑濮�';
+ } else if (params === 1) {
+ return '寰呰瘎浠�';
+ } else if (params === 2) {
+ return '涓嶆壒鍑�';
+ } else if (params === 3) {
+ return '宸叉壒鍑�';
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params === 0) {
+ return '';
+ } else if (params === 1) {
+ return 'warning';
+ } else if (params === 2) {
+ return 'danger';
+ } else if (params === 3) {
+ return 'success';
+ } else {
+ return null;
+ }
+ }
+ },{
+ dataType: 'tag',
+ label: '璇勪环鐘舵��',
+ prop: 'evaluateStatus',
+ width: '100',
+ formatData: (params) => {
+ if (params === 0) {
+ return '鏈紑濮�';
+ } else if (params === 1) {
+ return '寰呰瘎浠�';
+ } else if (params === 2) {
+ return '寰呮壒鍑�';
+ } else if (params === 3) {
+ return '宸叉壒鍑�';
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params === 0) {
+ return '';
+ } else if (params === 1) {
+ return 'warning';
+ } else if (params === 2) {
+ return 'info';
+ } else if (params === 3) {
+ return 'success';
+ } else {
+ return null;
+ }
+ }
}, {
dataType: 'action',
- width: '280',
label: '鎿嶄綔',
fixed: 'right',
operation: [
@@ -419,6 +510,13 @@
type: 'text',
clickFun: (row) => {
this.evaluate(row)
+ }
+ },
+ {
+ name: '闄勪欢涓婁紶',
+ type: 'text',
+ clickFun: (row) => {
+ this.viewTestRecord(row)
}
},
{
@@ -471,7 +569,8 @@
ratifyRemark: '',
downloadDialog: false,
download: {},
- planYear: ''
+ planYear: '',
+ option: {}
};
},
mounted() {
@@ -480,7 +579,7 @@
// 鏂规硶闆嗗悎
methods: {
// 鏌ヨ骞村害璁″垝琛�
- getYearPlanList () {
+ getYearPlanList() {
const entity = {
monitorName: this.yearForm.monitorName,
}
@@ -498,7 +597,7 @@
this.yearLoading = false
})
},
- clearYear () {
+ clearYear() {
this.yearForm.monitorName = ''
this.getYearPlanList()
},
@@ -512,7 +611,7 @@
this.yearDetailPage.size = limit;
this.getYearPlanList();
},
- leadInto () {
+ leadInto() {
this.uploadDia = true
this.getUserList()
},
@@ -545,7 +644,7 @@
this.$message.error(response.msg)
}
},
- submitUpload () {
+ submitUpload() {
if (!this.planYear) {
this.$message.warning('璇烽�夋嫨骞翠唤')
return;
@@ -558,12 +657,12 @@
},
// end
// 瀹℃牳
- examinePlan (row) {
+ examinePlan(row) {
this.examineDialog = true
this.examineInfo = row
this.getUserList()
},
- handleReview (examineStatus) {
+ handleReview(examineStatus) {
// 瀹℃牳鐘舵�� , 0 涓嶉�氳繃, 1閫氳繃
this.examineInfo.examineStatus = examineStatus
this.examineLoading = true
@@ -576,17 +675,17 @@
this.examineLoading = false
})
},
- closeExamineDia () {
+ closeExamineDia() {
this.examineDialog = false
this.examineInfo.examineRemark = ''
this.getYearPlanList()
},
// 鎵瑰噯
- approvalPlan (row) {
+ approvalPlan(row) {
this.ratifyDialog = true
this.ratifyInfo = row
},
- handleRatify (ratifyStatus) {
+ handleRatify(ratifyStatus) {
// 鎵瑰噯鐘舵�� , 0 涓嶉�氳繃, 1閫氳繃
this.ratifyInfo.ratifyStatus = ratifyStatus
this.ratifyLoading = true
@@ -599,13 +698,13 @@
this.ratifyLoading = false
})
},
- closeRatifyDia () {
+ closeRatifyDia() {
this.ratifyDialog = false
this.ratifyInfo.ratifyRemark = ''
this.getYearPlanList()
},
// 鎵瑰噯鎶ュ憡
- handleApproval (status) {
+ handleApproval(status) {
const personTrainingUpdateDto = {
qualityMonitorDetailsId: this.currentInfo.qualityMonitorDetailsId,
ratifyRemark: this.ratifyRemark,
@@ -624,23 +723,22 @@
})
},
// 瀵煎嚭
- handleDown (row) {
- exportQualityMonitorDetail({qualityMonitorId: row.qualityMonitorId}).then(res => {
+ handleDown(row) {
+ exportQualityMonitorDetail({ qualityMonitorId: row.qualityMonitorId }).then(res => {
this.outLoading = false
- const blob = new Blob([res],{ type: 'application/msword' });
+ const blob = new Blob([res], { type: 'application/msword' });
this.$download.saveAs(blob, row.monitorName + '.docx')
- this.$message.success('瀵煎嚭鎴愬姛')
})
},
// 鍒犻櫎杩涘害璁″垝琛�
- delPlan (row) {
+ delPlan(row) {
this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
this.yearLoading = true
- delQualitySupervise({qualityMonitorId: row.qualityMonitorId}).then(res => {
+ delQualitySupervise({ qualityMonitorId: row.qualityMonitorId }).then(res => {
this.yearLoading = false
this.$message.success('鍒犻櫎鎴愬姛')
this.getYearPlanList()
@@ -661,7 +759,7 @@
this.getYearDetailPlanList()
},
// 鑾峰彇骞村害鏄庣粏琛�
- getYearDetailPlanList () {
+ getYearDetailPlanList() {
const entity = {
qualityMonitorId: this.qualityMonitorId,
monitorPurpose: this.yearDetailForm.monitorPurpose,
@@ -673,13 +771,14 @@
this.yearDetailLoading = false
this.yearDetailTableData = res.data.records
this.yearDetailPage.total = res.data.total
+ this.$refs.yearDetailTableData.$refs.multipleTable.doLayout()
}).catch(err => {
console.log('err---', err);
this.yearDetailLoading = false
})
},
// 閲嶇疆鏄庣粏琛�
- clearDetail () {
+ clearDetail() {
this.yearDetailForm = {
monitorPurpose: '',
monitorProject: ''
@@ -687,23 +786,40 @@
this.getYearDetailPlanList()
},
// 鏄庣粏琛ㄥ疄鏂�
- carryOut (row) {
+ carryOut(row) {
this.carryOutDia = true
this.$nextTick(() => {
this.$refs.carryOutDia.openDia(row)
})
},
- closeCarryOutDia () {
+ closeCarryOutDia() {
this.carryOutDia = false
this.getYearDetailPlanList()
},
// 鎵撳紑瀹屾垚鎶ュ憡寮规
- record (row) {
+ record(row) {
this.qualityMonitorDetailsId = row.qualityMonitorDetailsId
this.ratifyRemark = row.ratifyRemark
if (row.finishReportUrl) {
this.currentInfo = row
this.ratifyStatus = row.ratifyStatus
+ const userName = this.nickName
+ const isPdf = /\.pdf$/i.test(row.finishReportUrl)
+ if (isPdf) {
+ this.option = {
+ url: this.javaApi + "/word/" + row.finishReportUrl,
+ isEdit: false,
+ fileType: 'pdf',
+ title: '鎶ュ憡',
+ lang: 'zh-CN',
+ isPrint: false,
+ user_id: 1,
+ user_name: userName,
+ editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.finishReportUrl
+ }
+ } else {
+ this.option = {}
+ }
this.lookDialogVisible = true
} else {
this.uploadDia1 = true
@@ -745,58 +861,72 @@
},
// end
// 鎵撳紑璇勪环寮规
- evaluate (row) {
+ evaluate(row) {
this.evaluateDialog = true
this.$nextTick(() => {
this.$refs.evaluateDialog.openDia(row)
})
},
- closeEvaDia () {
+ closeEvaDia() {
this.evaluateDialog = false
this.getYearDetailPlanList()
},
+ // 闄勪欢涓婁紶
+ viewTestRecord (row) {
+ this.ViewRecord = true
+ this.$nextTick(() => {
+ this.$refs.ViewRecord.openDia(row)
+ })
+ },
// 鎵撳紑瀵煎嚭寮规
- downLoadPost (row) {
+ downLoadPost(row) {
this.downloadDialog = true
this.download = row
},
// 鎵撳紑骞村害鏄庣粏鏂板銆佷慨鏀瑰脊妗�
- showDialog (type, row) {
+ showDialog(type, row) {
this.formDia = true
this.$nextTick(() => {
this.$refs.formDia.openDia(type, row)
})
},
- closeDia () {
+ closeDia() {
this.formDia = false
this.getYearDetailPlanList()
},
// 鎺у埗鍗曞鍑�
controlDown() {
- exportQualityMonitorRatify({qualityMonitorDetailsId: this.download.qualityMonitorDetailsId}).then(res => {
+ exportQualityMonitorRatify({ qualityMonitorDetailsId: this.download.qualityMonitorDetailsId }).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/msword' });
this.$download.saveAs(blob, '璐ㄩ噺鐩戞帶瀹炴柦璁″垝.docx')
- this.$message.success('瀵煎嚭鎴愬姛')
})
+ },
+ // 瀹屾垚鎶ュ憡瀵煎嚭
+ finishReportExport() {
+ let url = this.download.finishReportUrl;
+ const link = document.createElement('a');
+ link.href = this.javaApi +'/word/' + url;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
},
// 澶勭悊鍗曞鍑�
processingDown() {
- exportQualityMonitorEvaluate({qualityMonitorDetailsId: this.download.qualityMonitorDetailsId}).then(res => {
+ exportQualityMonitorEvaluate({ qualityMonitorDetailsId: this.download.qualityMonitorDetailsId }).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/msword' });
this.$download.saveAs(blob, '璐ㄩ噺鐩戞帶璇勪环.docx')
- this.$message.success('瀵煎嚭鎴愬姛')
})
},
- delYearPlanDetail (row) {
+ delYearPlanDetail(row) {
this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
this.yearDetailLoading = true
- delQualityMonitorDetail({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
+ delQualityMonitorDetail({ qualityMonitorDetailsId: row.qualityMonitorDetailsId }).then(res => {
this.yearDetailLoading = false
this.$message.success('鍒犻櫎鎴愬姛')
this.getYearDetailPlanList()
@@ -811,11 +941,19 @@
selectUserCondition().then((res) => {
this.responsibleOptions = res.data;
})
+ },
+ exportSignatureTemplate() {
+ let url = '璐ㄩ噺鐩戞帶璁板綍绛惧悕妯℃澘.docx';
+ const link = document.createElement('a');
+ link.href = this.javaApi +'/word/' + url;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
}
},
// 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
computed: {
- ...mapGetters(["userId"]),
+ ...mapGetters(["userId", "nickName"]),
action() {
return this.javaApi + '/qualityMonitor/importQualityMonitor'
},
@@ -829,6 +967,4 @@
};
</script>
-<style scoped>
-
-</style>
+<style scoped></style>
--
Gitblit v1.9.3