From a1a287b479b0039c17c2fabdb7988a93ce7b25e3 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 26 十二月 2024 14:33:04 +0800
Subject: [PATCH] 完成7.2标准方法的变更
---
src/components/do/a7-method-verification/ViewDeviceDialog.vue | 136 ++++
src/components/do/a7-method-verification/ViewTestRecord.vue | 172 +++++
src/components/view/a7-changes-standard-methods.vue | 221 +++++++
src/components/do/a7-method-verification/formDIa.vue | 463 +++++++++++++++
src/components/do/a7-method-verification/viewWorkPermitDia.vue | 118 ++++
src/assets/api/controller.js | 15
src/components/do/a7-changes-standard-methods/formDIaChange.vue | 464 ++++++++++++++++
src/components/do/a7-method-verification/calibrationsFileDia.vue | 123 ++++
8 files changed, 1,712 insertions(+), 0 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 7929dfe..d3115c7 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -55,6 +55,7 @@
qualitySupervise,
processOrder,
processMethodSearchNew,
+ processMethodVerify,
}
}
@@ -185,6 +186,7 @@
temDataAcquisition: "/deviceScope/temDataAcquisition", // PK8000鏁伴噰
temDataAcquisition2: "/deviceScope/temDataAcquisition2", // PK8000鏁伴噰--澶氭潯
formulaCalculation: "/deviceScope/formulaCalculation", // 鏁伴噰-鍏紡璁$畻
+ deviceScopeSearch: "/deviceScope/search", //閫氳繃璁惧鍒嗙被鑾峰彇璁惧鍒楄〃
}
const insOrder = {
@@ -710,3 +712,16 @@
exportMethodSearchNew:'/processMethodSearchNew/exportMethodSearchNew', // 瀵煎嚭鏍囧噯鏌ユ柊
importMethodSearchNew:'/processMethodSearchNew/importMethodSearchNew', // 瀵煎叆鏍囧噯鏌ユ柊
}
+
+// 7.2鏍囧噯鏂规硶楠岃瘉
+const processMethodVerify = {
+ pagesMethodVerify:'/processMethodVerify/pagesMethodVerify', // 鏍囧噯鏂规硶鏇存柊楠岃瘉鍒楄〃
+ addMethodVerify:'/processMethodVerify/addMethodVerify', // 鏂板鏍囧噯鏂规硶楠岃瘉
+ getMethodVerifyOne:'/processMethodVerify/getMethodVerifyOne', // 鏌ヨ鏍囧噯鏂规硶楠岃瘉璇︽儏
+ updateMethodVerify:'/processMethodVerify/updateMethodVerify', // 淇敼鏍囧噯鏂规硶楠岃瘉
+ methodVerifyAffirm:'/processMethodVerify/methodVerifyAffirm', // 楠岃瘉纭
+ uploadVerifyMethodFile:'/processMethodVerify/uploadVerifyMethodFile', // 鏂板鍘熷璁板綍
+ getVerifyMethodFileList:'/processMethodVerify/getVerifyMethodFileList', // 鍘熷璁板綍鍒楄〃
+ delVerifyMethodFileList:'/processMethodVerify/delVerifyMethodFileList', // 鍒犻櫎楠岃瘉鍘熷璁板綍鍒楄〃
+ delMethodVerify:'/processMethodVerify/delMethodVerify', // 鍒犻櫎鏍囧噯鏂规硶鏇存柊楠岃瘉
+}
diff --git a/src/components/do/a7-changes-standard-methods/formDIaChange.vue b/src/components/do/a7-changes-standard-methods/formDIaChange.vue
new file mode 100644
index 0000000..23ffef9
--- /dev/null
+++ b/src/components/do/a7-changes-standard-methods/formDIaChange.vue
@@ -0,0 +1,464 @@
+<template>
+ <div>
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
+ :title="operationType === 'edit' ? '缂栬緫' : '鏂板'"
+ :visible.sync="formDia"
+ width="90%" @close="closeDia">
+ <div v-if="operationType === 'edit'" style="text-align: right">
+ <el-button :disabled="form.confirmDate !== '' && form.confirmDate !== null && form.confirmDate !== undefined" size="medium" type="primary" @click="validation">楠岃瘉纭</el-button>
+ </div>
+ <table border="1" cellspacing="10" class="tables">
+ <tr>
+ <td>
+ <p>鏍囧噯鏂规硶</p>
+ </td>
+ <td>
+ <p>楠岃瘉鍘熷洜</p>
+ </td>
+ <td>
+ <p>涓昏鎶�鏈彉鍖�</p>
+ </td>
+ <td>
+ <p>娑夊強鏂归潰</p>
+ </td>
+ <td>
+ <p>鏍囧噯瑕佹眰</p>
+ </td>
+ <td>
+ <p>鍑嗗鎯呭喌</p>
+ </td>
+ <td>
+ <p>鏄惁婊¤冻</p>
+ </td>
+ <td>
+ <p>澶囨敞</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="9">
+ <el-input v-model="form.methodName" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ <td rowspan="9">
+ <el-input v-model="form.verifyReason" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ <td rowspan="9">
+ <el-input v-model="form.technologyChange" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>浜猴細</td>
+ <td>
+ <el-input v-model="form.personRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.personReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.personIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewWorkPermit">鏌ョ湅涓婂矖璇�</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏈猴細</td>
+ <td>
+ <el-input v-model="form.machineRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.machineReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.machineIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewDevice">鏌ョ湅璁惧</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏂欙細</td>
+ <td>
+ <el-input v-model="form.materialRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.materialReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.materialIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.materialRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>娉曪細</td>
+ <td>
+ <el-input v-model="form.methodRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.methodReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.methodIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewTestRecord">鏌ョ湅妫�娴嬭褰�</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鐜細</td>
+ <td>
+ <el-input v-model="form.environmentRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.environmentReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.environmentIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.traceabilityRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>娴嬮噺婧簮鎬э細</td>
+ <td>
+ <el-input v-model="form.traceabilityRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.traceabilityReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.traceabilityIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewCalibrationsFileDia">鏌ョ湅鏍″噯璇佷功</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏍峰搧绠$悊闇�姹傦細</td>
+ <td>
+ <el-input v-model="form.managementRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.managementReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.managementIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.managementRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>鍏朵粬锛�</td>
+ <td>
+ <el-input v-model="form.otherRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.otherReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.otherIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.otherRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <p>鏄惁寮曠敤姝ゆ爣鍑嗗紑灞曟娴�:</p>
+ </td>
+ <td colspan="3">鍙互寮曠敤姝ゆ爣鍑嗗紑灞曟娴�</td>
+ <td>
+ <p>纭鏃堕棿:</p>
+ </td>
+ <td>{{form.confirmDate}}</td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <p>鍙傚姞纭浜虹鍚�:</p>
+ </td>
+ <td colspan="5">
+ <el-select v-model="form.confirmUser" multiple placeholder="璇烽�夋嫨" size="small" style="width: 100%">
+ <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </td>
+ </tr>
+ </table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="closeDia">鍙� 娑�</el-button>
+ <el-button :loading="editLoad" type="primary" @click="handleEdit">鎻� 浜�</el-button>
+ </span>
+ </el-dialog>
+ <ViewDeviceDialog v-if="viewDeviceDialog" ref="viewDeviceDialog" @closDeviceDia="closDeviceDia" @handleDeviceInfo="handleDeviceInfo"></ViewDeviceDialog>
+ <ViewTestRecord v-if="viewTestRecordDialog" ref="viewTestRecordDialog"></ViewTestRecord>
+ <ViewWorkPermitDia v-if="viewWorkPermitDia" ref="viewWorkPermitDia"></ViewWorkPermitDia>
+ <calibrations-file-dia v-if="calibrationsFileDia" ref="calibrationsFileDia"></calibrations-file-dia>
+ </div>
+</template>
+
+<script>
+import { dateFormat } from '../../../util/date'
+import ViewTestRecord from '../a7-method-verification/ViewTestRecord.vue';
+import ViewDeviceDialog from '../a7-method-verification/ViewDeviceDialog.vue';
+import ViewWorkPermitDia from '../a7-method-verification/viewWorkPermitDia.vue';
+import CalibrationsFileDia from '../a7-method-verification/calibrationsFileDia.vue';
+
+export default {
+ name: 'formDIaChange',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { CalibrationsFileDia, ViewWorkPermitDia, ViewDeviceDialog, ViewTestRecord },
+ props: {
+ operationType: {
+ type: String,
+ default: () => ''
+ }
+ },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ formDia: false,
+ form: {
+ methodName: '',
+ verifyReason: '',
+ technologyChange: '',
+ personRequirements: '',
+ personReadiness: '',
+ personIsSatisfied: '',
+ personRemark: '',
+ machineRequirements: '',
+ machineReadiness: '',
+ machineIsSatisfied: '',
+ materialRequirements: '',
+ materialReadiness: '',
+ materialIsSatisfied: '',
+ materialRemark: '',
+ methodRequirements: '',
+ methodReadiness: '',
+ methodIsSatisfied: '',
+ environmentRequirements: '',
+ environmentReadiness: '',
+ environmentIsSatisfied: '',
+ traceabilityRequirements: '',
+ traceabilityReadiness: '',
+ traceabilityIsSatisfied: '',
+ traceabilityRemark: '',
+ managementRequirements: '',
+ managementReadiness: '',
+ managementIsSatisfied: '',
+ managementRemark: '',
+ otherRequirements: '',
+ otherReadiness: '',
+ otherIsSatisfied: '',
+ otherRemark: '',
+ machineAttachmentList: []
+ },
+ editLoad: false,
+ info: {
+ methodVerifyId: ''
+ },
+ userList: [],
+ viewDeviceDialog: false,
+ viewTestRecordDialog: false,
+ viewWorkPermitDia: false,
+ calibrationsFileDia: false,
+ };
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.formDia = true
+ this.info = row
+ this.getUserList()
+ if (this.operationType === 'edit') {
+ this.searchInfo(row)
+ }
+ },
+ // 鏌ヨ璇︽儏淇℃伅
+ searchInfo (row) {
+ this.$axios.get(this.$api.processMethodVerify.getMethodVerifyOne + '?methodVerifyId=' + row.methodVerifyId).then(res => {
+ if (res.code === 201) return
+ this.form = {...res.data}
+ if (this.form.confirmUser) {
+ this.form.confirmUser = this.form.confirmUser.split(',').map(Number)
+ }
+ }).catch(err => {
+ console.log('err---', err);
+ })
+ },
+ // 鎻愪氦
+ handleEdit() {
+ this.editLoad = true
+ const processMethodSearchNews = this.HaveJson(this.form)
+ processMethodSearchNews.confirmUser = processMethodSearchNews.confirmUser && processMethodSearchNews.confirmUser.join(',')
+ processMethodSearchNews.operationType = 0
+ if (this.operationType === 'edit') {
+ this.editInfo(processMethodSearchNews)
+ } else {
+ this.addInfo(processMethodSearchNews)
+ }
+ },
+ // 鏌ョ湅涓婂矖璇�
+ viewWorkPermit () {
+ this.viewWorkPermitDia = true
+ this.$nextTick(() => {
+ this.$refs.viewWorkPermitDia.openDia(this.form)
+ })
+ },
+ // 鏌ョ湅鏍″噯璇佷功
+ viewCalibrationsFileDia () {
+ this.calibrationsFileDia = true
+ this.$nextTick(() => {
+ this.$refs.calibrationsFileDia.openDia(this.form)
+ })
+ },
+ // 鏌ョ湅璁惧
+ viewDevice () {
+ this.viewDeviceDialog = true
+ this.$nextTick(() => {
+ this.$refs.viewDeviceDialog.openDia(this.form)
+ })
+ },
+ // 鍏抽棴璁惧寮规
+ closDeviceDia () {
+ this.viewDeviceDialog = false
+ },
+ // 鎻愪氦璁惧淇℃伅
+ handleDeviceInfo (machineAttachmentList) {
+ this.viewDeviceDialog = false
+ this.form.machineAttachmentList = machineAttachmentList
+ },
+ // 鏌ョ湅妫�娴嬭褰�
+ viewTestRecord () {
+ this.viewTestRecordDialog = true
+ this.$nextTick(() => {
+ this.$refs.viewTestRecordDialog.openDia(this.info)
+ })
+ },
+ // 鎻愪氦缂栬緫
+ editInfo (processMethodSearchNews) {
+ this.$axios.post(this.$api.processMethodVerify.updateMethodVerify, processMethodSearchNews, {
+ headers: {
+ "Content-Type": "application/json"
+ },
+ noQs: true
+ }).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 鎻愪氦鏂板
+ addInfo (processMethodSearchNews) {
+ this.$axios.post(this.$api.processMethodVerify.addMethodVerify, processMethodSearchNews, {
+ headers: {
+ "Content-Type": "application/json"
+ },
+ noQs: true
+ }).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 楠岃瘉纭
+ validation () {
+ this.$axios.get(this.$api.processMethodVerify.methodVerifyAffirm + '?methodVerifyId=' + this.info.methodVerifyId).then(res => {
+ if (res.code === 201) return
+ this.form.confirmDate = dateFormat(new Date())
+ }).catch(err => {
+ console.log('err---', err);
+ })
+ },
+ // 鍏抽棴寮规
+ closeDia() {
+ this.formDia = false
+ this.$emit('closeDia');
+ },
+ getUserList(){
+ this.$axios.post(this.$api.user.selectUserList, {
+ page: {current: -1, size: -1,},
+ entity: {name: null}
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ return
+ }
+ this.userList = res.data.body.records
+ })
+ },
+ }
+};
+</script>
+
+<style scoped>
+>>>.el-dialog {
+ margin-top: 2vh !important;
+}
+>>>.el-dialog__body {
+ max-height: 75vh;
+ overflow-y: auto;
+}
+.tables {
+ table-layout: fixed;
+ width: 100%;
+ margin-top: 10px;
+}
+.tables td {
+ height: 34px;
+ width: 100px;
+ text-align: center;
+ font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ padding: 4px;
+}
+</style>
diff --git a/src/components/do/a7-method-verification/ViewDeviceDialog.vue b/src/components/do/a7-method-verification/ViewDeviceDialog.vue
new file mode 100644
index 0000000..6370a50
--- /dev/null
+++ b/src/components/do/a7-method-verification/ViewDeviceDialog.vue
@@ -0,0 +1,136 @@
+<template>
+ <div>
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="viewDeviceDialog" title="鏌ョ湅璁惧" width="80%" @close="closeDia">
+ <div style="text-align: right;margin-bottom: 10px">
+ <el-button size="small" type="primary" @click="addRow">娣诲姞</el-button>
+ <el-button size="small" type="danger" @click="clearTable">娓呯┖</el-button>
+ </div>
+ <div>
+ <el-table :data="machineAttachmentList" border height="500" style="width: 100%">
+ <el-table-column header-align="center" label="鍚嶇О" prop="machineName" width="200">
+ <template slot="header" slot-scope="scope">
+ <p>鍚嶇О</p>
+ </template>
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.machineName"
+ class="table_input"
+ clearable
+ filterable
+ placeholder="璁惧鍚嶇О"
+ size="small" @change="(val)=>changeMachineName(val, scope.$index)">
+ <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.value">
+ {{item.label + item.value}}
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column header-align="center" label="鍨嬪彿瑙勬牸" prop="machineSpecification" width="180">
+ <template slot="header" slot-scope="scope">
+ <p>鍨嬪彿瑙勬牸</p>
+ </template>
+ <template slot-scope="{row}">
+ <el-input v-model="row.machineSpecification" size="small"/>
+ </template>
+ </el-table-column>
+ <el-table-column header-align="center" label="娴嬮噺鑼冨洿" prop="machineMeasuringRange">
+ <template slot="header" slot-scope="scope">
+ <p>娴嬮噺鑼冨洿</p>
+ </template>
+ <template slot-scope="{row}">
+ <el-input v-model="row.machineMeasuringRange" size="small" type="textarea"/>
+ </template>
+ </el-table-column>
+ <el-table-column header-align="center" label="鈶犳墿灞曚笉纭畾搴︹憽鏈�澶у厑宸憿鍑嗙‘搴︾瓑绾�" prop="other">
+ <template slot="header" slot-scope="scope">
+ <p>鈶犳墿灞曚笉纭畾搴︹憽鏈�澶у厑宸憿鍑嗙‘搴︾瓑绾�</p>
+ </template>
+ <template slot-scope="{row}">
+ <el-input v-model="row.other" size="small" type="textarea"/>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="closeDia">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleDeviceInfo">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'ViewDeviceDialog',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: {},
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ viewDeviceDialog: false,
+ machineAttachmentList: [],
+ equipOptions: [],
+ };
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(info) {
+ this.viewDeviceDialog = true
+ this.machineAttachmentList = info.machineAttachmentList
+ this.getEquipOptions()
+ },
+ // 澧炲姞琛ㄦ牸琛屾暟鎹�
+ addRow () {
+ this.machineAttachmentList.push({
+ machineName: '',
+ machineSpecification: '',
+ machineMeasuringRange: '',
+ other: '',
+ })
+ },
+ // 娓呯┖琛ㄦ牸鏁版嵁
+ clearTable () {
+ this.machineAttachmentList = []
+ },
+ // 閫夋嫨璁惧鐨勫洖璋�
+ changeMachineName (val, index) {
+ const index1 = this.equipOptions.findIndex(item => item.value === val);
+ if (index1 !== -1) {
+ this.machineAttachmentList[index].deviceId = this.equipOptions[index1].id;
+ this.machineAttachmentList[index].machineName = this.equipOptions[index1].deviceName;
+ }
+ this.machineAttachmentList[index].machineSpecification = val
+ },
+ // 鎻愪氦璁惧淇℃伅
+ handleDeviceInfo () {
+ if (this.machineAttachmentList.length === 0) {
+ this.$message.warning('璇锋坊鍔犱俊鎭�')
+ return
+ }
+ this.viewDeviceDialog = false
+ this.$emit('handleDeviceInfo', this.machineAttachmentList)
+ },
+ closeDia () {
+ this.viewDeviceDialog = false
+ this.$emit('closDeviceDia')
+ },
+ // 鑾峰彇鎵�鏈夎澶�
+ getEquipOptions() {
+ this.equipOptions = []
+ this.$axios.get(this.$api.deviceScope.deviceScopeSearch+'?status=0').then(res => {
+ if (res.code === 200 && res.data) {
+ this.equipOptions = res.data.map(m => {
+ m.value = m.managementNumber
+ m.label = m.deviceName
+ return m
+ })
+ }
+ }).catch(error => {
+ console.error(error)
+ })
+ },
+ }
+};
+</script>
+
+<style scoped>
+</style>
diff --git a/src/components/do/a7-method-verification/ViewTestRecord.vue b/src/components/do/a7-method-verification/ViewTestRecord.vue
new file mode 100644
index 0000000..7d7b89f
--- /dev/null
+++ b/src/components/do/a7-method-verification/ViewTestRecord.vue
@@ -0,0 +1,172 @@
+<template>
+ <div>
+ <el-dialog :visible.sync="filesDialogVisible" title="闄勪欢涓婁紶" width="80%" @closed="closeFilesLook">
+ <div style="display: flex;justify-content: space-between;">
+ <el-upload ref='upload'
+ :action="fileAction"
+ :auto-upload="true"
+ :before-upload="fileBeforeUpload" :data="{methodVerifyId: info.methodVerifyId}"
+ :headers="headers" :on-error="onError"
+ :on-success="handleSuccessUp"
+ :show-file-list="false"
+ accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' style="width: 80px !important;">
+ <el-button size="small" style="height: 38px" type="primary">闄勪欢涓婁紶</el-button>
+ </el-upload>
+ </div>
+ <div>
+ <ZTTable
+ ref="yearTable"
+ :column="columnData"
+ :height="'60vh'"
+ :highlightCurrentRow="true"
+ :table-data="tableData"
+ :table-loading="tableLoading"
+ style="margin-top: 0.5em;">
+ </ZTTable>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import ZTTable from '../../caorui/ZTTable/index.vue';
+import file from "../../../util/file";
+
+export default {
+ name: 'ViewTestRecord',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { ZTTable },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ filesDialogVisible: false,
+ tableLoading: false,
+ filesLookInfo: {},
+ columnData: [
+ {
+ label: '鏂囦欢鍚嶇О',
+ prop: 'fileName',
+ minWidth: '150px'
+ },
+ {
+ dataType: 'action',
+ minWidth: '100',
+ label: '鎿嶄綔',
+ fixed: 'right',
+ operation: [
+ {
+ name: '涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.upload(row)
+ }
+ },
+ {
+ name: '鍒犻櫎',
+ type: 'text',
+ color: '#f56c6c',
+ clickFun: (row) => {
+ this.delete(row)
+ }
+ }
+ ]
+ }
+ ],
+ tableData: [],
+ info: {}
+ };
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.filesDialogVisible = true
+ this.info = row
+ if (this.info === undefined) {
+ this.info = {
+ methodVerifyId: ''
+ }
+ }
+ this.searchTableList()
+ },
+ // 鏌ヨ闄勪欢鍒楄〃
+ searchTableList () {
+ this.tableLoading = true
+ this.$axios.get(this.$api.processMethodVerify.getVerifyMethodFileList + '?methodVerifyId=' + this.info.methodVerifyId).then(res => {
+ this.tableLoading = false
+ if (res.code === 201) return
+ this.tableData = res.data
+ }).catch(err => {
+ this.tableLoading = false
+ console.log('err---', err);
+ })
+ },
+ closeFilesLook () {
+ this.filesDialogVisible = false
+ },
+ // 涓嬭浇
+ upload (row) {
+ let url = '';
+ if(row.type==1){
+ url = this.javaApi+'/img/'+row.fileUrl
+ file.downloadIamge(url,row.fileName)
+ }else{
+ url = this.javaApi+'/word/'+row.fileUrl
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = row.fileName;
+ link.click();
+ }
+ },
+ // 鍒犻櫎
+ delete (row) {
+ this.tableLoading = true
+ this.$axios.get(this.$api.processMethodVerify.delVerifyMethodFileList + '?methodFileId=' + row.methodFileId).then(res => {
+ this.tableLoading = false
+ if (res.code === 201) return
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.searchTableList()
+ }).catch(err => {
+ this.tableLoading = false
+ console.log('err---', err);
+ })
+ },
+ // 涓婁紶楠岃瘉
+ fileBeforeUpload(file) {
+ let flag = true
+ if (file.size > 1024 * 1024 * 10) {
+ this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+ this.$refs.upload.clearFiles()
+ flag = false
+ }
+ if (!flag) {
+ return Promise.reject(flag); //姝g‘鐨勭粓姝�
+ }
+ },
+ onError(err, file, fileList,type) {
+ this.$message.error('涓婁紶澶辫触')
+ this.$refs.upload.clearFiles()
+ },
+ handleSuccessUp(response, ) {
+ this.upLoading = false;
+ if (response.code == 200) {
+ this.$message.success('涓婁紶鎴愬姛');
+ this.searchTableList()
+ }
+ },
+ },
+ computed: {
+ headers() {
+ return {
+ 'token': sessionStorage.getItem('token')
+ }
+ },
+ fileAction() {
+ return this.javaApi + this.$api.processMethodVerify.uploadVerifyMethodFile
+
+ }
+ },
+};
+</script>
+
+<style scoped>
+</style>
diff --git a/src/components/do/a7-method-verification/calibrationsFileDia.vue b/src/components/do/a7-method-verification/calibrationsFileDia.vue
new file mode 100644
index 0000000..793c269
--- /dev/null
+++ b/src/components/do/a7-method-verification/calibrationsFileDia.vue
@@ -0,0 +1,123 @@
+<template>
+ <div>
+ <el-dialog :visible.sync="filesDialogVisible" title="鏌ョ湅鏍″噯璇佷功" width="80%" @closed="closeFilesLook">
+ <div>
+ <ZTTable
+ ref="yearTable"
+ :column="columnData"
+ :height="'60vh'"
+ :highlightCurrentRow="true"
+ :table-data="tableData"
+ :table-loading="tableLoading"
+ style="margin-top: 0.5em;">
+ </ZTTable>
+ </div>
+ </el-dialog>
+ <el-dialog
+ :visible.sync="lookDialogVisible"
+ fullscreen
+ title="鏌ョ湅闄勪欢" top="5vh" width="800px">
+ <filePreview v-if="lookDialogVisible" :currentFile="{}"
+ :fileUrl="javaApi+'/img/'+currentInfo.fileUrl" style="max-height: 90vh;overflow-y: auto;"/>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import filePreview from '../../tool/file-preview.vue';
+import ZTTable from '../../caorui/ZTTable/index.vue';
+import file from '../../../util/file';
+
+export default {
+ name: 'calibrationsFileDia',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { ZTTable, filePreview },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ filesDialogVisible: false,
+ tableLoading: false,
+ filesLookInfo: {},
+ columnData: [
+ {
+ label: '鏂囦欢鍚嶇О',
+ prop: 'fileName',
+ minWidth: '150px'
+ },
+ {
+ label: '璁惧鍚嶇О',
+ prop: 'deviceName',
+ minWidth: '150px'
+ },
+ {
+ label: '璁惧缂栧彿',
+ prop: 'managementNumber',
+ minWidth: '150px'
+ },
+ {
+ dataType: 'action',
+ minWidth: '100',
+ label: '鎿嶄綔',
+ fixed: 'right',
+ operation: [
+ {
+ name: '棰勮',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleLook(row)
+ }
+ },
+ {
+ name: '涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.upload(row)
+ }
+ },
+ ]
+ }
+ ],
+ tableData: [],
+ info: {},
+ currentInfo:{},
+ lookDialogVisible: false,
+ };
+ },
+ mounted() {
+
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.filesDialogVisible = true
+ this.info = row
+ this.tableData = this.info.calibrationsFileList
+ },
+ closeFilesLook () {
+ this.filesDialogVisible = false
+ },
+ // 鏌ョ湅鏂囦欢
+ handleLook(row){
+ this.currentInfo = row
+ this.lookDialogVisible = true
+ },
+ // 涓嬭浇
+ upload (row) {
+ let url = '';
+ if(row.type==1){
+ url = this.javaApi+'/img/'+row.fileUrl
+ file.downloadIamge(url,row.fileName)
+ }else{
+ url = this.javaApi+'/word/'+row.fileUrl
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = row.fileName;
+ link.click();
+ }
+ },
+ }
+};
+</script>
+
+<style scoped>
+</style>
diff --git a/src/components/do/a7-method-verification/formDIa.vue b/src/components/do/a7-method-verification/formDIa.vue
new file mode 100644
index 0000000..ced40e5
--- /dev/null
+++ b/src/components/do/a7-method-verification/formDIa.vue
@@ -0,0 +1,463 @@
+<template>
+ <div>
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
+ :title="operationType === 'edit' ? '缂栬緫' : '鏂板'"
+ :visible.sync="formDia"
+ width="90%" @close="closeDia">
+ <div v-if="operationType === 'edit'" style="text-align: right">
+ <el-button :disabled="form.confirmDate" size="medium" type="primary" @click="validation">楠岃瘉纭</el-button>
+ </div>
+ <table border="1" cellspacing="10" class="tables">
+ <tr>
+ <td>
+ <p>鏍囧噯鏂规硶</p>
+ </td>
+ <td>
+ <p>楠岃瘉鍘熷洜</p>
+ </td>
+ <td>
+ <p>涓昏鎶�鏈彉鍖�</p>
+ </td>
+ <td>
+ <p>娑夊強鏂归潰</p>
+ </td>
+ <td>
+ <p>鏍囧噯瑕佹眰</p>
+ </td>
+ <td>
+ <p>鍑嗗鎯呭喌</p>
+ </td>
+ <td>
+ <p>鏄惁婊¤冻</p>
+ </td>
+ <td>
+ <p>澶囨敞</p>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="9">
+ <el-input v-model="form.methodName" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ <td rowspan="9">
+ <el-input v-model="form.verifyReason" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ <td rowspan="9">
+ <el-input v-model="form.technologyChange" :rows="6"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea">
+ </el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>浜猴細</td>
+ <td>
+ <el-input v-model="form.personRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.personReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.personIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewWorkPermit">鏌ョ湅涓婂矖璇�</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏈猴細</td>
+ <td>
+ <el-input v-model="form.machineRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.machineReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.machineIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewDevice">鏌ョ湅璁惧</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏂欙細</td>
+ <td>
+ <el-input v-model="form.materialRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.materialReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.materialIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.materialRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>娉曪細</td>
+ <td>
+ <el-input v-model="form.methodRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.methodReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.methodIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewTestRecord">鏌ョ湅妫�娴嬭褰�</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鐜細</td>
+ <td>
+ <el-input v-model="form.environmentRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.environmentReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.environmentIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.traceabilityRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>娴嬮噺婧簮鎬э細</td>
+ <td>
+ <el-input v-model="form.traceabilityRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.traceabilityReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.traceabilityIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-link type="primary" @click="viewCalibrationsFileDia">鏌ョ湅鏍″噯璇佷功</el-link>
+ </td>
+ </tr>
+ <tr>
+ <td>鏍峰搧绠$悊闇�姹傦細</td>
+ <td>
+ <el-input v-model="form.managementRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.managementReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.managementIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.managementRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td>鍏朵粬锛�</td>
+ <td>
+ <el-input v-model="form.otherRequirements" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-input v-model="form.otherReadiness" size="small" type="textarea"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="form.otherIsSatisfied" v-removeAriaHidden>
+ <el-radio :label="0">鍚�</el-radio>
+ <el-radio :label="1">鏄�</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-input v-model="form.otherRemark" size="small"></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <p>鏄惁寮曠敤姝ゆ爣鍑嗗紑灞曟娴�:</p>
+ </td>
+ <td colspan="3">鍙互寮曠敤姝ゆ爣鍑嗗紑灞曟娴�</td>
+ <td>
+ <p>纭鏃堕棿:</p>
+ </td>
+ <td>{{form.confirmDate}}</td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <p>鍙傚姞纭浜虹鍚�:</p>
+ </td>
+ <td colspan="5">
+ <el-select v-model="form.confirmUser" multiple placeholder="璇烽�夋嫨" size="small" style="width: 100%">
+ <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </td>
+ </tr>
+ </table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="closeDia">鍙� 娑�</el-button>
+ <el-button :loading="editLoad" type="primary" @click="handleEdit">鎻� 浜�</el-button>
+ </span>
+ </el-dialog>
+ <ViewDeviceDialog v-if="viewDeviceDialog" ref="viewDeviceDialog" @closDeviceDia="closDeviceDia" @handleDeviceInfo="handleDeviceInfo"></ViewDeviceDialog>
+ <ViewTestRecord v-if="viewTestRecordDialog" ref="viewTestRecordDialog"></ViewTestRecord>
+ <ViewWorkPermitDia v-if="viewWorkPermitDia" ref="viewWorkPermitDia"></ViewWorkPermitDia>
+ <calibrations-file-dia v-if="calibrationsFileDia" ref="calibrationsFileDia"></calibrations-file-dia>
+ </div>
+</template>
+
+<script>
+import { dateFormat } from '../../../util/date'
+import ViewDeviceDialog from './ViewDeviceDialog.vue';
+import ViewTestRecord from './ViewTestRecord.vue';
+import ViewWorkPermitDia from './viewWorkPermitDia.vue';
+import CalibrationsFileDia from './calibrationsFileDia.vue';
+export default {
+ name: 'formDIa',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { CalibrationsFileDia, ViewWorkPermitDia, ViewTestRecord, ViewDeviceDialog },
+ props: {
+ operationType: {
+ type: String,
+ default: () => ''
+ }
+ },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ formDia: false,
+ form: {
+ methodName: '',
+ verifyReason: '',
+ technologyChange: '',
+ personRequirements: '',
+ personReadiness: '',
+ personIsSatisfied: '',
+ personRemark: '',
+ machineRequirements: '',
+ machineReadiness: '',
+ machineIsSatisfied: '',
+ materialRequirements: '',
+ materialReadiness: '',
+ materialIsSatisfied: '',
+ materialRemark: '',
+ methodRequirements: '',
+ methodReadiness: '',
+ methodIsSatisfied: '',
+ environmentRequirements: '',
+ environmentReadiness: '',
+ environmentIsSatisfied: '',
+ traceabilityRequirements: '',
+ traceabilityReadiness: '',
+ traceabilityIsSatisfied: '',
+ traceabilityRemark: '',
+ managementRequirements: '',
+ managementReadiness: '',
+ managementIsSatisfied: '',
+ managementRemark: '',
+ otherRequirements: '',
+ otherReadiness: '',
+ otherIsSatisfied: '',
+ otherRemark: '',
+ machineAttachmentList: []
+ },
+ editLoad: false,
+ info: {
+ methodVerifyId: ''
+ },
+ userList: [],
+ viewDeviceDialog: false,
+ viewTestRecordDialog: false,
+ viewWorkPermitDia: false,
+ calibrationsFileDia: false,
+ };
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.formDia = true
+ this.info = row
+ this.getUserList()
+ if (this.operationType === 'edit') {
+ this.searchInfo(row)
+ }
+ },
+ // 鏌ヨ璇︽儏淇℃伅
+ searchInfo (row) {
+ this.$axios.get(this.$api.processMethodVerify.getMethodVerifyOne + '?methodVerifyId=' + row.methodVerifyId).then(res => {
+ if (res.code === 201) return
+ this.form = {...res.data}
+ if (this.form.confirmUser) {
+ this.form.confirmUser = this.form.confirmUser.split(',').map(Number)
+ }
+ }).catch(err => {
+ console.log('err---', err);
+ })
+ },
+ // 鎻愪氦
+ handleEdit() {
+ this.editLoad = true
+ const processMethodSearchNews = this.HaveJson(this.form)
+ processMethodSearchNews.confirmUser = processMethodSearchNews.confirmUser && processMethodSearchNews.confirmUser.join(',')
+ processMethodSearchNews.operationType = 1
+ if (this.operationType === 'edit') {
+ this.editInfo(processMethodSearchNews)
+ } else {
+ this.addInfo(processMethodSearchNews)
+ }
+ },
+ // 鏌ョ湅涓婂矖璇�
+ viewWorkPermit () {
+ this.viewWorkPermitDia = true
+ this.$nextTick(() => {
+ this.$refs.viewWorkPermitDia.openDia(this.form)
+ })
+ },
+ // 鏌ョ湅鏍″噯璇佷功
+ viewCalibrationsFileDia () {
+ this.calibrationsFileDia = true
+ this.$nextTick(() => {
+ this.$refs.calibrationsFileDia.openDia(this.form)
+ })
+ },
+ // 鏌ョ湅璁惧
+ viewDevice () {
+ this.viewDeviceDialog = true
+ this.$nextTick(() => {
+ this.$refs.viewDeviceDialog.openDia(this.form)
+ })
+ },
+ // 鍏抽棴璁惧寮规
+ closDeviceDia () {
+ this.viewDeviceDialog = false
+ },
+ // 鎻愪氦璁惧淇℃伅
+ handleDeviceInfo (machineAttachmentList) {
+ this.viewDeviceDialog = false
+ this.form.machineAttachmentList = machineAttachmentList
+ },
+ // 鏌ョ湅妫�娴嬭褰�
+ viewTestRecord () {
+ this.viewTestRecordDialog = true
+ this.$nextTick(() => {
+ this.$refs.viewTestRecordDialog.openDia(this.info)
+ })
+ },
+ // 鎻愪氦缂栬緫
+ editInfo (processMethodSearchNews) {
+ this.$axios.post(this.$api.processMethodVerify.updateMethodVerify, processMethodSearchNews, {
+ headers: {
+ "Content-Type": "application/json"
+ },
+ noQs: true
+ }).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 鎻愪氦鏂板
+ addInfo (processMethodSearchNews) {
+ this.$axios.post(this.$api.processMethodVerify.addMethodVerify, processMethodSearchNews, {
+ headers: {
+ "Content-Type": "application/json"
+ },
+ noQs: true
+ }).then(res => {
+ this.editLoad = false
+ if (res.code === 201) return
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.closeDia()
+ }).catch(err => {
+ console.log('err---', err);
+ this.editLoad = false
+ })
+ },
+ // 楠岃瘉纭
+ validation () {
+ this.$axios.get(this.$api.processMethodVerify.methodVerifyAffirm + '?methodVerifyId=' + this.info.methodVerifyId).then(res => {
+ if (res.code === 201) return
+ this.form.confirmDate = dateFormat(new Date())
+ }).catch(err => {
+ console.log('err---', err);
+ })
+ },
+ // 鍏抽棴寮规
+ closeDia() {
+ this.formDia = false
+ this.$emit('closeDia');
+ },
+ getUserList(){
+ this.$axios.post(this.$api.user.selectUserList, {
+ page: {current: -1, size: -1,},
+ entity: {name: null}
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ return
+ }
+ this.userList = res.data.body.records
+ })
+ },
+ }
+};
+</script>
+
+<style scoped>
+>>>.el-dialog {
+ margin-top: 2vh !important;
+}
+>>>.el-dialog__body {
+ max-height: 720px;
+ overflow-y: auto;
+}
+.tables {
+ table-layout: fixed;
+ width: 100%;
+ margin-top: 10px;
+}
+.tables td {
+ height: 34px;
+ width: 100px;
+ text-align: center;
+ font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ padding: 4px;
+}
+</style>
diff --git a/src/components/do/a7-method-verification/viewWorkPermitDia.vue b/src/components/do/a7-method-verification/viewWorkPermitDia.vue
new file mode 100644
index 0000000..cf39f1e
--- /dev/null
+++ b/src/components/do/a7-method-verification/viewWorkPermitDia.vue
@@ -0,0 +1,118 @@
+<template>
+ <div>
+ <el-dialog :visible.sync="filesDialogVisible" title="鏌ョ湅涓婂矖璇�" width="80%" @closed="closeFilesLook">
+ <div>
+ <ZTTable
+ ref="yearTable"
+ :column="columnData"
+ :height="'calc(100vh - 400px)'"
+ :highlightCurrentRow="true"
+ :table-data="tableData"
+ :table-loading="tableLoading"
+ style="margin-top: 0.5em;">
+ </ZTTable>
+ </div>
+ </el-dialog>
+ <el-dialog
+ :visible.sync="lookDialogVisible"
+ fullscreen
+ title="鏌ョ湅闄勪欢" top="5vh" width="800px">
+ <filePreview v-if="lookDialogVisible" :currentFile="{}"
+ :fileUrl="javaApi+'/img/'+currentInfo.fileUrl" style="max-height: 90vh;overflow-y: auto;"/>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import ZTTable from '../../caorui/ZTTable/index.vue';
+import file from '../../../util/file';
+import filePreview from '../../tool/file-preview.vue';
+
+export default {
+ name: 'viewWorkPermitDia',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { filePreview, ZTTable },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ filesDialogVisible: false,
+ tableLoading: false,
+ filesLookInfo: {},
+ columnData: [
+ {
+ label: '鏂囦欢鍚嶇О',
+ prop: 'fileName',
+ minWidth: '150px'
+ },
+ {
+ label: '鎸佹湁浜�',
+ prop: 'userName',
+ minWidth: '150px'
+ },
+ {
+ dataType: 'action',
+ minWidth: '100',
+ label: '鎿嶄綔',
+ fixed: 'right',
+ operation: [
+ {
+ name: '棰勮',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleLook(row)
+ }
+ },
+ {
+ name: '涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.upload(row)
+ }
+ },
+ ]
+ }
+ ],
+ tableData: [],
+ info: {},
+ currentInfo:{},
+ lookDialogVisible: false,
+ };
+ },
+ mounted() {
+
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ openDia(row) {
+ this.filesDialogVisible = true
+ this.info = row
+ this.tableData = this.info.workFileList
+ },
+ closeFilesLook () {
+ this.filesDialogVisible = false
+ },
+ // 鏌ョ湅鏂囦欢
+ handleLook(row){
+ this.currentInfo = row
+ this.lookDialogVisible = true
+ },
+ // 涓嬭浇
+ upload (row) {
+ let url = '';
+ if(row.type==1){
+ url = this.javaApi+'/img/'+row.fileUrl
+ file.downloadIamge(url,row.fileName)
+ }else{
+ url = this.javaApi+'/word/'+row.fileUrl
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = row.fileName;
+ link.click();
+ }
+ },
+ },
+};
+</script>
+
+<style scoped>
+</style>
diff --git a/src/components/view/a7-changes-standard-methods.vue b/src/components/view/a7-changes-standard-methods.vue
new file mode 100644
index 0000000..ae0ea31
--- /dev/null
+++ b/src/components/view/a7-changes-standard-methods.vue
@@ -0,0 +1,221 @@
+<template>
+ <div>
+ <div>
+ <div class="view-title">
+ <span>鏍囧噯鏂规硶鐨勫彉鏇�</span>
+ <span>
+ <el-button size="medium" type="primary" @click="openFormDia('add')">鏂� 澧�</el-button>
+ </span>
+ </div>
+ <div class="search-background">
+ <span class="search-group">
+ <span style="width: 120px">鏍囧噯鏂规硶锛�</span>
+ <el-input size="small" v-model="searchForm.methodName" clearable></el-input>
+ </span>
+ <span class="search-group">
+ <el-button size="medium" @click="resetSearchForm">閲� 缃�</el-button>
+ <el-button size="medium" type="primary" @click="searchList">鏌� 璇�</el-button>
+ </span>
+ </div>
+ <div class="table">
+ <div>
+ <TableCard :showForm="false" :showTitle="false">
+ <template v-slot:table>
+ <ZTTable
+ :column="tableColumn"
+ :table-data="tableData"
+ :table-loading="tableLoading"
+ :height="'calc(100vh - 23em)'"
+ style="padding: 0 15px;margin-bottom: 16px">
+ </ZTTable>
+ </template>
+ </TableCard>
+ <el-pagination :current-page="1" :page-size="page.size" :page-sizes="[10, 20, 30, 50, 100]"
+ :total="total" layout="->,total, sizes, prev, pager, next, jumper"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ <formDIaChange ref="formDIa" v-if="formDIa" :operationType="operationType" @closeDia="closeDia"></formDIaChange>
+ </div>
+</template>
+
+<script>
+import ZTTable from '../caorui/ZTTable/index.vue';
+import TableCard from '../caorui/TableCard/index.vue';
+import formDIaChange from '../do/a7-changes-standard-methods/formDIaChange.vue';
+
+export default {
+ name: 'a7-changes-standard-methods',
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { formDIaChange, TableCard, ZTTable },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ searchForm: {
+ methodName: '',
+ operationType: 0,
+ },
+ options: [
+ { label: '涓婂崐骞�', value: '1' },
+ { label: '涓嬪崐骞�', value: '2' },
+ ],
+ tableColumn: [
+ {
+ label: '鏍囧噯鏂规硶',
+ prop: 'methodName',
+ minWidth: '100'
+ },
+ {
+ label: '楠岃瘉鍘熷洜',
+ prop: 'verifyReason',
+ minWidth: '100'
+ },
+ {
+ label: '涓昏鎶�鏈彉鍖�',
+ prop: 'technologyChange',
+ minWidth: '100'
+ },
+ {
+ dataType: 'action',
+ minWidth: '60',
+ label: '鎿嶄綔',
+ operation: [
+ {
+ name: '缂栬緫',
+ type: 'text',
+ clickFun: (row) => {
+ this.openFormDia('edit', row);
+ },
+ },
+ {
+ name: '鍒犻櫎',
+ type: 'text',
+ color: '#f56c6c',
+ clickFun: (row) => {
+ this.deleteRow(row);
+ },
+ }
+
+ ]
+ }
+ ],
+ tableData: [],
+ tableLoading: false,
+ page: {
+ size: 20,
+ current: 1,
+ },
+ total: 0,
+ formDIa: false,
+ operationType: '',
+ };
+ },
+ mounted() {
+ this.searchList()
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ // 鏌ヨ鍒楄〃
+ searchList() {
+ const entity = {
+ methodName: this.searchForm.methodName,
+ operationType: this.searchForm.operationType,
+ }
+ const page = this.page
+ this.tableLoading = true
+ this.$axios.post(this.$api.processMethodVerify.pagesMethodVerify, { entity, page }, {
+ headers: {
+ "Content-Type": "application/json"
+ },
+ noQs: true
+ }).then(res => {
+ this.tableLoading = false
+ if (res.code === 201) return
+ this.tableData = res.data.records
+ this.total = res.data.total
+ }).catch(err => {
+ console.log('err---', err);
+ this.tableLoading = false
+ })
+ },
+ // 鍒犻櫎
+ deleteRow (row) {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.tableLoading = true
+ this.$axios.get(this.$api.processMethodVerify.delMethodVerify + '?methodVerifyId=' + row.methodVerifyId).then(res => {
+ this.tableLoading = false
+ if (res.code === 201) return
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.searchList()
+ }).catch(err => {
+ this.tableLoading = false
+ console.log('err---', err);
+ })
+ })
+ },
+ // 閲嶇疆鏌ヨ鏉′欢
+ resetSearchForm() {
+ this.searchForm.methodName = '';
+ this.searchList()
+ },
+ openFormDia (type, row) {
+ this.formDIa = true
+ this.operationType = type
+ this.$nextTick(() => {
+ this.$refs.formDIa.openDia(row)
+ })
+ },
+ // 鍏抽棴寮规
+ closeDia () {
+ this.formDIa = false
+ this.searchList()
+ },
+ // 鍒嗛〉
+ handleSizeChange(val) {
+ this.page.size = val;
+ this.searchList();
+ },
+ handleCurrentChange(val) {
+ this.page.current = val;
+ this.searchList();
+ },
+ }
+};
+</script>
+
+<style scoped>
+.view-title {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 60px;
+ padding-left: 20px;
+}
+
+.search-background {
+ width: 100%;
+ height: 80px;
+ line-height: 80px;
+ background-color: #ffffff;
+ display: flex;
+}
+
+.search-group {
+ display: flex;
+ align-items: center;
+ margin: 0 20px;
+}
+
+.table {
+ margin-top: 20px;
+ background-color: #ffffff;
+ padding-top: 20px;
+}
+</style>
--
Gitblit v1.9.3