Lius
3 天以前 a284da4c7af8db0004b9779753f7d1effaf6254e
src/views/eam/dispose/modules/EamEquipmentLeanOutModal.vue
@@ -3,6 +3,7 @@
    :title="title"
    :width="800"
    :visible="visible"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    :confirmLoading="confirmLoading"
    switchFullscreen
    @ok="handleOk"
@@ -15,14 +16,15 @@
          <a-input placeholder="编码系统自动生成" v-model="model.code" disabled />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设备编号">
          <lx-search-equipment-select placeholder="请输入设备编号或名称搜索"
          <lx-search-equipment-select placeholder="请输入设备编号或名称搜索" :disabled="disableSubmit"
                                      v-model="model.equipmentId"></lx-search-equipment-select>
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanDepartId" label="借入车间">
          <a-tree-select v-model="model.leanDepartId"
                         :disabled="disableSubmit"
                         style="width: 100%"
                         :tree-data="treeData"
                         :tree-data="treeDataAlias"
                         :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                         placeholder="请选择借入车间"
                         allow-clear
@@ -31,10 +33,10 @@
          </a-tree-select>
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanReason" label="借用原因">
          <a-textarea placeholder="请输入借用原因" v-model="model.leanReason" />
          <a-textarea placeholder="请输入借用原因" :disabled="disableSubmit" v-model="model.leanReason" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="备注">
          <a-textarea placeholder="请输入备注" v-model="model.remark" />
          <a-textarea placeholder="请输入备注" :disabled="disableSubmit" v-model="model.remark" />
        </a-form-model-item>
      </a-form-model>
    </a-spin>
@@ -65,6 +67,7 @@
        },
        confirmLoading: false,
        treeData: [],
        treeDataAlias: [],
        validatorRules:{
          equipmentId: [
            { required: true, message: '请选择设备!' }
@@ -98,8 +101,9 @@
        this.model = Object.assign({}, record)
        this.visible = true
        this.editable = true
        this.loadDetail(record.id)
        // this.loadDetail(record.id)
      },
      close () {
        this.$emit('close');
        this.visible = false;
@@ -144,12 +148,43 @@
        getAction(this.url.loadProductionOptions).then(res => {
          if (res.success) {
            this.treeData = [...res.result]
            this.treeDataAlias = this.deepCopyAndModify(res.result)
          }else {
            that.$message.warning(res.message)
          }
        })
      },
      deepCopyAndModify(arr) {
        // 如果当前元素不是数组或对象,直接返回
        if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) {
          return arr;
        }
        // 如果是数组,创建一个新数组并递归处理每个元素
        if (Array.isArray(arr)) {
          const newArray = [];
          for (let i = 0; i < arr.length; i++) {
            newArray.push(this.deepCopyAndModify(arr[i]));
          }
          return newArray;
        }
        // 如果是对象,创建一个新对象并递归处理每个属性
        const newObj = {};
        for (const key in arr) {
          if (arr.hasOwnProperty(key)) {
            if(key === 'selectable') {
              newObj[key] = true;
            } else if(key === 'children') {
              newObj[key] = this.deepCopyAndModify(arr[key]);
            }else {
              newObj[key] = arr[key];
            }
          }
        }
        return newObj;
      }
    }
  }
</script>