qushaowei
2023-11-18 eb48d3bada053e26def2a94d46dbe115a5a7bb2f
src/views/eam/modules/dailyMaintenanceStandard/DailyMaintenanceStandardModal.vue
@@ -29,18 +29,18 @@
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="对象部门"
              label="使用部门"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <!-- <a-input-search
                :disabled="disableSubmit"
                placeholder="请选择对象部门"
                placeholder="请选择使用部门"
                enter-button
                @search="onDepartList()"
                :read-only="true"
                v-decorator="['useDepartName', validatorRules.useDepartName]"
              /> -->
              />
              <a-tree-select
                style="width: 100%"
                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
@@ -48,6 +48,15 @@
                placeholder="请选择部门"
                tree-default-expand-all
                v-decorator="['departId', validatorRules.useId ]"
              />-->
              <j-dict-select-tag
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请选择使用部门'"
                :triggerChange="true"
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-decorator="['departId', {}]"
              />
            </a-form-item>
          </a-col>
@@ -114,21 +123,21 @@
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入设备编码/名称/型号'"
                :placeholder="disableSubmit?'':'请输入统一编码/名称/型号'"
                v-decorator="['equipmentId', validatorRules.equipmentId ]"
              />
            </a-form-item>
          </a-col>
          <!-- <a-col :span="12">
            <a-form-item
              label="对象部门Id"
              label="使用部门Id"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入对象部门id'"
                :placeholder="disableSubmit?'':'请输入使用部门id'"
                v-decorator="['departId', validatorRules.useId ]"
              />
            </a-form-item>
@@ -218,14 +227,14 @@
        <!-- <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item
              label="对象部门"
              label="使用部门"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请对象部门'"
                :placeholder="disableSubmit?'':'请使用部门'"
                :triggerChange="true"
                dictCode="sys_depart,depart_name,id,version = '7' and del_flag!='1'"
                v-decorator="['departId', validatorRules.departId]"
@@ -263,6 +272,7 @@
      rowKey='id'
      :columns="columns"
      :dataSource="dataSource"
      :pagination="false"
    >
      <template
        v-for="col in columns"
@@ -292,8 +302,9 @@
            v-if="col.dataIndex == 'location'"
            :maxLength="500"
            auto-size
            placeholder="请输入位置"
            placeholder="请输入保养位置"
            @change="(e)=>handleChange(e, record.key, col, index)"
            :disabled="true"
          />
          <j-image-upload
            :value="text"
@@ -304,6 +315,16 @@
            @change="(e)=>handleChange(e, record.key, col, index)"
          >
          </j-image-upload>
          <j-dict-select-tag
            v-if="col.dataIndex == 'maintenanceRole'"
            :value="text"
            allow-clear
            :triggerChange="true"
            dictCode="maintenance_role"
            placeholder="请选择保养角色"
            style="width: 100%"
            @change="(e)=>handleChange(e, record.key, col, index)"
          />
        </div>
      </template>
@@ -318,43 +339,6 @@
          <a>删除</a>
        </a-popconfirm>
      </span>
      <!-- <span
        slot="photo"
        slot-scope="text,record"
      >
        <Tooltip
          placement="top"
          title="预览图片"
        >
          <img
            v-if=" record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif')"
            width="30"
            height="14"
            border="1"
            draggable="false"
            preview="1"
            :preview-text="''"
            :src="record.upload.src"
          />
        </Tooltip>
        <a
          v-if="record.upload.path && record.upload.format.toLowerCase()=='pdf'"
          href="javascript:;"
          @click="view(record.upload)"
        >
          预览
        </a>
        <a-divider
          v-if="record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif'||record.upload.format.toLowerCase()=='pdf')"
          type="vertical"
        />
        <a
          href="javascript:;"
          @click="handleUpload(record)"
        >上传</a>
      </span> -->
    </a-table>
    <template slot="footer">
      <a-button
@@ -450,52 +434,59 @@
          align: 'center',
          dataIndex: 'standard'
        },
        // {
        //   title: '方法',
        //   align: 'center',
        //   dataIndex: 'maintenanceMethodName'
        // },
        // {
        //   title: '工具',
        //   align: 'center',
        //   dataIndex: 'maintenanceTool'
        // },
        // {
        //   title: '维保专业',
        //   align: 'center',
        //   dataIndex: 'maintenanceSpecialtyName'
        // },
        // {
        //   title: '安全要求',
        //   align: 'center',
        //   dataIndex: 'maintenanceRequire',
        //   scopedSlots: { customRender: 'maintenanceRequire' },
        //   width: 150,
        // },
        // {
        //   title: '工时定额',
        //   align: 'center',
        //   dataIndex: 'workingHourQuota'
        // },
        // {
        //   title: '示意图',
        //   align: 'center',
        //   dataIndex: 'photo',
        //   scopedSlots: { customRender: 'photo' },
        //   width: 150,
        // },
        {
          title: '方法',
          align: 'center',
          dataIndex: 'maintenanceMethodName'
        },
        {
          title: '工具',
          align: 'center',
          dataIndex: 'maintenanceTool'
        },
        {
          title: '维保专业',
          align: 'center',
          dataIndex: 'maintenanceSpecialtyName'
        },
        {
          title: '安全要求',
          align: 'center',
          dataIndex: 'maintenanceRequire',
          scopedSlots: { customRender: 'maintenanceRequire' },
          width: 150,
        },
        {
          title: '工时定额',
          align: 'center',
          dataIndex: 'workingHourQuota'
        },
        {
          title: '示意图',
          align: 'center',
          dataIndex: 'photo',
          scopedSlots: { customRender: 'photo' },
          width: 150,
        },
        {
          title: '部位',
          title: '保养部位',
          align: 'center',
          dataIndex: 'location',
          scopedSlots: { customRender: 'location' },
          width: 150,
          // scopedSlots: { customRender: 'location' },
          // width: 150,
        },
        {
          title: '周期',
          align: 'center',
          dataIndex: 'maintenanceCycleId',
          scopedSlots: { customRender: 'maintenanceCycleId' },
          width: 150,
        },
        {
          title: '保养角色',
          align: 'center',
          dataIndex: 'maintenanceRole',
          scopedSlots: { customRender: 'maintenanceRole' },
          width: 150,
        },
        {
@@ -540,7 +531,7 @@
        },
        useDepartName: {
          rules: [
            { required: true, message: '请选择对象部门!' },
            { required: true, message: '请选择使用部门!' },
          ]
        },
        equipmentName: {
@@ -568,12 +559,13 @@
        list: "/eam/maintenanceStandardDetail/getMaintenanceStandardDetailListByIds",
        add: "/eam/maintenanceStandard/add",
        edit: "/eam/maintenanceStandard/edit",
        addDetail: "/eam/maintenanceStandardDetail/add",
        getMaintenanceCycle: "/eam/maintenanceStandardDetail/getMaintenanceCycle",
        // addDetail: "/eam/maintenanceStandardDetail/add",
        getMaintenanceCycle: "/eam/maintenanceStandardDetail/getPeriodicMaintenanceCycle",
        realDelete: "/eam/maintenanceStandardDetail/realDelete",
        revise: '/eam/maintenanceStandard/revise',
        getReviseVersion: "/eam/maintenanceStandard/getReviseVersion",
        loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
        getNum: '/eam/sysIdentity/getNumNew'
      },
      dataSource: [],
@@ -593,6 +585,7 @@
          standard: data[i].standard,
          maintenanceMethodName: data[i].maintenanceMethod_dictText,
          maintenanceTool: data[i].maintenanceTool,
          location: data[i].location,
          maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText,
          maintenanceRequire: data[i].maintenanceRequire,
          workingHourQuota: data[i].workingHourQuota,
@@ -641,28 +634,27 @@
    add() {
      this.edit({ maintenanceStandardDetaillist: [] })
      this.getSeq()
    },
    edit(record) {
      let that = this;
      this.initOptions();
      this.getMaintenanceCycle()
      // this.initOptions();
      // this.getMaintenanceCycle()
      this.dataSource = [];
      this.form.resetFields();
      this.model = Object.assign({}, record);
      this.visible = true;
      if (record.maintenanceStandardDetaillist != undefined) {
        const temp = [...record.maintenanceStandardDetaillist];
        // for (let i = 0; i < temp.length; i++) {
        //   let r = temp[i].upload;
        //   r.src = this.getSrc(temp[i].upload);
        // }
        that.dataSource = temp;
      }
      that.$nextTick(() => {
        that.form.setFieldsValue(pick(that.model, 'num', 'departId', 'teamId', 'equipmentId', 'equipmentName', 'useDepartName', 'useId', 'teamName', 'assignMode', 'version', 'remark'));
      });
      if (record.id) {
        this.maintenanceCycles = []
        this.getMaintenanceCycle(this.model.equipmentId)
        this.codeDisable = true;
        that.$nextTick(() => {
          if (that.isRevise) {
@@ -691,11 +683,18 @@
      })
    },
    getSeq() {
      getAction(this.url.getNum, { type: 'DailyMaintenanceStandard', length: 4 }).then(res => {
        if (res.success) {
          this.form.setFieldsValue({ "num": res.result })
        }
      })
    },
    onEquipmentList() {
      let data = this.form.getFieldsValue(['departId']);
      if (data.departId == null || data.departId == "") {
        this.$message.warning("请先选择对象部门!");
        this.$message.warning("请先选择使用部门!");
        return
      }
      this.$refs.EquipmentList.list(data.departId);
@@ -704,12 +703,14 @@
    sendEquipmentRecord(data) {
      this.dataSource = [];
      let record = data.record;
      this.getMaintenanceCycle(record.id)
      this.form.setFieldsValue({ equipmentId: record.id, equipmentName: record.num + "/" + record.name + "/" + record.model, teamId: record.teamId, teamName: record.teamId_dictText });
    },
    onDepartList() {
      this.$refs.DepartList.list();
      this.$refs.DepartList.title = "选择对象部门";
      this.$refs.DepartList.title = "选择使用部门";
    },
    sendDepartRecord(data) {
      this.dataSource = [];
@@ -728,7 +729,6 @@
    },
    handleOk() {
      console.log("123")
      const that = this;
      this.form.validateFields((err, values) => {
        if (!err) {
@@ -744,10 +744,12 @@
          let obj;
          if (!this.model.id) {
            formData.versionStatus = '1'
            formData.approvalStatus = '1'
            obj = postAction(this.url.add, formData);
          } else {
            if (this.isRevise) {
              formData.versionStatus = '1'
              formData.approvalStatus = '1'
              obj = postAction(this.url.revise, formData);
            } else {
              obj = requestPut(this.url.edit, formData, { id: this.model.id });
@@ -786,8 +788,8 @@
      })
    },
    getMaintenanceCycle() {
      getAction(this.url.getMaintenanceCycle).then((res) => {
    getMaintenanceCycle(equipmentId) {
      getAction(this.url.getMaintenanceCycle, { equipmentId: equipmentId }).then((res) => {
        if (res.success) {
          this.maintenanceCycles = res.result
        }
@@ -815,6 +817,9 @@
        if (column.dataIndex == 'location') {
          target[column.dataIndex] = value.target.value;
        }
        if (column.dataIndex == 'maintenanceRole') {
          target[column.dataIndex] = value;
        }
        //显示带过来的数据
        that.dataSource = temp;
      }