From 3db6d5c4d17ab9942a5c89a167c1f06ca485f355 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期三, 16 七月 2025 21:21:14 +0800
Subject: [PATCH] 二保工单审批调整

---
 src/views/system/modules/UserModal.vue |  453 ++++++++++++++++++++++----------------------------------
 1 files changed, 180 insertions(+), 273 deletions(-)

diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue
index a1f4328..ce2b780 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,295 +16,93 @@
     </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 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">
+          <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>
+            <a-radio :value="1">鎿嶄綔宸�</a-radio>
+            <a-radio :value="0">鏃�</a-radio>
+          </a-radio-group>
         </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 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"
-          v-show="!productionDisabled"
-        >
-          <j-select-production
-            v-model="model.selectedProduction"
-            :multi="true"
-            @back="backProductionInfo"
-            :backProduction="true"
-            :treeProductOpera="true"
-          ></j-select-production>
+        <!--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"
-          v-show="!productionDisabled"
-        >
-          <a-input-search :readOnly="true" v-model="model.equipmentIds" @search="deviceSearch" enter-button
-                          placeholder="璇烽�夋嫨璁惧" :disabled="!model.selectedProduction"/>
+        <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"
-          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>
-        </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 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"
-        >
-          <j-image-upload
-            class="avatar-uploader"
-            text="涓婁紶"
-            v-model="model.avatar"
-          ></j-image-upload>
+        <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"
-        >
-          <a-date-picker
-            style="width: 100%"
-            placeholder="璇烽�夋嫨鐢熸棩"
-            v-model="model.birthday"
-            :format="dateFormat"
-            :getCalendarContainer="node => node.parentNode"
-          />
+        <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"
-        >
-          <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 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-item
-          label="閭"
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          prop="email"
-        >
-          <a-input
-            placeholder="璇疯緭鍏ラ偖绠�"
-            v-model="model.email"
-          />
-        </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"
-          prop="telephone"
-        >
-          <a-input
-            placeholder="璇疯緭鍏ュ骇鏈�"
-            v-model="model.telephone"
-          />
-        </a-form-model-item>
-
-        <a-form-model-item label="韬唤" :labelCol="labelCol" :wrapperCol="wrapperCol">
-          <a-radio-group v-model="model.userType">
-            <a-radio :value="1">鏅�氱敤鎴�</a-radio>
-            <a-radio :value="2">宸ユ涓荤</a-radio>
-            <a-radio :value="3">杞﹂棿涓荤</a-radio>
-            <a-radio :value="4">鍏徃涓荤</a-radio>
-          </a-radio-group>
-        </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>
     </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-eam-device-modal ref="selectEamDeviceModal" @selectFinished="selectEamOK" :title="'閫夋嫨EAM璁惧'"/>
+
   </a-drawer>
 </template>
 
@@ -326,21 +115,28 @@
   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: {
+      JSelectBaseFactory,
       SelectDeviceModal,
-      JSelectProduction
+      JSelectProduction,
+      JSelectRepairDepart,
+      SelectEamDeviceModal
     },
     data() {
       return {
         departDisabled: false, //鏄惁鏄垜鐨勯儴闂ㄨ皟鐢ㄨ椤甸潰
         productionDisabled: false, //鏄惁鏄垜鐨勮溅闂磋皟鐢ㄨ椤甸潰
         roleDisabled: false, //鏄惁鏄鑹茬淮鎶よ皟鐢ㄨ椤甸潰
+        repairDepartDisabled: false, //鏄惁鏄垜鐨勭淮淇儴闂ㄧ彮缁勮皟鐢ㄨ椤甸潰
         modalWidth: 800,
         drawerWidth: 700,
         modaltoggleFlag: true,
@@ -351,12 +147,12 @@
         validatorRules: {
           username: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯处鍙�!' },
             { validator: this.validateUsername }],
-          password: [{
-            required: true,
-            pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
-            message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
-          },
-            { validator: this.validateToNextPassword, trigger: 'change' }],
+          // 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: '璇疯緭鍏ョ敤鎴峰悕绉�!' }],
@@ -390,15 +186,22 @@
           userProductionList: '/sys/user/userProductionList',
           userId: '/sys/user/generateUserId', // 寮曞叆鐢熸垚娣诲姞鐢ㄦ埛鎯呭喌涓嬬殑url
           syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//鍚屾鐢ㄦ埛鍒板伐浣滄祦
-          queryTenantList: '/sys/tenant/queryList'
+          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: ''
+          selectedProduction: '',
+          selectedRepairDeparts: '',
+          selectedBaseFactory:'',
         }
       }
     },
@@ -418,6 +221,17 @@
           // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
           if (newVal === '') this.model.equipmentIds = ''
         }
+      },
+      'model.selectedBaseFactory': {
+        handler(newVal, oldVal) {
+          if (newVal && this.$refs.selectEamDeviceModal) {
+            // 濡傛灉杞﹂棿閫夋嫨鍓嶅悗涓嶄竴鑷村垯閲嶇疆閫夋嫨璁惧
+            if ((oldVal && newVal !== oldVal)) this.model.eamEquipmentIds = ''
+            this.$refs.selectEamDeviceModal.queryTreeData(newVal)
+          }
+          // 濡傛灉娓呯┖杞﹂棿鍊煎垯閲嶇疆閫夋嫨璁惧
+          if (newVal === '') this.model.eamEquipmentIds = ''
+        }
       }
     },
     created() {
@@ -426,6 +240,7 @@
       this.initRoleList()
       this.initTenantList()
       this.queryTreeData()
+      this.getRepairDepartTreeDataByApi()
     },
     computed: {
       uploadAction: function() {
@@ -448,14 +263,31 @@
         }).finally(() => {
         })
       },
+      // 鑾峰彇缁翠慨鐝粍鏍�
+      getRepairDepartTreeDataByApi() {
+        getAction(this.url.repairDepartTreeList)
+          .then(res => {
+            if (res.success) {
+              this.repairDepartTreeData = res.result
+            } else {
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          })
+      },
       add() {
         this.refresh()
         this.edit({
           activitiSync: '1',
+          userType: 0,
           userIdentity: 1,
           selectedroles: '',
           selecteddeparts: '',
-          selectedProduction: ''
+          selectedProduction: '',
+          selectedBaseFactory:'',
+          selectedRepairDeparts: ''
         })
       },
       edit(record) {
@@ -476,6 +308,9 @@
         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) {
@@ -548,7 +383,9 @@
             that.nextDepartOptions = departOptions
           }
         })
-
+      },
+      getUserProductions(userid) {
+        let that = this
         // 鑾峰彇杞﹂棿鍒嗛厤
         getAction(that.url.userProductionList, { userId: userid }).then((res) => {
           if (res.success) {
@@ -567,7 +404,48 @@
             that.nextProductionOptions = ProductionOptions
           }
         })
-        //杞﹂棿鐨剈rl
+      },
+      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
@@ -583,11 +461,27 @@
           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() {
@@ -596,6 +490,8 @@
         this.disableSubmit = false
         this.nextDepartOptions = []
         this.nextProductionOptions = []
+        this.nextProductionOptions = []
+        this.nextRepairDepartOptions = []
         this.departIdShow = false
         this.$refs.form.resetFields()
       },
@@ -772,6 +668,13 @@
         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(',') : []
+      },
+
       /**
        * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
        * @param data 宸查�夋嫨鐨勮澶囨暟缁�
@@ -779,6 +682,10 @@
       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(','))
       }
     }
   }

--
Gitblit v1.9.3