From 5c5048fafb3460695504fa43451955e690260942 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 11 七月 2025 10:01:53 +0800
Subject: [PATCH] 修改模板
---
src/views/system/modules/UserModal.vue | 1381 ++++++++++++++++++++++++++-------------------------------
1 files changed, 631 insertions(+), 750 deletions(-)
diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue
index eecaf7c..740580c 100644
--- a/src/views/system/modules/UserModal.vue
+++ b/src/views/system/modules/UserModal.vue
@@ -1,14 +1,5 @@
<template>
- <a-drawer
- :title="title"
- :maskClosable="true"
- :width="drawerWidth"
- placement="right"
- :closable="true"
- @close="handleCancel"
- :visible="visible"
- style="height: 100%;overflow: auto;padding-bottom: 53px;"
- >
+ <a-drawer :title="title" :maskClosable="true" :width="drawerWidth" placement="right" :closable="true" @close="handleCancel" :visible="visible" style="height: 100%;overflow: auto;padding-bottom: 53px;">
<template slot="title">
<div style="width: 100%;">
@@ -25,156 +16,42 @@
</template>
<a-spin :spinning="confirmLoading">
- <a-form-model
- ref="form"
- :model="model"
- :rules="validatorRules"
- >
+ <a-form-model ref="form" :model="model" :rules="validatorRules">
- <a-form-model-item
- label="鐢ㄦ埛璐﹀彿"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="username"
- >
- <a-input
- placeholder="璇疯緭鍏ョ敤鎴疯处鍙�"
- v-model="model.username"
- :readOnly="!!model.id"
- />
+ <a-form-model-item label="鐢ㄦ埛璐﹀彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
+ <a-input placeholder="璇疯緭鍏ョ敤鎴疯处鍙�" v-model="model.username" :readOnly="!!model.id" autocomplete="off"/>
</a-form-model-item>
<template v-if="!model.id">
- <a-form-model-item
- label="鐧诲綍瀵嗙爜"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="password"
- >
- <a-input
- type="password"
- placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�"
- v-model="model.password"
- />
+ <a-form-model-item label="鐧诲綍瀵嗙爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password">
+ <a-input type="password" placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�" v-model="model.password" autocomplete="off"/>
</a-form-model-item>
- <a-form-model-item
- label="纭瀵嗙爜"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="confirmpassword"
- >
- <a-input
- type="password"
- @blur="handleConfirmBlur"
- placeholder="璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�"
- v-model="model.confirmpassword"
- />
+ <a-form-model-item label="纭瀵嗙爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmpassword">
+ <a-input type="password" @blur="handleConfirmBlur" placeholder="璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�" v-model="model.confirmpassword"/>
</a-form-model-item>
</template>
- <a-form-model-item
- label="鐢ㄦ埛濮撳悕"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="realname"
- >
- <a-input
- placeholder="璇疯緭鍏ョ敤鎴峰鍚�"
- v-model="model.realname"
- />
+ <a-form-model-item label="鐢ㄦ埛濮撳悕" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
+ <a-input placeholder="璇疯緭鍏ョ敤鎴峰鍚�" v-model="model.realname"/>
</a-form-model-item>
- <a-form-model-item
- label="宸ュ彿"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="workNo"
- >
- <a-input
- placeholder="璇疯緭鍏ュ伐鍙�"
- v-model="model.workNo"
- />
+ <a-form-model-item label="宸ュ彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workNo">
+ <a-input placeholder="璇疯緭鍏ュ伐鍙�" v-model="model.workNo"/>
</a-form-model-item>
- <!--<a-form-model-item label="鑱屽姟" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
- <!--<j-select-position placeholder="璇烽�夋嫨鑱屽姟" :multiple="false" v-model="model.post"/>-->
- <!--</a-form-model-item>-->
-
- <a-form-model-item
- label="瑙掕壊鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- v-show="!roleDisabled"
- >
- <j-multi-select-tag
- :disabled="disableSubmit"
- v-model="model.selectedroles"
- :options="rolesOptions"
- placeholder="璇烽�夋嫨瑙掕壊"
- >
+ <a-form-model-item label="瑙掕壊鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled">
+ <j-multi-select-tag :disabled="disableSubmit" v-model="model.selectedroles" :options="rolesOptions" placeholder="璇烽�夋嫨瑙掕壊">
</j-multi-select-tag>
</a-form-model-item>
- <!--閮ㄩ棬鍒嗛厤-->
- <a-form-model-item
- v-if="isDepartType== 0"
- label="閮ㄩ棬鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- v-show="!departDisabled"
- >
- <j-select-depart
- v-model="model.selecteddeparts"
- :multi="true"
- @back="backDepartInfo"
- :backDepart="true"
- :treeOpera="true"
- >>
- </j-select-depart>
+ <a-form-model-item label="宀椾綅" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <!-- <j-select-position placeholder="璇烽�夋嫨宀椾綅" :multiple="false" v-model="model.post"/>-->
+ <j-dict-select-tag placeholder="璇烽�夋嫨宀椾綅" dict-code="sys_position, name, code" v-model="model.post" />
</a-form-model-item>
- <!--杞﹂棿鍒嗛厤-->
- <a-form-model-item
- label="杞﹂棿鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- v-show="!productionDisabled"
- >
- <j-select-production
- v-model="model.selectedProduction"
- :multi="true"
- @back="backProductionInfo"
- :backProduction="true"
- :treeProductOpera="true"
- ></j-select-production>
- </a-form-model-item>
-
- <a-form-model-item
- label="閫夋嫨璁惧"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- v-show="!productionDisabled"
- >
- <a-input-search
- :readOnly="true"
- v-model="model.equipmentIds"
- @search="deviceSearch"
- enter-button
- placeholder="璇烽�夋嫨璁惧"
- :disabled="!model.selectedProduction"
- />
- </a-form-model-item>
-
- <a-form-model-item
- label="棣栭〉鏉冮檺"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- >
- <a-radio-group
- v-model="model.userType"
- :defaultValue="0"
- >
+ <a-form-model-item label="棣栭〉鏉冮檺" :labelCol="labelCol" :wrapperCol="wrapperCol">
+ <a-radio-group v-model="model.userType" :defaultValue="0">
<a-radio :value="4">鍏徃绾�</a-radio>
<a-radio :value="3">杞﹂棿绾�</a-radio>
<a-radio :value="2">宸ユ绾�</a-radio>
@@ -183,663 +60,667 @@
</a-radio-group>
</a-form-model-item>
- <a-form-model-item
- label="鐝粍鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="teamId"
- >
- <j-dict-select-tag
- v-model="model.teamId"
- :triggerChange="true"
- dictCode="mom_base_team,name,id,del_flag = 0"
- placeholder="璇风淮鎶ょ彮缁�"
- ></j-dict-select-tag>
- </a-form-model-item>
- <a-form-model-item
- label="涓績鍒嗛厤"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- prop="areaId"
- >
- <!-- <j-dict-select-tag
- v-model="model.areaId"
- :triggerChange="true"
- dictCode="mom_base_area,name,id,del_flag = 0"
- placeholder="璇风淮鎶や腑蹇�"
- ></j-dict-select-tag> -->
- <j-multi-select-tag
- :triggerChange="true"
- v-model="model.areaId"
- dictCode="mom_base_area,name,id,del_flag = 0 and type = 1"
- placeholder="璇风淮鎶や腑蹇�"
- >
- </j-multi-select-tag>
- </a-form-model-item>
- <a-form-model-item
- label="璐熻矗閮ㄩ棬"
- :labelCol="labelCol"
- :wrapperCol="wrapperCol"
- v-if="departIdShow==true"
- >
- <j-multi-select-tag
- :disabled="disableSubmit"
- v-model="model.departIds"
- :options="nextDepartOptions"
- placeholder="璇烽�夋嫨璐熻矗閮ㄩ棬"
- >
- </j-multi-select-tag>
+ <!--閮ㄩ棬鍒嗛厤-->
+ <a-form-model-item v-if="isDepartType== 0" label="閮ㄩ棬鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">
+ <j-select-depart v-model="model.selecteddeparts" :multi="true" @back="backDepartInfo" :backDepart="true" :treeOpera="true"/>
</a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="澶村儚"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!-->-->
- <!--<j-image-upload-->
- <!--class="avatar-uploader"-->
- <!--text="涓婁紶"-->
- <!--v-model="model.avatar"-->
- <!--></j-image-upload>-->
- <!--</a-form-model-item>-->
+ <!--MDC杞﹂棿鍒嗛厤-->
+ <a-form-model-item label="MDC杞﹂棿鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled">
+ <j-select-production v-model="model.selectedProduction" :multi="true" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"/>
+ </a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="鐢熸棩"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!-->-->
- <!--<a-date-picker-->
- <!--style="width: 100%"-->
- <!--placeholder="璇烽�夋嫨鐢熸棩"-->
- <!--v-model="model.birthday"-->
- <!--:format="dateFormat"-->
- <!--:getCalendarContainer="node => node.parentNode"-->
- <!--/>-->
- <!--</a-form-model-item>-->
+ <a-form-model-item label="MDC璁惧鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled">
+ <a-input-search :readOnly="true" v-model="model.equipmentIds" @search="deviceSearch" enter-button placeholder="璇烽�夋嫨璁惧" :disabled="!model.selectedProduction"/>
+ </a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="鎬у埆"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!-->-->
- <!--<a-select-->
- <!--v-model="model.sex"-->
- <!--placeholder="璇烽�夋嫨鎬у埆"-->
- <!--:getPopupContainer="(target) => target.parentNode"-->
- <!-->-->
- <!--<a-select-option :value="1">鐢�</a-select-option>-->
- <!--<a-select-option :value="2">濂�</a-select-option>-->
- <!--</a-select>-->
- <!--</a-form-model-item>-->
+ <a-form-model-item label="EAM涓績鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eamFactoryIds">
+ <JSelectBaseFactory v-model="model.selectedBaseFactory" :multi="true" @back="backBaseFactoryInfo" :backProduction="true" :treeProductOpera="true"/>
+ </a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="閭"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="email"-->
- <!-->-->
- <!--<a-input-->
- <!--placeholder="璇疯緭鍏ラ偖绠�"-->
- <!--v-model="model.email"-->
- <!--/>-->
- <!--</a-form-model-item>-->
+ <a-form-model-item label="EAM璁惧鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled">
+ <a-input-search :readOnly="true" v-model="model.eamEquipmentIds" @search="eamDeviceSearch" enter-button placeholder="璇烽�夋嫨EAM璁惧" :disabled="!model.selectedBaseFactory"/>
+ </a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="鎵嬫満鍙风爜"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="phone"-->
- <!-->-->
- <!--<a-input-->
- <!--placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�"-->
- <!--v-model="model.phone"-->
- <!--/>-->
- <!--</a-form-model-item>-->
+ <a-form-model-item label="缁翠慨閮ㄩ棬/鐝粍鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!repairDepartDisabled">
+ <j-select-repair-depart v-model="model.selectedRepairDeparts" :multi="true" @back="backRepairDepartInfo" :backRepairDepart="true" :treeRepairDepartOpera="true"/>
+ </a-form-model-item>
- <!--<a-form-model-item-->
- <!--label="搴ф満"-->
- <!--:labelCol="labelCol"-->
- <!--:wrapperCol="wrapperCol"-->
- <!--prop="telephone"-->
- <!-->-->
- <!--<a-input-->
- <!--placeholder="璇疯緭鍏ュ骇鏈�"-->
- <!--v-model="model.telephone"-->
- <!--/>-->
- <!--</a-form-model-item>-->
- <!--<a-form-model-item label="宸ヤ綔娴佸紩鎿�" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
- <!--<j-dict-select-tag v-model="model.activitiSync" placeholder="璇烽�夋嫨鏄惁鍚屾宸ヤ綔娴佸紩鎿�" :type="'radio'" dictCode="activiti_sync"/>-->
- <!--</a-form-model-item>-->
-
+ <a-form-model-item label="璐熻矗閮ㄩ棬" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true">
+ <j-multi-select-tag :disabled="disableSubmit" v-model="model.departIds" :options="nextDepartOptions" placeholder="璇烽�夋嫨璐熻矗閮ㄩ棬"/>
+ </a-form-model-item>
</a-form-model>
</a-spin>
- <div
- class="drawer-bottom-button"
- v-show="!disableSubmit"
- >
- <a-popconfirm
- title="纭畾鏀惧純缂栬緫锛�"
- @confirm="handleCancel"
- okText="纭畾"
- cancelText="鍙栨秷"
- >
+ <div class="drawer-bottom-button" v-show="!disableSubmit">
+ <a-popconfirm title="纭畾鏀惧純缂栬緫锛�" @confirm="handleCancel" okText="纭畾" cancelText="鍙栨秷">
<a-button style="margin-right: .8rem">鍙栨秷</a-button>
</a-popconfirm>
- <a-button
- @click="handleSubmit"
- type="primary"
- :loading="confirmLoading"
- >鎻愪氦
- </a-button>
+ <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">鎻愪氦</a-button>
</div>
- <select-device-modal
- ref="selectDeviceModal"
- @selectFinished="selectOK"
- :title="'閫夋嫨璁惧'"
- />
+ <select-device-modal ref="selectDeviceModal" @selectFinished="selectOK" :title="'閫夋嫨璁惧'"/>
+
+ <select-eam-device-modal ref="selectEamDeviceModal" @selectFinished="selectEamOK" :title="'閫夋嫨EAM璁惧'"/>
+
</a-drawer>
</template>
<script>
-import moment from 'moment'
-import Vue from 'vue'
-import { ACCESS_TOKEN } from '@/store/mutation-types'
-import { getAction } from '@/api/manage'
-import { addUser, editUser, queryUserRole, queryall } from '@/api/api'
-import { disabledAuthFilter } from '@/utils/authFilter'
-import { duplicateCheck } from '@/api/api'
-import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction'
-import { mapActions } from 'vuex'
-import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
-import SelectDeviceModal from './SelectDeviceModal'
+ import moment from 'moment'
+ import Vue from 'vue'
+ import { ACCESS_TOKEN } from '@/store/mutation-types'
+ import { getAction } from '@/api/manage'
+ import { addUser, editUser, queryUserRole, queryall } from '@/api/api'
+ import { disabledAuthFilter } from '@/utils/authFilter'
+ import { duplicateCheck } from '@/api/api'
+ import JSelectProduction from '../../../components/jeecgbiz/JSelectProduction'
+ import JSelectRepairDepart from '../../../components/jeecgbiz/JSelectRepairDepart'
+ import { mapActions } from 'vuex'
+ import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
+ import SelectDeviceModal from './SelectDeviceModal'
+ import SelectEamDeviceModal from './SelectEamDeviceModal'
+ import JSelectBaseFactory from "@comp/jeecgbiz/JSelectBaseFactory.vue";
-export default {
- name: 'UserModal',
- components: {
- SelectDeviceModal,
- JSelectProduction
- },
- data() {
- return {
- departDisabled: false, //鏄惁鏄垜鐨勯儴闂ㄨ皟鐢ㄨ椤甸潰
- productionDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
- roleDisabled: false, //鏄惁鏄鑹茬淮鎶よ皟鐢ㄨ椤甸潰
- modalWidth: 800,
- drawerWidth: 700,
- modaltoggleFlag: true,
- confirmDirty: false,
- userId: '', //淇濆瓨鐢ㄦ埛id
- disableSubmit: false,
- dateFormat: 'YYYY-MM-DD',
- validatorRules: {
- username: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯处鍙�!' },
- { validator: this.validateUsername }],
- password: [{
- required: true,
- pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
- message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
+ export default {
+ name: 'UserModal',
+ components: {
+ JSelectBaseFactory,
+ SelectDeviceModal,
+ JSelectProduction,
+ JSelectRepairDepart,
+ SelectEamDeviceModal
+ },
+ data() {
+ return {
+ departDisabled: false, //鏄惁鏄垜鐨勯儴闂ㄨ皟鐢ㄨ椤甸潰
+ productionDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
+ roleDisabled: false, //鏄惁鏄鑹茬淮鎶よ皟鐢ㄨ椤甸潰
+ repairDepartDisabled: false, //鏄惁鏄垜鐨勭淮淇儴闂ㄧ彮缁勮皟鐢ㄨ椤甸潰
+ modalWidth: 800,
+ drawerWidth: 700,
+ modaltoggleFlag: true,
+ confirmDirty: false,
+ userId: '', //淇濆瓨鐢ㄦ埛id
+ disableSubmit: false,
+ dateFormat: 'YYYY-MM-DD',
+ validatorRules: {
+ username: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯处鍙�!' },
+ { validator: this.validateUsername }],
+ password: [{
+ required: true,
+ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
+ message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
+ },
+ { validator: this.validateToNextPassword, trigger: 'change' }],
+ confirmpassword: [{ required: true, message: '璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�!' },
+ { validator: this.compareToFirstPassword }],
+ realname: [{ required: true, message: '璇疯緭鍏ョ敤鎴峰悕绉�!' }],
+ phone: [{ required: false, message: '璇疯緭鍏ユ墜鏈哄彿!' }, { validator: this.validatePhone }],
+ email: [{ validator: this.validateEmail }],
+ roles: {},
+ workNo: [{ required: true, message: '璇疯緭鍏ュ伐鍙�' },
+ { validator: this.validateWorkNo }],
+ telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '璇疯緭鍏ユ纭殑搴ф満鍙风爜' }],
+ teamId: [{ required: false, message: '璇风淮鎶ょ彮缁�' }]
},
- { validator: this.validateToNextPassword, trigger: 'change' }],
- confirmpassword: [{ required: true, message: '璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�!' },
- { validator: this.compareToFirstPassword }],
- realname: [{ required: true, message: '璇疯緭鍏ョ敤鎴峰悕绉�!' }],
- phone: [{ required: false, message: '璇疯緭鍏ユ墜鏈哄彿!' }, { validator: this.validatePhone }],
- email: [{ validator: this.validateEmail }],
- roles: {},
- workNo: [{ required: true, message: '璇疯緭鍏ュ伐鍙�' },
- { validator: this.validateWorkNo }],
- telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '璇疯緭鍏ユ纭殑搴ф満鍙风爜' }],
- teamId: [{ required: false, message: '璇风淮鎶ょ彮缁�' }]
+ departIdShow: false,
+ title: '鎿嶄綔',
+ visible: false,
+ model: {},
+ labelCol: {
+ xs: { span: 24 },
+ sm: { span: 5 }
+ },
+ wrapperCol: {
+ xs: { span: 24 },
+ sm: { span: 16 }
+ },
+ uploadLoading: false,
+ confirmLoading: false,
+ headers: {},
+ url: {
+ fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload',
+ userWithDepart: '/sys/user/userDepartList', // 寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬮儴闂ㄤ俊鎭渶瑕佺殑url
+ //寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬭溅闂翠俊鎭渶瑕佺殑url
+ userProductionList: '/sys/user/userProductionList',
+ userId: '/sys/user/generateUserId', // 寮曞叆鐢熸垚娣诲姞鐢ㄦ埛鎯呭喌涓嬬殑url
+ syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//鍚屾鐢ㄦ埛鍒板伐浣滄祦
+ queryTenantList: '/sys/tenant/queryList',
+ userRepairDepartList: '/sys/user/userRepairDepartList',
+ userBaseFactoryList: '/sys/user/userBaseFactoryList',
+ repairDepartTreeList: '/eam/eamBaseRepairDepart/queryTreeList'
+ },
+ tenantsOptions: [],
+ rolesOptions: [],
+ nextDepartOptions: [],
+ nextProductionOptions: [],
+ nextBaseFactoryOptions:[],
+ nextRepairDepartOptions: [],
+ isDepartType: '',
+ model: {
+ selectedProduction: '',
+ selectedRepairDeparts: '',
+ selectedBaseFactory:'',
+ }
+ }
+ },
+ watch: {
+ visible: {
+ handler(value) {
+ if (value) this.initDictData('password_length')
+ }
},
- departIdShow: false,
- title: '鎿嶄綔',
- visible: false,
- model: {},
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 }
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 16 }
- },
- uploadLoading: false,
- confirmLoading: false,
- headers: {},
- url: {
- fileUpload: window._CONFIG['domianURL'] + 'sys/common/upload',
- userWithDepart: '/sys/user/userDepartList', // 寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬮儴闂ㄤ俊鎭渶瑕佺殑url
- //寮曞叆涓烘寚瀹氱敤鎴锋煡鐪嬭溅闂翠俊鎭渶瑕佺殑url
- userProductionList: '/sys/user/userProductionList',
- userId: '/sys/user/generateUserId', // 寮曞叆鐢熸垚娣诲姞鐢ㄦ埛鎯呭喌涓嬬殑url
- syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//鍚屾鐢ㄦ埛鍒板伐浣滄祦
- queryTenantList: '/sys/tenant/queryList'
- },
- tenantsOptions: [],
- rolesOptions: [],
- nextDepartOptions: [],
- nextProductionOptions: [],
- isDepartType: '',
- model: {
- selectedProduction: ''
- }
- }
- },
- watch: {
- visible: {
- handler(value) {
- if (value) this.initDictData('password_length')
- }
- },
- 'model.selectedProduction': {
- handler(newVal, oldVal) {
- if (newVal && this.$refs.selectDeviceModal) {
- // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
- if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
- this.$refs.selectDeviceModal.queryTreeData(newVal)
- }
- // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
- if (newVal === '') this.model.equipmentIds = ''
- }
- }
- },
- created() {
- const token = Vue.ls.get(ACCESS_TOKEN)
- this.headers = { 'X-Access-Token': token }
- this.initRoleList()
- this.initTenantList()
- this.queryTreeData()
- },
- computed: {
- uploadAction: function () {
- return this.url.fileUpload
- }
- },
- methods: {
- ...mapActions(['QueryDepartTree']),
- queryTreeData() {
- this.QueryDepartTree().then(res => {
- if (res.success) {
- this.isDepartType = res.result[0].value
- } else {
- // this.$message.warn(res.message)
- this.$notification.warning({
- message: '娑堟伅',
- description: res.message
- })
- }
- }).finally(() => {
- })
- },
- add() {
- this.refresh()
- this.edit({
- activitiSync: '1',
- userType: 0,
- userIdentity: 1,
- selectedroles: '',
- selecteddeparts: '',
- selectedProduction: ''
- })
- },
- edit(record) {
- let that = this
- that.visible = true
- //鏍规嵁灞忓箷瀹藉害鑷�傚簲鎶藉眽瀹藉害
- this.resetScreenSize()
- that.userId = record.id
- console.log('record', record)
- that.model = Object.assign({}, record)
- //韬唤涓轰笂绾ф樉绀鸿礋璐i儴闂紝鍚﹀垯涓嶆樉绀�
- if (this.model.userIdentity == 2) {
- this.departIdShow = true
- } else {
- this.departIdShow = false
- }
-
- if (record.hasOwnProperty('id')) {
- that.getUserRoles(record.id)
- that.getUserDeparts(record.id)
- }
- },
- isDisabledAuth(code) {
- return disabledAuthFilter(code)
- },
- //绐楀彛鏈�澶у寲鍒囨崲
- toggleScreen() {
- if (this.modaltoggleFlag) {
- this.modalWidth = window.innerWidth
- } else {
- this.modalWidth = 800
- }
- this.modaltoggleFlag = !this.modaltoggleFlag
- },
- // 鏍规嵁灞忓箷鍙樺寲,璁剧疆鎶藉眽灏哄
- resetScreenSize() {
- let screenWidth = document.body.clientWidth
- if (screenWidth < 500) {
- this.drawerWidth = screenWidth
- } else {
- this.drawerWidth = 700
- }
- },
- //鍒濆鍖栫鎴峰瓧鍏�
- initTenantList() {
- getAction(this.url.queryTenantList).then(res => {
- if (res.success) {
- this.tenantsOptions = res.result.map((item, index, arr) => {
- let c = { label: item.name, value: item.id + '' }
- return c
- })
- }
- })
- },
- //鍒濆鍖栬鑹插瓧鍏�
- initRoleList() {
- queryall().then((res) => {
- if (res.success) {
- this.rolesOptions = res.result.map((item, index, arr) => {
- let c = { label: item.roleName, value: item.id }
- return c
- })
- }
- })
- },
- getUserRoles(userid) {
- queryUserRole({ userid: userid }).then((res) => {
- if (res.success) {
- this.$set(this.model, 'selectedroles', res.result.join(','))
- }
- })
- },
- getUserDeparts(userid) {
- let that = this
- //閮ㄩ棬鐨剈rl 鑾峰彇閮ㄩ棬鍒嗛厤
- getAction(that.url.userWithDepart, { userId: userid }).then((res) => {
- if (res.success) {
- let departOptions = []
- let selectDepartKeys = []
- for (let i = 0; i < res.result.length; i++) {
- selectDepartKeys.push(res.result[i].key)
- //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
- departOptions.push({
- value: res.result[i].key,
- label: res.result[i].title
- })
+ 'model.selectedProduction': {
+ handler(newVal, oldVal) {
+ if (newVal && this.$refs.selectDeviceModal) {
+ // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
+ if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
+ this.$refs.selectDeviceModal.queryTreeData(newVal)
}
-
- this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(','))
- that.nextDepartOptions = departOptions
+ // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
+ if (newVal === '') this.model.equipmentIds = ''
}
- })
-
- // 鑾峰彇杞﹂棿鍒嗛厤
- getAction(that.url.userProductionList, { userId: userid }).then((res) => {
- if (res.success) {
- let ProductionOptions = []
- let selectProductKeys = []
- for (let i = 0; i < res.result.length; i++) {
- selectProductKeys.push(res.result[i].key)
- //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
- ProductionOptions.push({
- value: res.result[i].key,
- label: res.result[i].title
- })
+ },
+ 'model.selectedBaseFactory': {
+ handler(newVal, oldVal) {
+ if (newVal && this.$refs.selectEamDeviceModal) {
+ // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
+ if ((oldVal && newVal !== oldVal)) this.model.eamEquipmentIds = ''
+ this.$refs.selectEamDeviceModal.queryTreeData(newVal)
}
-
- this.$set(this.model, 'selectedProduction', selectProductKeys.join(','))
- that.nextProductionOptions = ProductionOptions
+ // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
+ if (newVal === '') this.model.eamEquipmentIds = ''
}
- })
- //杞﹂棿鐨剈rl
+ }
},
- backDepartInfo(info) {
- this.model.departIds = this.model.selecteddeparts
- this.nextDepartOptions = info.map((item, index, arr) => {
- let c = { label: item.text, value: item.value + '' }
- return c
- })
+ created() {
+ const token = Vue.ls.get(ACCESS_TOKEN)
+ this.headers = { 'X-Access-Token': token }
+ this.initRoleList()
+ this.initTenantList()
+ this.queryTreeData()
+ this.getRepairDepartTreeDataByApi()
},
- backProductionInfo(info) {
- this.model.productionIds = this.model.selectedProduction
- this.nextProductionOptions = info.map((item, index, arr) => {
- let c = { label: item.text, value: item.value + '' }
- return c
- })
+ computed: {
+ uploadAction: function() {
+ return this.url.fileUpload
+ }
},
-
- refresh() {
- this.userId = ''
- this.nextDepartOptions = []
- this.nextProductionOptions = []
- this.departIdShow = false
- },
- close() {
- this.$emit('close')
- this.visible = false
- this.disableSubmit = false
- this.nextDepartOptions = []
- this.nextProductionOptions = []
- this.departIdShow = false
- this.$refs.form.resetFields()
- },
- moment,
- handleSubmit() {
- const that = this
- // 瑙﹀彂琛ㄥ崟楠岃瘉
- this.$refs.form.validate(valid => {
- if (valid) {
- that.confirmLoading = true
- //濡傛灉鏄笂绾ф嫨浼犲叆departIds,鍚﹀垯涓虹┖
- if (this.model.userIdentity !== 2) {
- this.model.departIds = ''
- }
- let obj
- if (!this.model.id) {
- this.model.id = this.userId
- obj = addUser(this.model)
+ methods: {
+ ...mapActions(['QueryDepartTree']),
+ queryTreeData() {
+ this.QueryDepartTree().then(res => {
+ if (res.success) {
+ this.isDepartType = res.result[0].value
} else {
- obj = editUser(this.model)
+ // this.$message.warn(res.message)
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
}
- obj.then((res) => {
+ }).finally(() => {
+ })
+ },
+ // 鑾峰彇缁翠慨鐝粍鏍�
+ getRepairDepartTreeDataByApi() {
+ getAction(this.url.repairDepartTreeList)
+ .then(res => {
if (res.success) {
- that.$message.success(res.message)
- that.$emit('ok')
+ this.repairDepartTreeData = res.result
} else {
- that.$message.warning(res.message)
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
}
- }).finally(() => {
- that.confirmLoading = false
- that.close()
})
+ },
+ add() {
+ this.refresh()
+ this.edit({
+ activitiSync: '1',
+ userType: 0,
+ userIdentity: 1,
+ selectedroles: '',
+ selecteddeparts: '',
+ selectedProduction: '',
+ selectedBaseFactory:'',
+ selectedRepairDeparts: ''
+ })
+ },
+ edit(record) {
+ let that = this
+ that.visible = true
+ //鏍规嵁灞忓箷瀹藉害鑷�傚簲鎶藉眽瀹藉害
+ this.resetScreenSize()
+ that.userId = record.id
+ console.log('record', record)
+ that.model = Object.assign({}, record)
+ //韬唤涓轰笂绾ф樉绀鸿礋璐i儴闂紝鍚﹀垯涓嶆樉绀�
+ if (this.model.userIdentity == 2) {
+ this.departIdShow = true
} else {
+ this.departIdShow = false
+ }
+
+ if (record.hasOwnProperty('id')) {
+ that.getUserRoles(record.id)
+ that.getUserDeparts(record.id)
+ that.getUserProductions(record.id)
+ that.getUserRepairDeparts(record.id)
+ this.getUserBaseFactorys(record.id)
+ }
+ },
+ isDisabledAuth(code) {
+ return disabledAuthFilter(code)
+ },
+ //绐楀彛鏈�澶у寲鍒囨崲
+ toggleScreen() {
+ if (this.modaltoggleFlag) {
+ this.modalWidth = window.innerWidth
+ } else {
+ this.modalWidth = 800
+ }
+ this.modaltoggleFlag = !this.modaltoggleFlag
+ },
+ // 鏍规嵁灞忓箷鍙樺寲,璁剧疆鎶藉眽灏哄
+ resetScreenSize() {
+ let screenWidth = document.body.clientWidth
+ if (screenWidth < 500) {
+ this.drawerWidth = screenWidth
+ } else {
+ this.drawerWidth = 700
+ }
+ },
+ //鍒濆鍖栫鎴峰瓧鍏�
+ initTenantList() {
+ getAction(this.url.queryTenantList).then(res => {
+ if (res.success) {
+ this.tenantsOptions = res.result.map((item, index, arr) => {
+ let c = { label: item.name, value: item.id + '' }
+ return c
+ })
+ }
+ })
+ },
+ //鍒濆鍖栬鑹插瓧鍏�
+ initRoleList() {
+ queryall().then((res) => {
+ if (res.success) {
+ this.rolesOptions = res.result.map((item, index, arr) => {
+ let c = { label: item.roleName, value: item.id }
+ return c
+ })
+ }
+ })
+ },
+ getUserRoles(userid) {
+ queryUserRole({ userid: userid }).then((res) => {
+ if (res.success) {
+ this.$set(this.model, 'selectedroles', res.result.join(','))
+ }
+ })
+ },
+ getUserDeparts(userid) {
+ let that = this
+ //閮ㄩ棬鐨剈rl 鑾峰彇閮ㄩ棬鍒嗛厤
+ getAction(that.url.userWithDepart, { userId: userid }).then((res) => {
+ if (res.success) {
+ let departOptions = []
+ let selectDepartKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectDepartKeys.push(res.result[i].key)
+ //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
+ departOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(','))
+ that.nextDepartOptions = departOptions
+ }
+ })
+ },
+ getUserProductions(userid) {
+ let that = this
+ // 鑾峰彇杞﹂棿鍒嗛厤
+ getAction(that.url.userProductionList, { userId: userid }).then((res) => {
+ if (res.success) {
+ let ProductionOptions = []
+ let selectProductKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectProductKeys.push(res.result[i].key)
+ //鏂板璐熻矗閮ㄩ棬閫夋嫨涓嬫媺妗�
+ ProductionOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selectedProduction', selectProductKeys.join(','))
+ that.nextProductionOptions = ProductionOptions
+ }
+ })
+ },
+ getUserRepairDeparts(userid) {
+ let that = this
+ // 鑾峰彇缁翠慨閮ㄩ棬/鐝粍鍒嗛厤
+ getAction(that.url.userRepairDepartList, { userId: userid }).then((res) => {
+ if (res.success) {
+ let repairDepartOptions = []
+ let selectedRepairDepartKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectedRepairDepartKeys.push(res.result[i].key)
+ //鏂板璐熻矗缁翠慨閮ㄩ棬/鐝粍閫夋嫨涓嬫媺妗�
+ repairDepartOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selectedRepairDeparts', selectedRepairDepartKeys.join(','))
+ that.nextRepairDepartOptions = repairDepartOptions
+ }
+ })
+ },
+ getUserBaseFactorys(userid) {
+ let that = this
+ // 鑾峰彇EAM涓績/宸ュ尯/宸ユ鍒嗛厤
+ getAction(that.url.userBaseFactoryList, { userId: userid }).then((res) => {
+ if (res.success) {
+ let BaseFactoryOptions = []
+ let selectedBaseFactoryOptionsKeys = []
+ for (let i = 0; i < res.result.length; i++) {
+ selectedBaseFactoryOptionsKeys.push(res.result[i].key)
+ //鏂板璐熻矗缁翠慨閮ㄩ棬/鐝粍閫夋嫨涓嬫媺妗�
+ BaseFactoryOptions.push({
+ value: res.result[i].key,
+ label: res.result[i].title
+ })
+ }
+
+ this.$set(this.model, 'selectedBaseFactory', selectedBaseFactoryOptionsKeys.join(','))
+ that.nextBaseFactoryOptions = BaseFactoryOptions
+ }
+ })
+ },
+ backDepartInfo(info) {
+ this.model.departIds = this.model.selecteddeparts
+ this.nextDepartOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+ backProductionInfo(info) {
+ this.model.productionIds = this.model.selectedProduction
+ this.nextProductionOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+ backBaseFactoryInfo(info) {
+ this.model.eamFactoryIds = this.model.selectedBaseFactory
+ this.nextBaseFactoryOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+ backRepairDepartInfo(info) {
+ this.model.repairDepartIds = this.model.selectedRepairDeparts
+ this.nextRepairDepartOptions = info.map((item, index, arr) => {
+ let c = { label: item.text, value: item.value + '' }
+ return c
+ })
+ },
+
+ refresh() {
+ this.userId = ''
+ this.nextDepartOptions = []
+ this.nextProductionOptions = []
+ this.nextBaseFactoryOptions = []
+ this.nextRepairDepartOptions = []
+ this.departIdShow = false
+ },
+ close() {
+ this.$emit('close')
+ this.visible = false
+ this.disableSubmit = false
+ this.nextDepartOptions = []
+ this.nextProductionOptions = []
+ this.nextProductionOptions = []
+ this.nextRepairDepartOptions = []
+ this.departIdShow = false
+ this.$refs.form.resetFields()
+ },
+ moment,
+ handleSubmit() {
+ const that = this
+ // 瑙﹀彂琛ㄥ崟楠岃瘉
+ this.$refs.form.validate(valid => {
+ if (valid) {
+ that.confirmLoading = true
+ //濡傛灉鏄笂绾ф嫨浼犲叆departIds,鍚﹀垯涓虹┖
+ if (this.model.userIdentity !== 2) {
+ this.model.departIds = ''
+ }
+ let obj
+ if (!this.model.id) {
+ this.model.id = this.userId
+ obj = addUser(this.model)
+ } else {
+ obj = editUser(this.model)
+ }
+ obj.then((res) => {
+ if (res.success) {
+ that.$message.success(res.message)
+ that.$emit('ok')
+ } else {
+ that.$message.warning(res.message)
+ }
+ }).finally(() => {
+ that.confirmLoading = false
+ that.close()
+ })
+ } else {
+ return false
+ }
+ })
+ },
+ handleCancel() {
+ this.close()
+ },
+ validateToNextPassword(rule, value, callback) {
+ const confirmpassword = this.model.confirmpassword
+ if (value && confirmpassword && value !== confirmpassword) {
+ callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
+ }
+ if (value && this.confirmDirty) {
+ this.$refs.form.validateField(['confirmpassword'])
+ }
+ callback()
+ },
+ compareToFirstPassword(rule, value, callback) {
+ if (value && value !== this.model.password) {
+ callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
+ } else {
+ callback()
+ }
+ },
+ validatePhone(rule, value, callback) {
+ if (!value) {
+ callback()
+ } else {
+ if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'phone',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('鎵嬫満鍙峰凡瀛樺湪!')
+ }
+ })
+ } else {
+ callback('璇疯緭鍏ユ纭牸寮忕殑鎵嬫満鍙风爜!')
+ }
+ }
+ },
+ validateEmail(rule, value, callback) {
+ if (!value) {
+ callback()
+ } else {
+ if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'email',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ console.log(res)
+ if (res.success) {
+ callback()
+ } else {
+ callback('閭宸插瓨鍦�!')
+ }
+ })
+ } else {
+ callback('璇疯緭鍏ユ纭牸寮忕殑閭!')
+ }
+ }
+ },
+ validateUsername(rule, value, callback) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'username',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('鐢ㄦ埛鍚嶅凡瀛樺湪!')
+ }
+ })
+ },
+ validateWorkNo(rule, value, callback) {
+ var params = {
+ tableName: 'sys_user',
+ fieldName: 'work_no',
+ fieldVal: value,
+ dataId: this.userId
+ }
+ duplicateCheck(params).then((res) => {
+ if (res.success) {
+ callback()
+ } else {
+ callback('宸ュ彿宸插瓨鍦�!')
+ }
+ })
+ },
+ handleConfirmBlur(e) {
+ const value = e.target.value
+ this.confirmDirty = this.confirmDirty || !!value
+ },
+ beforeUpload: function(file) {
+ var fileType = file.type
+ if (fileType.indexOf('image') < 0) {
+ this.$message.warning('璇蜂笂浼犲浘鐗�')
return false
}
- })
- },
- handleCancel() {
- this.close()
- },
- validateToNextPassword(rule, value, callback) {
- const confirmpassword = this.model.confirmpassword
- if (value && confirmpassword && value !== confirmpassword) {
- callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
- }
- if (value && this.confirmDirty) {
- this.$refs.form.validateField(['confirmpassword'])
- }
- callback()
- },
- compareToFirstPassword(rule, value, callback) {
- if (value && value !== this.model.password) {
- callback('涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鏍凤紒')
- } else {
- callback()
- }
- },
- validatePhone(rule, value, callback) {
- if (!value) {
- callback()
- } else {
- if (new RegExp(/^1[3|4|5|7|8|9][0-9]\d{8}$/).test(value)) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'phone',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('鎵嬫満鍙峰凡瀛樺湪!')
+ //TODO 楠岃瘉鏂囦欢澶у皬
+ },
+ identityChange(e) {
+ if (e.target.value === 1) {
+ this.departIdShow = false
+ } else {
+ this.departIdShow = true
+ }
+ },
+ initDictData(dictCode) {
+ //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+ ajaxGetDictItems(dictCode, null).then((res) => {
+ if (res.success) {
+ const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$')
+
+ this.validatorRules.password[0] = {
+ required: true,
+ pattern: regExp,
+ message: `瀵嗙爜鐢�${res.result[0].value}浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!`
}
- })
- } else {
- callback('璇疯緭鍏ユ纭牸寮忕殑鎵嬫満鍙风爜!')
- }
- }
- },
- validateEmail(rule, value, callback) {
- if (!value) {
- callback()
- } else {
- if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'email',
- fieldVal: value,
- dataId: this.userId
+
}
- duplicateCheck(params).then((res) => {
- console.log(res)
- if (res.success) {
- callback()
- } else {
- callback('閭宸插瓨鍦�!')
- }
- })
- } else {
- callback('璇疯緭鍏ユ纭牸寮忕殑閭!')
- }
- }
- },
- validateUsername(rule, value, callback) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'username',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('鐢ㄦ埛鍚嶅凡瀛樺湪!')
- }
- })
- },
- validateWorkNo(rule, value, callback) {
- var params = {
- tableName: 'sys_user',
- fieldName: 'work_no',
- fieldVal: value,
- dataId: this.userId
- }
- duplicateCheck(params).then((res) => {
- if (res.success) {
- callback()
- } else {
- callback('宸ュ彿宸插瓨鍦�!')
- }
- })
- },
- handleConfirmBlur(e) {
- const value = e.target.value
- this.confirmDirty = this.confirmDirty || !!value
- },
- beforeUpload: function (file) {
- var fileType = file.type
- if (fileType.indexOf('image') < 0) {
- this.$message.warning('璇蜂笂浼犲浘鐗�')
- return false
- }
- //TODO 楠岃瘉鏂囦欢澶у皬
- },
- identityChange(e) {
- if (e.target.value === 1) {
- this.departIdShow = false
- } else {
- this.departIdShow = true
- }
- },
- initDictData(dictCode) {
- //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
- ajaxGetDictItems(dictCode, null).then((res) => {
- if (res.success) {
- const regExp = new RegExp('^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:";\'<>?,./]).{' + Number(res.result[0].value) + ',}$')
+ })
+ },
- this.validatorRules.password[0] = {
- required: true,
- pattern: regExp,
- message: `瀵嗙爜鐢�${res.result[0].value}浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!`
- }
+ deviceSearch() {
+ this.$refs.selectDeviceModal.visible = true
+ this.$refs.selectDeviceModal.selectedRowKeys = []
+ this.$refs.selectDeviceModal.selectedRows = []
+ this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : []
+ },
- }
- })
- },
+ eamDeviceSearch(){
+ this.$refs.selectEamDeviceModal.visible = true
+ this.$refs.selectEamDeviceModal.selectedRowKeys = []
+ this.$refs.selectEamDeviceModal.selectedRows = []
+ this.$refs.selectEamDeviceModal.checkedKeys = this.model.eamEquipmentIds ? this.model.eamEquipmentIds.split(',') : []
+ },
- deviceSearch() {
- this.$refs.selectDeviceModal.visible = true
- this.$refs.selectDeviceModal.selectedRowKeys = []
- this.$refs.selectDeviceModal.selectedRows = []
- this.$refs.selectDeviceModal.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : []
- },
-
- /**
- * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
- * @param data 宸查�夋嫨鐨勮澶囨暟缁�
- */
- selectOK(data) {
- console.log('data=', data)
- this.$set(this.model, 'equipmentIds', data.join(','))
+ /**
+ * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
+ * @param data 宸查�夋嫨鐨勮澶囨暟缁�
+ */
+ selectOK(data) {
+ console.log('data=', data)
+ this.$set(this.model, 'equipmentIds', data.join(','))
+ },
+ selectEamOK(data) {
+ console.log('data=', data)
+ this.$set(this.model, 'eamEquipmentIds', data.join(','))
+ }
}
}
-}
</script>
<style scoped>
-.avatar-uploader > .ant-upload {
- width: 104px;
- height: 104px;
-}
+ .avatar-uploader > .ant-upload {
+ width: 104px;
+ height: 104px;
+ }
-.ant-upload-select-picture-card i {
- font-size: 49px;
- color: #999;
-}
+ .ant-upload-select-picture-card i {
+ font-size: 49px;
+ color: #999;
+ }
-.ant-upload-select-picture-card .ant-upload-text {
- margin-top: 8px;
- color: #666;
-}
+ .ant-upload-select-picture-card .ant-upload-text {
+ margin-top: 8px;
+ color: #666;
+ }
-.ant-table-tbody .ant-table-row td {
- padding-top: 10px;
- padding-bottom: 10px;
-}
+ .ant-table-tbody .ant-table-row td {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
-.drawer-bottom-button {
- position: absolute;
- bottom: -8px;
- width: 100%;
- border-top: 1px solid #e8e8e8;
- padding: 10px 16px;
- text-align: right;
- left: 0;
- background: #fff;
- border-radius: 0 0 2px 2px;
-}
+ .drawer-bottom-button {
+ position: absolute;
+ bottom: -8px;
+ width: 100%;
+ border-top: 1px solid #e8e8e8;
+ padding: 10px 16px;
+ text-align: right;
+ left: 0;
+ background: #fff;
+ border-radius: 0 0 2px 2px;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3