From 0d11525aa58ec5e35ea22ff4b0d6d5863d73649b Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 04 三月 2025 16:43:52 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before-ruoyi
---
src/views/CNAS/process/ensureResults/ensureResultsValidity/components/carryOutDialog.vue | 324 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 324 insertions(+), 0 deletions(-)
diff --git a/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/carryOutDialog.vue b/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/carryOutDialog.vue
new file mode 100644
index 0000000..d3911c7
--- /dev/null
+++ b/src/views/CNAS/process/ensureResults/ensureResultsValidity/components/carryOutDialog.vue
@@ -0,0 +1,324 @@
+<template>
+ <div>
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="瀹炴柦"
+ width="60%" @close="closeCarryOutDia">
+ <el-steps :active="currentStep" align-center finish-status="success">
+ <el-step title="瀹炴柦"></el-step>
+ <el-step title="鎵瑰噯"></el-step>
+ </el-steps>
+ <div style="height: 620px;overflow-y: auto">
+ <table border="1" cellspacing="10" class="tables">
+ <tr>
+ <td class="td-title">
+ <p>鐩戞帶椤圭洰锛�</p>
+ </td>
+ <td colspan="3">
+ <el-input v-if="currentStep == 0" v-model="form.monitorProject" placeholder="璇疯緭鍏ュ唴瀹�" size="small">
+ </el-input>
+ <span v-else class="td-info"> {{ form.monitorProject }}</span>
+ </td>
+ <td class="td-title">
+ <p>鐩戞帶鏃堕棿锛�</p>
+ </td>
+ <td colspan="3">
+ <el-input v-if="currentStep == 0" v-model="form.monitorData" placeholder="璇疯緭鍏ュ唴瀹�" size="small">
+ </el-input>
+ <span v-else class="td-info"> {{ form.monitorData }}</span>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>鐩戞帶鐩殑锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.monitorPurpose" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small" type="textarea">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.monitorPurpose }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>鐩戞帶鏂规硶锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.monitorMethod" :rows="4" placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small" type="textarea">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.monitorMethod }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>鍙傚姞浜哄憳锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.participant" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�" size="small"
+ type="textarea">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.participant }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>杩囩▼鎺у埗锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.processControl" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small" type="textarea">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.processControl }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>缁撴灉璇勪环鏍囧噯锛堝浣曡瘎浠凤級锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.howEvaluate" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�" size="small"
+ type="textarea">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.howEvaluate }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="8">
+ <div>
+ <p>缁忚垂棰勭畻锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.budget" placeholder="璇疯緭鍏ュ唴瀹�" size="small">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.budget }}</span>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <div>
+ <p>妫�娴嬮儴闂細</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 0" v-model="form.inspectionDepartment" placeholder="璇疯緭鍏ュ唴瀹�" size="small">
+ </el-input>
+ <span v-else class="td-info2"> {{ form.inspectionDepartment }}</span>
+ </div>
+ </td>
+ <td colspan="4">
+ <div v-if="currentStep == 0">
+ <div>閫夋嫨鎵瑰噯浜猴細</div>
+ <div>
+ <el-select v-if="currentStep == 0" v-model="form.ratifyUserId" clearable filterable placeholder="璇烽�夋嫨"
+ size="small">
+ <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ <span v-else class="td-info2"> {{ form.ratifyName }}</span>
+ </div>
+ </div>
+ <div v-else>
+ <div>
+ <p>鎵瑰噯鎰忚锛�</p>
+ </div>
+ <div>
+ <el-input v-if="currentStep == 1" v-model="form.ratifyOpinion" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small" type="textarea">
+ </el-input>
+ <span v-if="currentStep == 2" class="td-info2"> {{ form.ratifyOpinion }}</span>
+ <span v-if="currentStep == 2" class="td-info3"> {{ '鎵瑰噯浜猴細' + form.ratifyName }}</span>
+ </div>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="closeCarryOutDia">鍙� 娑�</el-button>
+ <el-button v-if="currentStep != 2" :loading="editLoad" type="primary" @click="handleEdit">鎻� 浜�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ getQualityMonitorRatify,
+ addQualityMonitorRatify,
+ addQualityMonitorRatifyOpinion,
+} from '@/api/cnas/process/ensureResults/ensureResultsValidity.js'
+import { selectUserCondition } from "@/api/system/user";
+export default {
+ name: 'carryOutDialog',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: {},
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ formDia: false,
+ currentStep: 0,
+ form: {
+ monitorProject: '',
+ monitorData: '',
+ monitorPurpose: '',
+ monitorMethod: '',
+ participant: '',
+ processControl: '',
+ howEvaluate: '',
+ budget: '',
+ inspectionDepartment: '',
+ ratifyUserId: '',
+ ratifyOpinion: '',
+ qualityMonitorDetailsId: '',
+ ratifyName: '',
+ },
+ personList: [],
+ editLoad: false,
+ isCarryOut: false, // 鏄惁涓哄疄鏂�
+ };
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.formDia = true
+ this.searchInfo(row)
+ this.getAuthorizedPerson()
+ },
+ // 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅
+ searchInfo(row) {
+ getQualityMonitorRatify({ qualityMonitorDetailsId: row.qualityMonitorDetailsId }).then(res => {
+ if (res.code === 201) return
+ // 鏈塪etailsRatifyId鍒欒鏄庢彁浜よ繃瀹炴柦淇℃伅
+ if (res.data.detailsRatifyId) {
+ // 鏄惁缁撴潫0:鏈粨鏉�, 1:宸茬粨鏉�
+ if (res.data.isFinish == 0) {
+ this.currentStep = 1
+ } else if (res.data.isFinish == 1) {
+ this.currentStep = 2
+ }
+ } else {
+ this.currentStep = 0
+ }
+ this.form = res.data
+ }).catch(err => {
+ console.log('err---', err);
+ })
+ },
+ // 鎻愪氦
+ handleEdit() {
+ this.editLoad = true
+ if (this.currentStep == 0) {
+ this.addInfo()
+ } else {
+ this.editInfo()
+ }
+ },
+ // 鎻愪氦瀹炴柦
+ addInfo() {
+ addQualityMonitorRatify(this.form).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeCarryOutDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 鎻愪氦鎵瑰噯
+ editInfo() {
+ addQualityMonitorRatifyOpinion(this.form).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeCarryOutDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 鍏抽棴寮规
+ closeCarryOutDia() {
+ this.formDia = false
+ this.$emit('closeCarryOutDia')
+ },
+ getAuthorizedPerson() {
+ selectUserCondition().then(res => {
+ let data = []
+ res.data.forEach(a => {
+ data.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.personList = data
+ })
+ },
+ }
+};
+</script>
+
+<style scoped>
+>>>.el-dialog {
+ margin: 20px auto 50px !important;
+}
+
+.tables {
+ table-layout: fixed;
+ width: 100%;
+ margin-top: 10px;
+}
+
+.td-title {
+ height: 40px;
+ width: 100px;
+ text-align: center;
+ font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ padding: 6px;
+}
+
+.td-info {
+ display: inline-block;
+ width: 100%;
+ text-align: center;
+ font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+}
+
+.td-info2 {
+ display: inline-block;
+ width: 90%;
+ text-align: left;
+ font-size: 16px;
+ word-wrap: break-word;
+ white-space: normal;
+ margin-left: 20px;
+}
+
+.tables td {
+ height: 40px;
+ width: 100px;
+ font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ padding: 6px;
+}
+
+.td-info3 {
+ width: 90%;
+ display: inline-block;
+ text-align: right;
+}
+</style>
--
Gitblit v1.9.3