Merge remote-tracking branch 'origin/dev' into dev
¶Ô±ÈÐÂÎļþ |
| | |
| | | // å®éªå®¤çæ£æµè½åæ¡£æ¡ç¸å
³æ¥å£ |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ åæ¹æ³æ´æ°éªè¯å表 |
| | | export function pagesMethodVerify(query) { |
| | | return request({ |
| | | url: "/processMethodVerify/pagesMethodVerify", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // å 餿 åæ¹æ³æ´æ°éªè¯ |
| | | export function delMethodVerify(query) { |
| | | return request({ |
| | | url: '/processMethodVerify/delMethodVerify', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // å¯¼åºæ åæ¹æ³æ´æ°éªè¯ |
| | | export function exportMethodVerify(query) { |
| | | return request({ |
| | | url: '/processMethodVerify/exportMethodVerify', |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }) |
| | | } |
| | | |
| | | //æ¥è¯¢æ åæ¹æ³éªè¯è¯¦æ
|
| | | export function getMethodVerifyOne(query) { |
| | | return request({ |
| | | url: "/processMethodVerify/getMethodVerifyOne", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // ä¿®æ¹æ åæ¹æ³éªè¯ |
| | | export function updateMethodVerify(data) { |
| | | return request({ |
| | | url: "/processMethodVerify/updateMethodVerify", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // æ°å¢æ åæ¹æ³éªè¯ |
| | | export function addMethodVerify(data) { |
| | | return request({ |
| | | url: "/processMethodVerify/addMethodVerify", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // éªè¯ç¡®è®¤ |
| | | export function methodVerifyAffirm(query) { |
| | | return request({ |
| | | url: '/processMethodVerify/methodVerifyAffirm', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | export function delCustomById(query) { |
| | | return request({ |
| | | url: '/system/custom/delCustomById', |
| | | method: 'post', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | import request from '@/utils/request' |
| | | import request from "@/utils/request"; |
| | | import { parseStrEmpty } from "@/utils/ruoyi"; |
| | | |
| | | // æ¥è¯¢ç¨æ·å表 |
| | | export function listUser(query) { |
| | | return request({ |
| | | url: '/system/user/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/system/user/list", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // æ¥è¯¢ç¨æ·è¯¦ç» |
| | | export function getUser(userId) { |
| | | return request({ |
| | | url: '/system/user/' + parseStrEmpty(userId), |
| | | method: 'get' |
| | | }) |
| | | url: "/system/user/" + parseStrEmpty(userId), |
| | | method: "get", |
| | | }); |
| | | } |
| | | |
| | | // æ°å¢ç¨æ· |
| | | export function addUser(data) { |
| | | return request({ |
| | | url: '/system/user', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | url: "/system/user", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // ä¿®æ¹ç¨æ· |
| | | export function updateUser(data) { |
| | | return request({ |
| | | url: '/system/user', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | url: "/system/user", |
| | | method: "put", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // å é¤ç¨æ· |
| | | export function delUser(userId) { |
| | | return request({ |
| | | url: '/system/user/' + userId, |
| | | method: 'delete' |
| | | }) |
| | | url: "/system/user/" + userId, |
| | | method: "delete", |
| | | }); |
| | | } |
| | | |
| | | // ç¨æ·å¯ç éç½® |
| | | export function resetUserPwd(userId, password) { |
| | | const data = { |
| | | userId, |
| | | password |
| | | } |
| | | password, |
| | | }; |
| | | return request({ |
| | | url: '/system/user/resetPwd', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | url: "/system/user/resetPwd", |
| | | method: "put", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // ç¨æ·ç¶æä¿®æ¹ |
| | | export function changeUserStatus(userId, status) { |
| | | const data = { |
| | | userId, |
| | | status |
| | | } |
| | | status, |
| | | }; |
| | | return request({ |
| | | url: '/system/user/changeStatus', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | url: "/system/user/changeStatus", |
| | | method: "put", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // æ¥è¯¢ç¨æ·ä¸ªäººä¿¡æ¯ |
| | | export function getUserProfile() { |
| | | return request({ |
| | | url: '/system/user/profile', |
| | | method: 'get' |
| | | }) |
| | | url: "/system/user/profile", |
| | | method: "get", |
| | | }); |
| | | } |
| | | |
| | | // ä¿®æ¹ç¨æ·ä¸ªäººä¿¡æ¯ |
| | | export function updateUserProfile(data) { |
| | | return request({ |
| | | url: '/system/user/profile', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | url: "/system/user/profile", |
| | | method: "put", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // ç¨æ·å¯ç éç½® |
| | | export function updateUserPwd(oldPassword, newPassword) { |
| | | const data = { |
| | | oldPassword, |
| | | newPassword |
| | | } |
| | | newPassword, |
| | | }; |
| | | return request({ |
| | | url: '/system/user/profile/updatePwd', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | url: "/system/user/profile/updatePwd", |
| | | method: "put", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // ç¨æ·å¤´åä¸ä¼ |
| | | export function uploadAvatar(data) { |
| | | return request({ |
| | | url: '/system/user/profile/avatar', |
| | | method: 'post', |
| | | headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, |
| | | data: data |
| | | }) |
| | | url: "/system/user/profile/avatar", |
| | | method: "post", |
| | | headers: { "Content-Type": "application/x-www-form-urlencoded" }, |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // æ¥è¯¢ææè§è² |
| | | export function getAuthRole(userId) { |
| | | return request({ |
| | | url: '/system/user/authRole/' + userId, |
| | | method: 'get' |
| | | }) |
| | | url: "/system/user/authRole/" + userId, |
| | | method: "get", |
| | | }); |
| | | } |
| | | |
| | | // ä¿åææè§è² |
| | | export function updateAuthRole(data) { |
| | | return request({ |
| | | url: '/system/user/authRole', |
| | | method: 'put', |
| | | params: data |
| | | }) |
| | | url: "/system/user/authRole", |
| | | method: "put", |
| | | params: data, |
| | | }); |
| | | } |
| | | |
| | | // æ¥è¯¢é¨é¨ä¸ææ ç»æ |
| | | export function deptTreeSelect() { |
| | | return request({ |
| | | url: '/system/user/deptTree', |
| | | method: 'get' |
| | | }) |
| | | url: "/system/user/deptTree", |
| | | method: "get", |
| | | }); |
| | | } |
| | | |
| | | // è·å人äºç³»ç»ç»ç» |
| | | export function selectCompaniesList() { |
| | | return request({ |
| | | url: '/companies/selectCompaniesList', |
| | | method: 'get' |
| | | }) |
| | | url: "/companies/selectCompaniesList", |
| | | method: "get", |
| | | }); |
| | | } |
| | | // è·å人äºç³»ç»ç»ç»ä¸ç人å |
| | | export function selectSimpleList(data) { |
| | | return request({ |
| | | url: '/companies/selectSimpleList', |
| | | method: 'post', |
| | | params: data |
| | | }) |
| | | url: "/companies/selectSimpleList", |
| | | method: "post", |
| | | params: data, |
| | | }); |
| | | } |
| | | // è·å人äºç³»ç»ç»ç»ä¸ç人å |
| | | export function addPersonUser(data) { |
| | | return request({ |
| | | url: '/companies/addPersonUser', |
| | | method: 'post', |
| | | params: data |
| | | }) |
| | | url: "/companies/addPersonUser", |
| | | method: "post", |
| | | params: data, |
| | | }); |
| | | } |
| | | // è·åè§è² |
| | | export function selectRoleList() { |
| | | return request({ |
| | | url: '/role/selectRoleList', |
| | | method: 'get', |
| | | }) |
| | | url: "/role/selectRoleList", |
| | | method: "get", |
| | | }); |
| | | } |
| | | // è·ååä½ |
| | | export function selectCustomEnum() { |
| | | return request({ |
| | | url: '/system/custom/selectCustomEnum', |
| | | method: 'get', |
| | | }) |
| | | url: "/system/custom/selectCustomEnum", |
| | | method: "get", |
| | | }); |
| | | } |
| | | // æäº¤æ·»å æ¶æä¿¡æ¯ |
| | | export function addDepartment(params) { |
| | | export function addDepartment(data) { |
| | | return request({ |
| | | url: '/department/addDepartment', |
| | | method: 'post', |
| | | params: params |
| | | }) |
| | | url: "/department/addDepartment", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // è·åå½åç»å½äººåé¨é¨ |
| | | export function selectUserDepartmentLimsName(query) { |
| | | return request({ |
| | | url: '/system/newUser/selectUserDepartmentLimsName', |
| | | method: 'get' |
| | | }) |
| | | url: "/system/newUser/selectUserDepartmentLimsName", |
| | | method: "get", |
| | | }); |
| | | } |
| | | // è·åç¨æ·å表 |
| | | export function selectUserCondition(query) { |
| | |
| | | </div> |
| | | <!-- å¾ç --> |
| | | <div v-else-if="item.dataType == 'image'"> |
| | | <img :src="javaApi + '/img/' + item.prop" alt="" style="width: 40px; height: 40px; margin-top: 10px" /> |
| | | <img :src="javaApi + '/img/' + scope.row[item.prop]" alt="" |
| | | style="width: 40px; height: 40px; margin-top: 10px" /> |
| | | </div> |
| | | |
| | | <!-- tag --> |
| | |
| | | }; |
| | | Vue.prototype.javaApi = process.env.VUE_APP_BASE_API |
| | | ? process.env.VUE_APP_BASE_API |
| | | : "http://192.168.0.170:8002"; |
| | | : "http://192.168.1.36:8002"; |
| | | Vue.prototype.checkPermi = checkPermi; |
| | | Vue.prototype.uploadHeader = { |
| | | Authorization: "Bearer " + getToken(), |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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%" :multiple-limit="5"> |
| | | <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 '@/utils/date' |
| | | import ViewDeviceDialog from '../../standardMethodsChange/component/ViewDeviceDialog.vue'; |
| | | import ViewTestRecord from '../../standardMethodsChange/component/ViewTestRecord.vue'; |
| | | import ViewWorkPermitDia from '../../standardMethodsChange/component/viewWorkPermitDia.vue'; |
| | | import CalibrationsFileDia from '../../standardMethodsChange/component/calibrationsFileDia.vue'; |
| | | import { |
| | | addMethodVerify, |
| | | getMethodVerifyOne, |
| | | methodVerifyAffirm, |
| | | updateMethodVerify |
| | | } from '@/api/cnas/process/method/methodVerification' |
| | | import { selectUserCondition } from '@/api/cnas/process/method/standardMethodsChange' |
| | | 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) { |
| | | getMethodVerifyOne({methodVerifyId:row.methodVerifyId}).then(res => { |
| | | if (res.code === 200){ |
| | | 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) { |
| | | updateMethodVerify(processMethodSearchNews).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 200){ |
| | | this.$message.success('æä½æå') |
| | | this.closeDia() |
| | | } |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.editLoad = false |
| | | }) |
| | | }, |
| | | // æäº¤æ°å¢ |
| | | addInfo (processMethodSearchNews) { |
| | | addMethodVerify(processMethodSearchNews).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 200){ |
| | | this.$message.success('æä½æå') |
| | | this.closeDia() |
| | | } |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.editLoad = false |
| | | }) |
| | | }, |
| | | // éªè¯ç¡®è®¤ |
| | | validation (){ |
| | | methodVerifyAffirm({methodVerifyId:this.info.methodVerifyId}).then(res => { |
| | | if (res.code === 200){ |
| | | this.form.confirmDate = dateFormat(new Date()) |
| | | } |
| | | |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeDia() { |
| | | this.formDia = false |
| | | this.$emit('closeDia'); |
| | | }, |
| | | getUserList(){ |
| | | selectUserCondition().then(res => { |
| | | if (res.code === 200) { |
| | | this.userList = res.data |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | }; |
| | | </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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="capacity-scope"> |
| | | <div class="search"> |
| | | <div> |
| | | <el-form :model="searchForm" ref="searchForm" size="small" :inline="true"> |
| | | <el-form-item label="æ åæ¹æ³" prop="methodName"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="searchForm.methodName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="searchList">æ¥ è¯¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetSearchForm">é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <el-button size="medium" type="primary" @click="openFormDia('add')">æ° å¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <div> |
| | | <TableCard :showForm="false" :showTitle="false"> |
| | | <template v-slot:table> |
| | | <limsTable |
| | | :column="tableColumn" |
| | | :height="'calc(100vh - 23em)'" |
| | | :table-data="tableData" |
| | | :table-loading="tableLoading" |
| | | style="padding: 0 15px;margin-bottom: 16px" |
| | | :page="page" |
| | | @pagination="pagination"> |
| | | </limsTable> |
| | | </template> |
| | | </TableCard> |
| | | </div> |
| | | </div> |
| | | <formDIa v-if="formDIa" ref="formDIa" :operationType="operationType" @closeDia="closeDia"></formDIa> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from '@/components/Table/lims-table.vue' |
| | | import TableCard from '@/views/CNAS/externalService/serviceAndSupplyPro/component/index.vue'; |
| | | import formDIa from './component/formDIa.vue'; |
| | | import { delMethodVerify, exportMethodVerify, pagesMethodVerify } from '@/api/cnas/process/method/methodVerification' |
| | | |
| | | export default { |
| | | name: 'a7-method-verification', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { TableCard, limsTable, formDIa }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | searchForm: { |
| | | methodName: '', |
| | | operationType: 1, |
| | | }, |
| | | 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', |
| | | clickFun: (row) => { |
| | | this.downLoadPost(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 |
| | | pagesMethodVerify({...page,...entity}).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200){ |
| | | this.tableData = res.data.records |
| | | this.page.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 |
| | | delMethodVerify({methodVerifyId: row.methodVerifyId}).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200){ |
| | | 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) |
| | | }) |
| | | }, |
| | | // å¯¼åº |
| | | downLoadPost(row) { |
| | | exportMethodVerify({methodVerifyId:row.methodVerifyId}).then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res],{ type: 'application/msword' }); |
| | | this.$download.saveAs(blob, 'æ åï¼æ¹æ³ï¼ç¡®è®¤è®°å½.docx') |
| | | this.$message.success('å¯¼åºæå') |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeDia () { |
| | | this.formDIa = false |
| | | this.searchList() |
| | | }, |
| | | // å页忢 |
| | | pagination(page) { |
| | | this.page.size = page.limit |
| | | this.searchList(); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .search { |
| | | height: 46px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['monitor:logininfor:remove']" |
| | | >å é¤</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | @click="handleClean" |
| | | v-hasPermi="['monitor:logininfor:remove']" |
| | | >æ¸
空</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-unlock" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUnlock" |
| | | v-hasPermi="['monitor:logininfor:unlock']" |
| | | >è§£é</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['monitor:logininfor:export']" |
| | | >导åº</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | <!-- <el-row :gutter="10" class="mb8">--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- size="mini"--> |
| | | <!-- :disabled="multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['monitor:logininfor:remove']"--> |
| | | <!-- >å é¤</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleClean"--> |
| | | <!-- v-hasPermi="['monitor:logininfor:remove']"--> |
| | | <!-- >æ¸
空</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="primary"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-unlock"--> |
| | | <!-- size="mini"--> |
| | | <!-- :disabled="single"--> |
| | | <!-- @click="handleUnlock"--> |
| | | <!-- v-hasPermi="['monitor:logininfor:unlock']"--> |
| | | <!-- >è§£é</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-download"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['monitor:logininfor:export']"--> |
| | | <!-- >导åº</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> |
| | | <!-- </el-row>--> |
| | | |
| | | <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['monitor:operlog:remove']" |
| | | >å é¤</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | @click="handleClean" |
| | | v-hasPermi="['monitor:operlog:remove']" |
| | | >æ¸
空</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['monitor:operlog:export']" |
| | | >导åº</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | <!-- <el-row :gutter="10" class="mb8">--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- size="mini"--> |
| | | <!-- :disabled="multiple"--> |
| | | <!-- @click="handleDelete"--> |
| | | <!-- v-hasPermi="['monitor:operlog:remove']"--> |
| | | <!-- >å é¤</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleClean"--> |
| | | <!-- v-hasPermi="['monitor:operlog:remove']"--> |
| | | <!-- >æ¸
空</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-download"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['monitor:operlog:export']"--> |
| | | <!-- >导åº</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> |
| | | <!-- </el-row>--> |
| | | |
| | | <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | |
| | | }) |
| | | .then(() => { |
| | | deleteAuxiliaryWorkingHours({ id: row.id }).then((res) => { |
| | | if (res.code == 201) return; |
| | | this.$message.success("å 餿å"); |
| | | this.refresh(); |
| | | console.log('res',res) |
| | | if (res.code == 200){ |
| | | this.$message.success("å 餿å"); |
| | | this.refresh(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | |
| | | v-model="itemParameterForm.inspectionItemSubclass" @keyup.enter.native="refreshTable()"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¯¹è±¡" prop="sample"> |
| | | <el-form-item label="æ£éªå¯¹è±¡" prop="specimenName"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="itemParameterForm.sample" @keyup.enter.native="refreshTable()"> |
| | | v-model="itemParameterForm.specimenName" @keyup.enter.native="refreshTable()"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | import EditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue"; |
| | | import testObjectEditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue"; |
| | | import {getToken} from "@/utils/auth"; |
| | | import { obtainItemParameterList } from '@/api/structural/laboratoryScope' |
| | | |
| | | export default { |
| | | components: {limsTable, EditForm, testObjectEditForm, BindPartDialog, BindSupplierDensityDialog}, |
| | |
| | | prop: 'laboratoryId', |
| | | minWidth: '130', |
| | | formatData: (params) => { |
| | | if (params == 1) { |
| | | return 'è£
å¤çµç¼è¯éªå®¤' |
| | | } else if (params == 5) { |
| | | return 'é信产åå®éªå®¤' |
| | | } else if (params == 6) { |
| | | return 'çµå产åå®éªå®¤' |
| | | } else if (params == 8) { |
| | | return 'å¨è½äº§åå®éªå®¤' |
| | | } else { |
| | | return 'å°é¢çº¿ç¼å®éªå®¤' |
| | | let index = this.laboratoryList.findIndex(item => item.value == params) |
| | | if(index > -1) { |
| | | return this.laboratoryList[index].label |
| | | }else { |
| | | return null |
| | | } |
| | | // if (params == 1) { |
| | | // return 'è£
å¤çµç¼è¯éªå®¤' |
| | | // } else if (params == 5) { |
| | | // return 'é信产åå®éªå®¤' |
| | | // } else if (params == 6) { |
| | | // return 'çµå产åå®éªå®¤' |
| | | // } else if (params == 8) { |
| | | // return 'å¨è½äº§åå®éªå®¤' |
| | | // } else { |
| | | // return 'å°é¢çº¿ç¼å®éªå®¤' |
| | | // } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 1) { |
| | |
| | | } else if (params == 8) { |
| | | return 'danger' |
| | | } else { |
| | | return '' |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | |
| | | itemParameterForm: { |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sample: null |
| | | specimenName: null |
| | | }, |
| | | radio: 0, |
| | | productLoad: false, |
| | |
| | | currentSupplierDensityRow: {}, // éæ©é¶ä»¶ç»å®æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | bindSupplierDensityDialog: false, |
| | | bindPartDialog: false, |
| | | type: null, // é¶ä»¶ç»å®çç±»å--0ï¼æ£éªå¯¹è±¡ï¼1ï¼äº§åç»´æ¤ |
| | | type: null, // é¶ä»¶ç»å®çç±»å--0ï¼æ£éªå¯¹è±¡ï¼1ï¼äº§åç»´æ¤, |
| | | laboratoryList:[] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getItemParameterList() |
| | | this.refreshTable() |
| | | }, |
| | | computed: { |
| | |
| | | closeBindSupplierDensityDialog () { |
| | | this.bindSupplierDensityDialog = false |
| | | }, |
| | | getItemParameterList(){ |
| | | obtainItemParameterList().then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.laboratoryList = data |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <el-form-item label="é¨é¨åç§°" prop="deptName"> |
| | | <el-input |
| | | v-model="queryParams.deptName" |
| | | placeholder="请è¾å
¥é¨é¨åç§°" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | <el-input v-model="queryParams.deptName" placeholder="请è¾å
¥é¨é¨åç§°" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="é¨é¨ç¶æ" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:dept:add']" |
| | | >æ°å¢</el-button> |
| | | <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['system:dept:add']">æ°å¢</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="info" |
| | | plain |
| | | icon="el-icon-sort" |
| | | size="mini" |
| | | @click="toggleExpandAll" |
| | | >å±å¼/æå </el-button> |
| | | <el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">å±å¼/æå </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | v-if="refreshTable" |
| | | v-loading="loading" |
| | | :data="deptList" |
| | | row-key="deptId" |
| | | :default-expand-all="isExpandAll" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}" |
| | | > |
| | | <el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="deptId" |
| | | :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
| | | <el-table-column prop="deptName" label="é¨é¨åç§°" width="260"></el-table-column> |
| | | <el-table-column prop="orderNum" label="æåº" width="200"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" width="100"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å建æ¶é´" align="center" prop="createTime" width="200"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="æä½" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:dept:edit']" |
| | | >ä¿®æ¹</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-plus" |
| | | @click="handleAdd(scope.row)" |
| | | v-hasPermi="['system:dept:add']" |
| | | >æ°å¢</el-button> |
| | | <el-button |
| | | v-if="scope.row.parentId != 0" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:dept:remove']" |
| | | >å é¤</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:dept:edit']">ä¿®æ¹</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" |
| | | v-hasPermi="['system:dept:add']">æ°å¢</el-button> |
| | | <el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-row> |
| | | <el-col :span="24" v-if="form.parentId !== 0"> |
| | | <el-form-item label="ä¸çº§é¨é¨" prop="parentId"> |
| | | <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="éæ©ä¸çº§é¨é¨" /> |
| | | <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" |
| | | placeholder="éæ©ä¸çº§é¨é¨" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="é¨é¨ç¶æ"> |
| | | <el-radio-group v-model="form.status"> |
| | | <el-radio |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ |
| | | dict.label |
| | | }}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | this.title = "æ·»å é¨é¨"; |
| | | listDept().then(response => { |
| | | this.deptOptions = this.handleTree(response.data, "deptId"); |
| | | this.deptOptions = this.limitTreeDepth(this.deptOptions, 2) |
| | | }); |
| | | }, |
| | | /** å±å¼/æå æä½ */ |
| | |
| | | const noResultsOptions = { deptId: this.form.parentId, deptName: this.form.parentName, children: [] }; |
| | | this.deptOptions.push(noResultsOptions); |
| | | } |
| | | this.deptOptions = this.limitTreeDepth(this.deptOptions, 2) |
| | | }); |
| | | }); |
| | | }, |
| | | /** æäº¤æé® */ |
| | | submitForm: function() { |
| | | submitForm: function () { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.deptId != undefined) { |
| | |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤å称为"' + row.deptName + '"çæ°æ®é¡¹ï¼').then(function() { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤å称为"' + row.deptName + '"çæ°æ®é¡¹ï¼').then(function () { |
| | | return delDept(row.deptId); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }).catch(() => {}); |
| | | }).catch(() => { }); |
| | | }, |
| | | // éå½å½æ°ï¼ç¨äºéå¶æ çæ·±åº¦ |
| | | limitTreeDepth(options, maxDepth, currentDepth = 1) { |
| | | return options.map(option => { |
| | | const newOption = { ...option }; |
| | | if (currentDepth < maxDepth && option.children) { |
| | | // 妿å½å深度å°äºæå¤§æ·±åº¦ä¸åå¨åèç¹ï¼åéå½å¤çåèç¹ |
| | | newOption.children = this.limitTreeDepth(option.children, maxDepth, currentDepth + 1); |
| | | } else { |
| | | // å¦åç§»é¤åèç¹ |
| | | delete newOption.children; |
| | | } |
| | | return newOption; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | |
| | | v-hasPermi="['system:dict:remove']" |
| | | >å é¤</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:dict:export']" |
| | | >导åº</el-button> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-download"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['system:dict:export']"--> |
| | | <!-- >导åº</el-button>--> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | |
| | | handleCheckedTreeConnect(value, type) { |
| | | if (type == 'menu') { |
| | | this.form.menuCheckStrictly = value ? true : false; |
| | | this.menuNodeAll = false |
| | | this.$refs.menu.setCheckedNodes([]); |
| | | } else if (type == 'dept') { |
| | | this.form.deptCheckStrictly = value ? true : false; |
| | | } |
| | |
| | | <div class="head-container addButton"> |
| | | <el-input v-model="deptName" placeholder="é¨é¨åç§°" clearable size="small" prefix-icon="el-icon-search" |
| | | style="margin-bottom: 20px" /> |
| | | <el-button style="margin-left: 4px" type="primary" plain icon="el-icon-plus" size="mini" circle |
| | | @click="addSchema"></el-button> |
| | | <!-- <el-button style="margin-left: 4px" type="primary" plain icon="el-icon-plus" size="mini" circle |
| | | @click="addSchema"></el-button> --> |
| | | </div> |
| | | <div class="head-container"> |
| | | <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="å½å±é¨é¨" prop="deptId"> |
| | | <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="è¯·éæ©å½å±é¨é¨" /> |
| | | <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" |
| | | placeholder="è¯·éæ©å½å±é¨é¨" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |