“linengliang”
2023-10-25 59eb5746394c73b4eb7396fe695d0cdb1f0c071e
已经处理的问题
已修改7个文件
836 ■■■■ 文件已修改
src/views/eam/MalfunctionRepair.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/RepairOrderList.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue 371 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/moudles/select/FaultReportRepair.vue 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/UserList.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/UserModal.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/MalfunctionRepair.vue
@@ -79,52 +79,6 @@
        @change="handleTableChange"
        :customRow="clickThenSelect"
      >
        <!-- :rowSelection="rowSelection" -->
        <!-- :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" -->
        <!-- <template
          slot="htmlSlot"
          slot-scope="text"
        >
          <div v-html="text"></div>
        </template>
        <template
          slot="imgSlot"
          slot-scope="text,record"
        >
          <span
            v-if="!text"
            style="font-size: 12px;font-style: italic;"
          >无图片</span>
          <img
            v-else
            :src="getImgView(text)"
            :preview="record.id"
            height="25px"
            alt=""
            style="max-width:80px;font-size: 12px;font-style: italic;"
          />
        </template>
        <template
          slot="fileSlot"
          slot-scope="text"
        >
          <span
            v-if="!text"
            style="font-size: 12px;font-style: italic;"
          >无文件</span>
          <a-button
            v-else
            :ghost="true"
            type="primary"
            icon="download"
            size="small"
            @click="downloadFile(text)"
          >
            下载
          </a-button>
        </template> -->
        <span
          slot="action"
          slot-scope="text, record"
@@ -206,7 +160,7 @@
          class="table-operator"
          style="margin-top: 0px"
        >
          <FaultDescriptionList ref="FaultDescriptionList" />
          <FaultDescriptionList ref="FaultDescriptionList"   @ok="modalFormOk"/>
        </div>
      </a-tab-pane>
src/views/eam/RepairOrderList.vue
@@ -82,7 +82,77 @@
                ></a-input>
              </a-form-item>
            </a-col>
            <a-col
            :xl="6"
              :lg="7"
              :md="8"
              :sm="24">
            <a-form-item
            label="设备所属分类"
            >
              <j-dict-select-tag
                dictCode="mom_eam_equipment_category,name,id"
                placeholder="请输入搜索条件并选择"
                v-model="queryParam.equipmentCategoryId"
              />
            </a-form-item>
          </a-col>
          <a-col
          :xl="6"
            :lg="7"
              :md="8"
              :sm="24"
          >
            <a-form-item
              label="车间"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择资车间"
                :triggerChange="true"
                dictCode="mom_base_factory_model,name,id,del_flag!='1'"
                v-model="queryParam.factoryModelId"
              />
            </a-form-item>
          </a-col>
          <a-col
          :xl="6"
            :lg="7"
              :md="8"
              :sm="24"
          >
            <a-form-item
              label="是否关键设备"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择是否关键设备"
                :triggerChange="true"
                dictCode="specific_equipment"
                v-model="queryParam.specificEquipment"
              />
            </a-form-item>
          </a-col>
          </a-row>
          <!-- <a-row :gutter="24">
            <a-col
            :xl="6"
            :lg="7"
              :md="8"
              :sm="24">
            <a-form-item
              label="工区"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择工区"
                :triggerChange="true"
                dictCode="mom_base_area,name,id,del_flag!='1'"
                v-model="queryParam.factoryModelId"
              />
            </a-form-item>
          </a-col>
          </a-row> -->
        </template>
      </a-form>
    </div>
@@ -94,10 +164,10 @@
            key="1"
            @click="handleAddPre(1)"
          ><a-icon type="smile" />自建</a-menu-item>
          <a-menu-item
          <!-- <a-menu-item
            key="2"
            @click="handleAddPre(2)"
          ><a-icon type="copy" />参照故障报修单</a-menu-item>
          ><a-icon type="copy" />参照故障报修单</a-menu-item> -->
          <a-menu-item
            key="2"
            @click="handleAddPre(3)"
@@ -126,6 +196,11 @@
        @click="handleDispatch()"
        :disabled="selectionRows.length==0"
      >派工</a-button>
      <a-button
          type="primary"
          icon="plus"
          @click="getReports"
      >领取</a-button>
      <!-- <a-button type="primary" icon="download" @click="handleExportXls('维修工单')">导出</a-button>
      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
        <a-button type="primary" icon="import">导入</a-button>
@@ -161,14 +236,13 @@
        @change="handleTableChange"
        :customRow="clickThenSelect"
      >
        <!-- :rowSelection="rowSelection" -->
        <span slot="jell" slot-scope="text">
            <j-ellipsis :value="text" :length="8" />
        </span>
        <span
          slot="num"
          slot-scope="text, record"
        >
          <a
            v-if="record.status === '3' || record.status === '4' ||record.status === '5'  ||record.status === '7' "
            class="lot"
@@ -176,71 +250,6 @@
          ><j-ellipsis :value="text" :length="15"/></a>
          <span v-else> <j-ellipsis :value="text" :length="15"/></span>
        </span>
        <!-- <span
          slot="action"
          slot-scope="text, record"
        >
          <a-popconfirm
            title="确定下发吗?"
            @confirm="() => handleDistribute(record)"
          >
            <a v-if="record.status=='0'">下发</a>
          </a-popconfirm>
          <a-divider
            type="vertical"
            v-if="record.status=='0'"
          />
          <a-popconfirm
            title="确定撤回吗?"
            @confirm="() => handleWithdraw(record)"
          >
            <a v-if="record.status=='1'">撤回</a>
          </a-popconfirm>
          <a-divider
            type="vertical"
            v-if="record.status=='1'"
          />
          <a-popconfirm
            title="确定领取吗?"
            @confirm="() => handleReceive(record)"
          >
            <a v-if="record.status=='1'">领取</a>
          </a-popconfirm>
          <a-divider
            type="vertical"
            v-if="record.status=='1'"
          />
          <a
            v-if="record.status === '2' || record.status === '3' ||record.status === '4'"
            @click="handleOrderExe(record)"
          >执行</a>
          <a-divider
            type="vertical"
            v-if="record.status === '2' || record.status === '3' ||record.status === '4'"
          />
          <a
            @click="handleEditPre(record)"
            v-if="record.status=='0'"
          >编辑</a>
          <a-divider
            type="vertical"
            v-if="record.status=='0'"
          />
          <a-dropdown v-if="record.status=='0'">
            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a-popconfirm
                  title="确定删除吗?"
                  @confirm="() => handleDelete(record.id)"
                >
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
        </span> -->
        <span
          slot="action"
          slot-scope="text, record"
@@ -275,10 +284,10 @@
            v-if="record.status == '1' && record.dispatchMethod == '1'  "
            @click="handleAssignOrder(record)"
          >派工</a>
          <a
          <!-- <a
            v-if="record.status == '2' && record.dispatchMethod != null "
            @click="handleAssignOrder(record)"
          >改派</a>
          >改派</a> -->
          <a-divider
            v-if="record.status == '1' || record.status == '2' "
            type="vertical"
@@ -407,9 +416,13 @@
    <repair-order-excute-drawer
      ref="repairOrderExcuteDrawer"
      @ok="modalFormOk"
      :repairOrderId="repairOrderFaultAnalysisMainId"
      :repairOrder="excuteRepairOrder"
    >
    </repair-order-excute-drawer>
    <fault-report-repair
      ref="FaultReportRepair"
    ></fault-report-repair>
  </a-card>
</template>
<script>
@@ -429,6 +442,7 @@
import RepairOrderAssignTask from './modules/repairorder/RepairOrderAssignTask.vue'
import RepairOrderExcuteDrawer from './modules/repairorder/repairOrderExcuteDrawer.vue'
import FaultDescriptionList from './FaultDescriptionList'
import FaultReportRepair from './modules/repairorder/moudles/select/FaultReportRepair.vue'
export default {
  name: "RepairOrderList",
  mixins: [JeecgListMixin],
@@ -444,7 +458,8 @@
    RepairOrderModal,
    RepairOrderAssignTask,
    RepairOrderExcuteDrawer,
    FaultDescriptionList
    FaultDescriptionList,
    FaultReportRepair
  },
  data() {
    return {
@@ -472,11 +487,11 @@
          dataIndex: 'num',
          scopedSlots: { customRender: 'num' }
        },
        {
          title: '业务类型',
          align: "center",
          dataIndex: 'businessType_dictText'
        },
        // {
        //   title: '业务类型',
        //   align: "center",
        //   dataIndex: 'businessType_dictText'
        // },
        {
          title: '设备编码',
          align: "center",
@@ -497,25 +512,28 @@
          align: "center",
          dataIndex: 'departId_dictText'
        },
        // {
        //   title: '紧急程度',
        //   align: "center",
        //   dataIndex: 'urgency_dictText'
        // },
        // {
        //   title: '维保方式',
        //   align: "center",
        //   dataIndex: 'maintenanceMethod_dictText'
        // },
        // {
        //   title: '外委单位',
        //   align: "center",
        //   dataIndex: 'outsourcingUnitName'
        // },
        {
          title: '紧急程度',
          title: '维修班组',
          align: "center",
          dataIndex: 'urgency_dictText'
        },
        {
          title: '维保方式',
          align: "center",
          dataIndex: 'maintenanceMethod_dictText'
        },
        {
          title: '外委单位',
          align: "center",
          dataIndex: 'outsourcingUnitName'
        },
        {
          title: '责任班组',
          align: "center",
          dataIndex: 'teamId_dictText'
          dataIndex: 'teamId_dictText',
          scopedSlots: {
            customRender: 'jell'
          }
        },
        {
          title: '责任人',
@@ -535,7 +553,10 @@
        {
          title: '故障描述',
          align: "center",
          dataIndex: 'faultDescription'
          dataIndex: 'faultDescription',
          scopedSlots: {
            customRender: 'jell'
          }
        },
        {
          title: '故障原因',
@@ -573,11 +594,11 @@
        //   align: "center",
        //   dataIndex: 'isStop_dictText'
        // },
        {
          title: '工时定额',
          align: "center",
          dataIndex: 'workingHourQuota'
        },
        // {
        //   title: '工时定额',
        //   align: "center",
        //   dataIndex: 'workingHourQuota'
        // },
        {
          title: '实际工时',
          align: "center",
@@ -853,6 +874,10 @@
      this.onClearSelected()
      this.$refs.FaultDescriptionList.faultId = '-1'
    },
    getReports(){
         this.$refs.FaultReportRepair.title = '故障报修单';
         this.$refs.FaultReportRepair.visible = true;
    }
  },
}
src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue
@@ -1,217 +1,218 @@
<template>
  <a-card
    :bordered='false'
    :class="'cust-erp-sub-tab'"
    :bordered=true
  >
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
  <a-spin :spinning='confirmLoading'>
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
        :form="form"
      >
        <a-row>
          <a-col
            :span='12'
          >
            <a-form-item
              label='故障类型'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
            >
              <j-dict-select-tag
                allow-clear
                placeholder='请选择故障类型'
                :triggerChange='true'
                :disabled="isEdit"
                dictCode="mom_eam_fault_type,name,id,del_flag!='1'"
                v-decorator="['faultTypeId', validatorRules.faultTypeId ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span='12'>
            <a-form-item
              label='故障分析'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
            >
              <a-textarea
                placeholder='请输入故障分析'
                v-decorator="['faultCause', validatorRules.faultCause]"
                :disabled="isEdit"
              ></a-textarea>
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->
    <!-- 操作按钮区域 -->
    <div
      class='table-operator'
      v-if='mainId.id'
    >
      <a-dropdown v-if='selectedRowKeys.length > 0'>
        <a-menu slot='overlay'>
          <a-menu-item
            key='1'
            @click='batchDel'
          >
            <a-icon type='delete' />
            删除
          </a-menu-item>
        </a-menu>
        <a-button style='margin-left: 8px'> 批量操作
          <a-icon type='down' />
        </a-button>
      </a-dropdown>
    </div>
    <!-- table区域-begin -->
    <div>
      <!-- <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'>
        <i class='anticon anticon-info-circle ant-alert-icon'></i> 已选择 <a
        style='font-weight: 600'>{{ selectedRowKeys.length }}</a>项
        <a style='margin-left: 24px' @click='onClearSelected'>清空</a>
      </div> -->
      <a-table
        ref='table'
        size='middle'
        bordered
        rowKey='id'
        :scroll='{x:true}'
        :columns='columns'
        :dataSource='dataSource'
        :pagination='ipagination'
        :loading='loading'
        @change='handleTableChange'
      >
        <!-- :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' -->
        <span
          slot='action'
          slot-scope='text, record'
        >
          <!-- <a @click='handleEdit(record)'>编辑</a>
          <a-divider type='vertical' /> -->
          <a-popconfirm
            title='确定删除吗?'
            @confirm='() => handleDelete(record.id)'
          >
            <a :disabled="mainId.status=='4'">删除</a>
          </a-popconfirm>
        </span>
      </a-table>
        <a-row>
          <a-col :span='12'>
            <a-form-item
              label='维修措施'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
            >
              <a-textarea
                placeholder='请输入维修措施'
                v-decorator="['maintenanceMeasures', validatorRules.maintenanceMeasures]"
                :disabled="isEdit"
              ></a-textarea>
            </a-form-item>
          </a-col>
          <a-col :span='12'>
            <a-form-item
              label='维保意见'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
            >
              <a-textarea
                v-decorator="['suggestion', validatorRules.suggestion]"
                placeholder='请输入维保意见'
                :disabled="isEdit"
              ></a-textarea>
            </a-form-item>
          </a-col>
        </a-row>
      <a-button
        style="width: 100%; margin-top: 16px; margin-bottom: 8px"
        type="dashed"
        icon="plus"
        @click="handleAdd"
        :disabled="mainId.status=='4' ||mainId.status=='2'"
      >添加故障分析
        :style="{marginRight: '8px'}"
        @click='handleEdit2()'
      >
       编辑
      </a-button>
    </div>
    <repair-order-fault-analysis-report-model
      ref='modalForm'
      @ok='modalFormOk'
    ></repair-order-fault-analysis-report-model>
      <a-button
        @click='handleOk()'
        type='primary'
        :loading='confirmLoading'
      >保存
      </a-button>
      </a-form>
  </a-spin>
  </a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import RepairOrderFaultAnalysisReportModel from './RepairOrderFaultAnalysisReportModel.vue'
import pick from 'lodash.pick'
import { postAction, requestPut } from '@/api/manage'
import { duplicateCheck } from '@/api/api'
import { getAction } from '../../../../../api/manage'
export default {
  name: 'RepairOrderFaultAnalysisList',
  mixins: [JeecgListMixin],
  components: { RepairOrderFaultAnalysisReportModel },
  components: { },
  props: {
    mainId: {
      type: Object,
   repairOrderId: {
      type: String,
      default:'',
    }
  },
  watch: {
    mainId: {
      immediate: true,
      handler(val) {
        console.log(val)
        if (!this.mainId.id) {
          this.clearList()
        } else {
          this.queryParam['repairOrderId'] = val.id
          this.loadData(1)
  watch:{
      repairOrderId:{
        immediate: true,
        handler(val) {
          this.form.resetFields();
          if(!this.repairOrderId){
            this.isEdit = false;
          }else{
            this.loadData(val);
          }
        }
      }
    }
  },
  data() {
    return {
      description: '维修工单管理页面',
      disableMixinCreated: true,
      // 表头
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: 'center',
          customRender: function (t, r, index) {
            return parseInt(index) + 1
          }
        },
        {
          title: '故障原因',
          dataIndex: 'faultCauseName',
          align: 'center',
          width: 150,
          ellipsis: true,
        },
        {
          title: '故障类型',
          dataIndex: 'faultTypeName',
          align: 'center',
          width: 150,
          ellipsis: true,
        },
        {
          title: '故障分析',
          dataIndex: 'faultCause',
          align: 'center',
          width: 150,
          ellipsis: true,
        },
        {
          title: '维修措施',
          dataIndex: 'maintenanceMeasures',
          align: 'center',
          width: 150,
          ellipsis: true,
        },
        {
          title: '维保改进意见',
          dataIndex: 'suggestion',
          align: 'center',
          width: 150,
          ellipsis: true,
        },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          width: 147,
          scopedSlots: { customRender: 'action' }
        }
      ],
      confirmLoading:false,
      model:{},
      form: this.$form.createForm(this),
      url: {
        list: '/eam/repairOrder/listRepairOrderFaultAnalysisByMainId',
        delete: '/eam/repairOrder/deleteRepairOrderFaultAnalysis',
        deleteBatch: '/eam/repairOrder/deleteBatchRepairOrderFaultAnalysis',
        exportXlsUrl: '/eam/repairOrder/exportRepairOrderFaultAnalysis',
        importUrl: '/eam/repairOrder/importRepairOrderFaultAnalysis'
        add:'/eam/repairOrderFaultAnalysis/add',
        edit: '/eam/repairOrderFaultAnalysis/edit',
        getInfo:'/eam/repairOrderFaultAnalysis/list',
      },
      dictOptions: {}
    }
  },
  created() {
  },
  computed: {
    importExcelUrl() {
      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId.id}`
      dictOptions: {},
      isEdit:false,
      validatorRules: {
        faultCause: {
          rules: [
            { required: true, message: '请输入故障分析!' },
            { min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
          ]
        },
        faultCauseId: {
          rules: [
            { required: true, message: '请选择故障原因!' },
          ]
        },
        faultTypeId: {
          rules: [
            { required: true, message: '请选择故障类型!' },
          ]
        },
        suggestion:{
          rules: [
            { required: true, message: '请输入维保意见!' },
            { min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
          ]
        },
        maintenanceMeasures:{
          rules: [
            { required: true, message: '请输入维修措施!' },
            { min: 2, max: 1000, message: '长度在 2 到 1000 个字符', trigger: 'blur' },
          ]
        },
      },
      labelCol: {
        xs: { span: 24 },
        sm: { span: 5 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 }
      },
    }
  },
  methods: {
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    handleOk() {
      const that = this;
      // 触发表单验证
      this.form.validateFields((err, values) => {
        if (!err) {
          that.confirmLoading = true;
          let formData = Object.assign(this.model, values);
          let obj;
          if (!this.model.id) {
            formData.repairOrderId = this.repairOrderId;
            obj = postAction(this.url.add, formData);
          } else {
            obj = requestPut(this.url.edit, formData, { id: this.model.id });
          }
          obj.then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
            } else {
              that.$message.warning(res.message);
            }
          }).finally(() => {
             that.loadData(that.repairOrderId);
             that.confirmLoading = false;
          })
        }
      })
    },
    handleAdd: function () {
      this.$refs.modalForm.add(this.mainId)
      this.$refs.modalForm.title = '新增'
      this.$refs.modalForm.disableSubmit = false
    loadData(repairOrderId){
      let that = this;
      getAction(that.url.getInfo,{repairOrderId:repairOrderId}).then(res=>{
                if(res.success){
                   if(res.result.records.length!==0){
                      that.isEdit=true;
                      that.form.setFieldsValue(pick(res.result.records[0], 'faultCause', 'faultTypeId', 'suggestion', 'maintenanceMeasures','id'))
                      that.model = Object.assign({}, res.result.records[0]);
                      that.isEdit=true;
                   }else{
                    that.isEdit=false;
                   }
                }
      })
    },
    handleEdit2(){
    this.isEdit=false;
    }
  },
  }
}
</script>
<style scoped>
src/views/eam/modules/repairorder/moudles/select/FaultReportRepair.vue
@@ -1,7 +1,7 @@
<template>
  <a-modal
    :title="title"
    :width="1250"
    :width="1600"
    :visible="visible"
    :confirmLoading="confirmLoading"
    :okButtonProps="{ props: {disabled: disableSubmit} }"
@@ -72,12 +72,14 @@
            :columns="columns"
            :dataSource="dataSource"
            :pagination="ipagination"
            :loading="loading"
            :loading="confirmLoading"
            @change="handleTableChange"
            :customRow="clickThenCheck"
            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:type}"
            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
          >
          <span slot="faultDescription" slot-scope="text">
            <j-ellipsis :value="text" :length="10" />
          </span>
          </a-table>
        </div>
      </a-form>
@@ -94,6 +96,16 @@
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import JEllipsis from '@/components/jeecg/JEllipsis'//引入过长裁剪
import store from '@/store'
import {
  ACCESS_TOKEN,
  USER_NAME,
  USER_INFO,
  USER_AUTH,
  SYS_BUTTON_AUTH,
  UI_CACHE_DB_DICT_DATA,
  TENANT_ID,
  CACHE_INCLUDED_ROUTES
} from '@/store/mutation-types'
export default {
  name: "FaultReportRepair",
@@ -102,6 +114,7 @@
    JDate,
    Tooltip,
    JEllipsis,
    store
  },
  data() {
    return {
@@ -134,29 +147,59 @@
      confirmLoading: false,
      form: this.$form.createForm(this),
      columns: [
        {
      {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          align: 'center',
          width: 60,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1
            return parseInt(index) + 1;
          }
        },
        {
          title: '状态',
          align: "center",
          dataIndex: 'statusName',
        },
        {
          title: '单据号',
          align: 'center',
          dataIndex: 'num',
          align: "center",
          dataIndex: 'num'
        },
        {
          title: '设备编码',
          align: "center",
          dataIndex: 'equipmentNum'
        },
        {
          title: '设备名称',
          align: 'center',
          align: "center",
          dataIndex: 'equipmentName',
        },
        {
          title: '设备型号',
          align: "center",
          dataIndex: 'equipmentModel',
        },
        {
          title: '规格',
          align: "center",
          dataIndex: 'equipmentSpecification',
        },
        {
          title: '使用部门',
          align: "center",
          dataIndex: 'departName',
        },
        {
          title: '故障描述',
          align: "center",
          dataIndex: 'faultDescription'
          dataIndex: 'faultDescription',
          scopedSlots: {
            customRender: 'faultDescription'
          }
        },
        {
          title: '故障时间',
@@ -164,13 +207,32 @@
          dataIndex: 'faultTime'
        },
        {
          title: '紧急程度',
          align: 'center',
          dataIndex: 'urgency_dictText',
          title: '是否停机待修',
          align: "center",
          dataIndex: 'isStopName',
        },
        {
          title: '创建人',
          align: "center",
          dataIndex: 'createBy'
        },
        {
          title: '创建时间',
          align: "center",
          dataIndex: 'createTime',
        },
        {
          title: '备注',
          align: "center",
          dataIndex: 'remark',
          scopedSlots: {
            customRender: 'faultDescription'
          }
        },
      ],
      url: {
        list: "/eam/equipmentReportRepair/list",
        list: "/eam/equipmentReportRepair/getReportRepairList",
        add:  "/eam/repairOrder/addBySelectReport"
      },
    }
  },
@@ -187,6 +249,8 @@
      if (arg === 1) {
        this.ipagination.current = 1
      }
      this.queryParam.status = '1';
      this.queryParam.userId = store.getters.userInfo.id
      var params = this.getQueryParams() //查询条件
      this.loading = true
      params.isCreateOrder = 0
@@ -207,19 +271,12 @@
          this.loading = false
        })
    },
    searchQuery() {
      this.loadData(1);
    },
    searchReset() {
      this.queryParam = {};
      this.loadData(1)
    },
    list(params) {
      this.selectedRowKeys = [];
      this.selectedRowRecord = [];
      this.visible = true;
      this.loadData(1);
    },
    clickThenCheck(record) {
      return {
@@ -231,9 +288,9 @@
        }
      };
    },
    onSelectChange(selectedRowKeys, selectedRows) {
    onSelectChange(selectedRowKeys, selectionRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectedRowRecord = selectedRows[0];
      this.selectionRows = selectionRows;
    },
    close() {
      this.queryParam = {};
@@ -243,18 +300,22 @@
    handleOk() {
      const that = this;
      // 触发表单验证
      if (that.selectedRowKeys.length > 0) {
        if (that.selectedRowRecord.id != null && that.selectedRowRecord.id != "") {
          that.$emit('sendFaultReportRepairRecord', { record: that.selectedRowRecord });
          that.close();
        } else {
          that.$message.error("请选择故障报修信息!")
        }
      } else {
        that.$message.error("请选择故障报修信息!")
      if (that.selectedRowKeys.length === 0) {
        that.$message.error("请选择故障报修单后提交!")
        return false;
      }
      postAction(this.url.add,this.selectionRows).then(res=>{
        if(res.success){
          that.$message.success("领取成功!")
          that.$emit('ok');
        }else{
          that.$message.error("领取出现异常!")
        }
      }).finally(res=>{
        that.confirmLoading = false;
        that.close();
      });
    },
    handleCancel() {
      this.close();
    },
@@ -311,8 +372,7 @@
  height: 90% !important;
  overflow-y: hidden;
}
/deep/ .notshow {
 .notshow {
  display: none;
}
@@ -330,9 +390,7 @@
}
.dataUnKnow {
  color: #1890ff;
}
/deep/ .frozenRowClass {
} .frozenRowClass {
  color: #c9c9c9;
}
</style>
src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -228,20 +228,20 @@
            type="card"
            defaultActiveKey="1"
          >
            <a-tab-pane
              tab='实际用料'
          <a-tab-pane
              tab='故障分析'
              key="1"
              class="hightColor"
            >
              <!-- <actual-material-edit-table
              <!-- <fault-analysis-edit-table
                :repairOrderId="repairOrder.id"
                :repairOrderStatus="repairOrder.status"
              ></actual-material-edit-table> -->
              <RepairOrderActualMaterialList :mainId="repairOrder" />
              ></fault-analysis-edit-table> -->
              <RepairOrderFaultAnalysisList :repairOrderId="repairOrderId" />
            </a-tab-pane>
            <a-tab-pane
              tab='实际工时'
              key="2"
              key="3"
              class="hightColor"
            >
              <RepairOrderActualWorkHoursList
@@ -251,15 +251,15 @@
              />
            </a-tab-pane>
            <a-tab-pane
              tab='故障分析'
              key="3"
              tab='实际用料'
              key="2"
              class="hightColor"
            >
              <!-- <fault-analysis-edit-table
              <!-- <actual-material-edit-table
                :repairOrderId="repairOrder.id"
                :repairOrderStatus="repairOrder.status"
              ></fault-analysis-edit-table> -->
              <RepairOrderFaultAnalysisList :mainId="repairOrder" />
              ></actual-material-edit-table> -->
              <RepairOrderActualMaterialList :mainId="repairOrder" />
            </a-tab-pane>
          </a-tabs>
        </a-card>
@@ -284,9 +284,9 @@
import Tooltip from 'ant-design-vue/es/tooltip'
import ActualMaterialEditTable from './moudles/ActualMaterialEditTable.vue'
import ActualWorkHoursEditTable from './moudles/ActualWorkHoursEditTable.vue'
import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable.vue'
import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport.vue'
import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport.vue'
import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable'
import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport'
import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport'
import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue'
export default {
  name: 'RepairOrderExcuteDrawer',
@@ -305,6 +305,10 @@
      type: Object,
      required: false,
      default: {}
    },
    repairOrderId: {
      type: String,
      default:'',
    }
  },
  data() {
src/views/system/UserList.vue
@@ -114,7 +114,7 @@
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        <template slot="avatarslot" slot-scope="text, record, index">
        <template slot="avatarslot" slot-scope="text, record">
          <div class="anty-img-wrap">
            <a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>
          </div>
@@ -436,6 +436,12 @@
                    dataIndex: 'productionName'
                  },
                  {
                    title: '班组',
                    align: "center",
                    width: 240,
                    dataIndex: 'teamId_dictText'
                  },
                  {
                    title: '状态',
                    align: "center",
                    width: 80,
src/views/system/modules/UserModal.vue
@@ -66,6 +66,14 @@
        <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" 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"  v-if="departIdShow==true">
          <j-multi-select-tag
@@ -166,7 +174,9 @@
          roles:{},
          workNo:[ { required: true, message: '请输入工号' },
                  { validator: this.validateWorkNo }],
          telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' },]
          telephone: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' },],
          teamId:[ { required: true, message: '请维护班组' }]
        },
        departIdShow:false,
        title:"操作",