zhaowei
2025-07-03 bf2e77248f05798c3f2904fe24416bb75c9e6476
src/views/system/modules/UserModal.vue
@@ -41,6 +41,7 @@
            placeholder="请输入用户账号"
            v-model="model.username"
            :readOnly="!!model.id"
            autocomplete="off"
          />
        </a-form-model-item>
@@ -55,6 +56,7 @@
              type="password"
              placeholder="请输入登录密码"
              v-model="model.password"
              autocomplete="off"
            />
          </a-form-model-item>
@@ -97,10 +99,6 @@
          />
        </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"
@@ -114,6 +112,23 @@
            placeholder="请选择角色"
          >
          </j-multi-select-tag>
        </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>
        <!--部门分配-->
@@ -134,9 +149,9 @@
          </j-select-depart>
        </a-form-model-item>
        <!--车间分配-->
        <!--MDC车间分配-->
        <a-form-model-item
          label="车间分配"
          label="MDC车间分配"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          v-show="!productionDisabled"
@@ -151,41 +166,53 @@
        </a-form-model-item>
        <a-form-model-item
          label="选择设备"
          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-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="中心分配"
          label="EAM中心分配"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          prop="areaId"
        >
          <j-dict-select-tag
            v-model="model.areaId"
          <j-multi-select-tag
            :triggerChange="true"
            dictCode="mom_base_area,name,id,del_flag = 0"
            v-model="model.eamFactoryIds"
            dictCode="mom_base_area,name,id,del_flag = 0 and type = 1"
            placeholder="请维护中心"
          ></j-dict-select-tag>
          >
          </j-multi-select-tag>
        </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="deviceSearch"
            enter-button
            placeholder="请选择设备"
            :disabled="!model.selectedProduction"
          />
        </a-form-model-item>
        <a-form-model-item
          label="负责部门"
          :labelCol="labelCol"
@@ -200,88 +227,6 @@
          >
          </j-multi-select-tag>
        </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>
        <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="性别"
          :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="邮箱"
          :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">-->
        <!--<j-dict-select-tag  v-model="model.activitiSync"  placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/>-->
        <!--</a-form-model-item>-->
      </a-form-model>
    </a-spin>
@@ -305,7 +250,11 @@
      </a-button>
    </div>
    <select-device-modal ref="selectDeviceModal" @selectFinished="selectOK" :title="'选择设备'"/>
    <select-device-modal
      ref="selectDeviceModal"
      @selectFinished="selectOK"
      :title="'选择设备'"
    />
  </a-drawer>
</template>
@@ -359,7 +308,6 @@
            { validator: this.validateWorkNo }],
          telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' }],
          teamId: [{ required: false, message: '请维护班组' }]
        },
        departIdShow: false,
        title: '操作',
@@ -403,9 +351,13 @@
      },
      'model.selectedProduction': {
        handler(newVal, oldVal) {
          console.log('触发监听', 'newVal=', newVal, 'oldVal=', oldVal)
          // if ((newVal !== oldVal && oldVal) || !newVal) this.model.equipmentIds = ''
          if (newVal && this.$refs.selectDeviceModal) this.$refs.selectDeviceModal.queryTreeData(newVal)
          if (newVal && this.$refs.selectDeviceModal) {
            // 如果车间选择前后不一致则重置选择设备
            if ((oldVal && newVal !== oldVal)) this.model.equipmentIds = ''
            this.$refs.selectDeviceModal.queryTreeData(newVal)
          }
          // 如果清空车间值则重置选择设备
          if (newVal === '') this.model.equipmentIds = ''
        }
      }
    },
@@ -441,6 +393,7 @@
        this.refresh()
        this.edit({
          activitiSync: '1',
          userType: 0,
          userIdentity: 1,
          selectedroles: '',
          selecteddeparts: '',
@@ -466,7 +419,6 @@
          that.getUserRoles(record.id)
          that.getUserDeparts(record.id)
        }
        console.log('that.model', that.model)
      },
      isDisabledAuth(code) {
        return disabledAuthFilter(code)
@@ -497,7 +449,6 @@
              let c = { label: item.name, value: item.id + '' }
              return c
            })
            console.log('this.tenantsOptions: ', this.tenantsOptions)
          }
        })
      },
@@ -509,16 +460,13 @@
              let c = { label: item.roleName, value: item.id }
              return c
            })
            console.log('this.rolesOptions: ', this.rolesOptions)
          }
        })
      },
      getUserRoles(userid) {
        queryUserRole({ userid: userid }).then((res) => {
          if (res.success) {
            // this.model.selectedroles = res.result.join(',')
            this.$set(this.model, 'selectedroles', res.result.join(','))
            console.log('that.model.selectedroles=', this.model.selectedroles)
          }
        })
      },
@@ -538,11 +486,8 @@
              })
            }
            // that.model.selecteddeparts = selectDepartKeys.join(',')
            this.$set(this.model, 'selecteddeparts', selectDepartKeys.join(','))
            that.nextDepartOptions = departOptions
            console.log('that.nextDepartOptions=', that.nextDepartOptions)
          }
        })
@@ -560,10 +505,8 @@
              })
            }
            // that.model.selectedProduction = selectProductKeys.join(',')
            this.$set(this.model, 'selectedProduction', selectProductKeys.join(','))
            that.nextProductionOptions = ProductionOptions
            console.log('that.nextProductionOptions=', that.nextProductionOptions)
          }
        })
        //车间的url