“linengliang”
2023-11-14 6b9795ba4e3e36347b1d7dc71051768286af874a
质量隐患确认,故障单
已添加6个文件
已修改3个文件
1696 ■■■■■ 文件已修改
src/views/eam/FaultInfoList.vue 447 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/MalfunctionRepair.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/QuanlityConfirmList.vue 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/FaultInfoForm.vue 473 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/FaultInfoModal.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/QuanlityConfirmForm.vue 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/QuanlityConfirmModal.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/malfunctionRepair/EquipmentList.vue 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/malfunctionRepair/MalfunctionRepaireModal.vue 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/FaultInfoList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,447 @@
<template>
  <a-card :bordered="false">
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col
            :xl='6'
            :lg='7'
            :md='8'
            :sm='24'
          >
            <a-form-item label='单据号'>
              <j-input
                placeholder='单据号检索'
                v-model='queryParam.num'
              ></j-input>
            </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="is_product"
                v-model='queryParam.isConfirm'
              />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- æŸ¥è¯¢åŒºåŸŸ-END -->
    <!-- æ“ä½œæŒ‰é’®åŒºåŸŸ -->
    <div class="table-operator">
      <a-button
                type='primary'
                @click='searchQuery'
                icon='search'
              >查询</a-button>
              <a-button
                type='primary'
                @click='searchReset'
                icon='reload'
                style='margin-left: 8px'
              >重置</a-button>
      <!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</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>
      </a-upload> -->
      <!-- é«˜çº§æŸ¥è¯¢åŒºåŸŸ -->
      <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
      <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"
        :scroll="{x:true}"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        class="j-table-force-nowrap"
        @change="handleTableChange">
        <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">
          <a @click="handleEdit(record)" v-if="record.isConfirm!=='yes'">录入</a>
          <a-divider type="vertical" />
          <a @click="handleDetail(record)">详情</a>
          <a-divider type="vertical" />
          <a-popconfirm
            title="确认结果后不可再录入,确认吗?"
            @confirm="() => handleConfirm(record)"
          >
            <a v-if="record.isConfirm!=='yes'">确认</a>
          </a-popconfirm>
        </span>
      </a-table>
    </div>
    <fault-info-modal ref="modalForm" @ok="modalFormOk"></fault-info-modal>
  </a-card>
</template>
<script>
  import '@/assets/less/TableExpand.less'
  import { mixinDevice } from '@/utils/mixin'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import FaultInfoModal from './modules/FaultInfoModal'
import { putAction } from '../../api/manage'
  export default {
    name: 'FaultInfoList',
    mixins:[JeecgListMixin, mixinDevice],
    components: {
      FaultInfoModal
    },
    data () {
      return {
        description: '设备事故登记管理页面',
        // è¡¨å¤´
        columns: [
          {
            title: '#',
            dataIndex: '',
            key:'rowIndex',
            width:60,
            align:"center",
            customRender:function (t,r,index) {
              return parseInt(index)+1;
            }
          },
          {
            title:'单据号',
            align:"center",
            dataIndex: 'num'
          },
          {
            title:'质量隐患确认单',
            align:"center",
            dataIndex: 'quanlityId_dictText'
          },
          {
            title:'生产单位',
            align:"center",
            dataIndex: 'departId'
          },
          {
            title:'设备名称',
            align:"center",
            dataIndex: 'equipName'
          },
          {
            title:'设备型号',
            align:"center",
            dataIndex: 'equipModel'
          },
          {
            title:'统一编号',
            align:"center",
            dataIndex: 'equipNum'
          },
          {
            title:'工区',
            align:"center",
            dataIndex: 'area1'
          },
          {
            title:'单元/工段',
            align:"center",
            dataIndex: 'area2'
          },
          {
            title:'维修费用',
            align:"center",
            dataIndex: 'cost'
          },
          {
            title:'操作者',
            align:"center",
            dataIndex: 'operator_dictText'
          },
          {
            title:'出生年月',
            align:"center",
            dataIndex: 'birthday'
          },
          {
            title:'工作时间',
            align:"center",
            dataIndex: 'workStartTime'
          },
          // {
          //   title:'操作员是否有操作证',
          //   align:"center",
          //   dataIndex: 'isCertificate'
          // },
          // {
          //   title:'是否断电重启',
          //   align:"center",
          //   dataIndex: 'isOutage'
          // },
          // {
          //   title:'加工过程中的变动因素',
          //   align:"center",
          //   dataIndex: 'factor'
          // },
          // {
          //   title:'具体更改内容',
          //   align:"center",
          //   dataIndex: 'modifyContent'
          // },
          // {
          //   title:'发生事故时设备所执行的程序',
          //   align:"center",
          //   dataIndex: 'equipmentProcess'
          // },
          // {
          //   title:'发生事故时的现象',
          //   align:"center",
          //   dataIndex: 'phenomenon'
          // },
          // {
          //   title:'采取措施1',
          //   align:"center",
          //   dataIndex: 'method1'
          // },
          // {
          //   title:'采取措施2',
          //   align:"center",
          //   dataIndex: 'method2'
          // },
          // {
          //   title:'采取措施3',
          //   align:"center",
          //   dataIndex: 'method3'
          // },
          // {
          //   title:'事故所造成的结果',
          //   align:"center",
          //   dataIndex: 'result'
          // },
          // {
          //   title:'开始检查时间',
          //   align:"center",
          //   dataIndex: 'startCheckTime',
          //   customRender:function (text) {
          //     return !text?"":(text.length>10?text.substr(0,10):text)
          //   }
          // },
          // {
          //   title:'发生事故后设备的状态',
          //   align:"center",
          //   dataIndex: 'equipmentStatus'
          // },
          // {
          //   title:'维修人员对事故的分析',
          //   align:"center",
          //   dataIndex: 'anlysis'
          // },
          // {
          //   title:'维修人员检查结果',
          //   align:"center",
          //   dataIndex: 'checkResult'
          // },
          // {
          //   title:'事故原因分析过程中所采取的相关行为',
          //   align:"center",
          //   dataIndex: 'active'
          // },
          // {
          //   title:'建议采取的措施及时间节点',
          //   align:"center",
          //   dataIndex: 'suggest'
          // },
          // {
          //   title:'事故发生原因分析的核对',
          //   align:"center",
          //   dataIndex: 'judgment'
          // },
          // {
          //   title:'不同的意见及分析',
          //   align:"center",
          //   dataIndex: 'differentJudgment'
          // },
          // {
          //   title:'整改措施',
          //   align:"center",
          //   dataIndex: 'updateMethod'
          // },
          // {
          //   title:'事故结论',
          //   align:"center",
          //   dataIndex: 'finalResult'
          // },
          // {
          //   title:'维修责任人',
          //   align:"center",
          //   dataIndex: 'engineer'
          // },
          // {
          //   title:'技术负责人',
          //   align:"center",
          //   dataIndex: 'mechanic'
          // },
          // {
          //   title:'工长',
          //   align:"center",
          //   dataIndex: 'workLeader'
          // },
          // {
          //   title:'中心主任',
          //   align:"center",
          //   dataIndex: 'centerLeader'
          // },
          // {
          //   title:'组长',
          //   align:"center",
          //   dataIndex: 'teamLeader'
          // },
          // {
          //   title:'维修站站长',
          //   align:"center",
          //   dataIndex: 'repairLeader'
          // },
          // {
          //   title:'管理室业务经理',
          //   align:"center",
          //   dataIndex: 'equipLeader'
          // },
          // {
          //   title:'运行保障部主管领导',
          //   align:"center",
          //   dataIndex: 'guaranteeLeader'
          // },
          {
            title: '操作',
            dataIndex: 'action',
            align:"center",
            fixed:"right",
            width:147,
            scopedSlots: { customRender: 'action' }
          }
        ],
        url: {
          list: "/li/faultInfo/list",
          delete: "/li/faultInfo/delete",
          deleteBatch: "/li/faultInfo/deleteBatch",
          exportXlsUrl: "/li/faultInfo/exportXls",
          importExcelUrl: "li/faultInfo/importExcel",
          confirm: "li/faultInfo/confirm"
        },
        dictOptions:{},
        superFieldList:[],
      }
    },
    created() {
    this.getSuperFieldList();
    },
    computed: {
      importExcelUrl: function(){
        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
      },
    },
    methods: {
      initDictConfig(){
      },
      getSuperFieldList(){
        let fieldList=[];
        fieldList.push({type:'string',value:'num',text:'编码'})
        fieldList.push({type:'string',value:'qId',text:'质量隐患确认单ID'})
        fieldList.push({type:'string',value:'cost',text:'维修费用'})
        fieldList.push({type:'string',value:'isCertificate',text:'操作员是否有操作证'})
        fieldList.push({type:'string',value:'isOutage',text:'是否断电重启'})
        fieldList.push({type:'string',value:'factor',text:'加工过程中的变动因素'})
        fieldList.push({type:'string',value:'modifyContent',text:'具体更改内容'})
        fieldList.push({type:'string',value:'equipmentProcess',text:'发生事故时设备所执行的程序'})
        fieldList.push({type:'string',value:'phenomenon',text:'发生事故时的现象'})
        fieldList.push({type:'string',value:'method1',text:'采取措施1'})
        fieldList.push({type:'string',value:'method2',text:'采取措施2'})
        fieldList.push({type:'string',value:'method3',text:'采取措施3'})
        fieldList.push({type:'string',value:'result',text:'事故所造成的结果'})
        fieldList.push({type:'date',value:'startCheckTime',text:'开始检查时间'})
        fieldList.push({type:'string',value:'equipmentStatus',text:'发生事故后设备的状态'})
        fieldList.push({type:'string',value:'anlysis',text:'维修人员对事故的分析'})
        fieldList.push({type:'string',value:'checkResult',text:'维修人员检查结果'})
        fieldList.push({type:'string',value:'active',text:'事故原因分析过程中所采取的相关行为'})
        fieldList.push({type:'string',value:'suggest',text:'建议采取的措施及时间节点'})
        fieldList.push({type:'string',value:'judgment',text:'事故发生原因分析的核对'})
        fieldList.push({type:'string',value:'differentJudgment',text:'不同的意见及分析'})
        fieldList.push({type:'string',value:'updateMethod',text:'整改措施'})
        fieldList.push({type:'string',value:'finalResult',text:'事故结论'})
        fieldList.push({type:'string',value:'operater',text:'操作者'})
        fieldList.push({type:'string',value:'engineer',text:'维修责任人'})
        fieldList.push({type:'string',value:'mechanic',text:'技术负责人'})
        fieldList.push({type:'string',value:'workLeader',text:'工长'})
        fieldList.push({type:'string',value:'centerLeader',text:'中心主任'})
        fieldList.push({type:'string',value:'teamLeader',text:'组长'})
        fieldList.push({type:'string',value:'repairLeader',text:'维修站站长'})
        fieldList.push({type:'string',value:'equipLeader',text:'管理室业务经理'})
        fieldList.push({type:'string',value:'guaranteeLeader',text:'运行保障部主管领导'})
        this.superFieldList = fieldList
      },
      handleConfirm(record) {
      putAction(this.url.confirm, record).then(res => {
        if (res.result) {
          this.$message.success('确认成功');
          this.loadData();
        } else {
          this.$message.error('确认出现异常')
        }
      })
    },
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>
src/views/eam/MalfunctionRepair.vue
@@ -286,6 +286,11 @@
          dataIndex: 'isStopName',
        },
        {
          title: '是否在加工零件',
          align: "center",
          dataIndex: 'errUda1_dictText',
        },
        {
          title: '创建人',
          align: "center",
          dataIndex: 'createBy'
src/views/eam/QuanlityConfirmList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,313 @@
<template>
  <a-card :bordered="false">
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col
            :xl='6'
            :lg='7'
            :md='8'
            :sm='24'
          >
            <a-form-item label='单据号'>
              <j-input
                placeholder='单据号检索'
                v-model='queryParam.num'
              ></j-input>
            </a-form-item>
          </a-col>
          <a-col
            :xl='6'
            :lg='7'
            :md='8'
            :sm='24'
          >
            <a-form-item label='保障保修单'>
              <j-input
                placeholder='故障报修单检索'
                v-model='queryParam.reportNum'
              ></j-input>
            </a-form-item>
          </a-col>
          <a-col
            :xl='6'
            :lg='7'
            :md='8'
            :sm='24'
          >
            <a-form-item label='统一编号'>
              <j-input
                placeholder='统一编号检索'
                v-model='queryParam.equipmentNum'
              ></j-input>
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- æŸ¥è¯¢åŒºåŸŸ-END -->
    <!-- æ“ä½œæŒ‰é’®åŒºåŸŸ -->
    <div class="table-operator">
              <a-button
                type='primary'
                @click='searchQuery'
                icon='search'
              >查询</a-button>
              <a-button
                type='primary'
                @click='searchReset'
                icon='reload'
                style='margin-left: 8px'
              >重置</a-button>
      <!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</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>
      </a-upload> -->
      <!-- é«˜çº§æŸ¥è¯¢åŒºåŸŸ -->
      <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
      <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"
        :scroll="{x:true}"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        class="j-table-force-nowrap"
        @change="handleTableChange">
        <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">
          <a @click="handleEdit(record)" :disabled="record.isConfirm==='yes'">确认</a>
          <!-- <a-divider type="vertical" />
          <a-dropdown>
            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a @click="handleDetail(record)">详情</a>
              </a-menu-item>
              <a-menu-item>
                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown> -->
        </span>
      </a-table>
    </div>
    <quanlity-confirm-modal ref="modalForm" @ok="modalFormOk"></quanlity-confirm-modal>
  </a-card>
</template>
<script>
  import '@/assets/less/TableExpand.less'
  import { mixinDevice } from '@/utils/mixin'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import QuanlityConfirmModal from './modules/QuanlityConfirmModal'
  export default {
    name: 'QuanlityConfirmList',
    mixins:[JeecgListMixin, mixinDevice],
    components: {
      QuanlityConfirmModal
    },
    data () {
      return {
        description: '产品质量隐患确认管理页面',
        // è¡¨å¤´
        columns: [
          {
            title: '#',
            dataIndex: '',
            key:'rowIndex',
            width:60,
            align:"center",
            customRender:function (t,r,index) {
              return parseInt(index)+1;
            }
          },
          {
            title:'单据号',
            align:"center",
            dataIndex: 'num',
            width:200
          },
          {
            title:'故障报修单',
            align:"center",
            dataIndex: 'reportNum',
            width:200
          },
          {
            title:'设备名称',
            align:"center",
            dataIndex: 'equipmentName',
            width:200
          },
          {
            title:'设备型号',
            align:"center",
            dataIndex: 'equipmentModel',
            width:200
          },
          {
            title:'统一编号',
            align:"center",
            dataIndex: 'equipmentNum',
            width:200
          },
          {
            title:'加工零件号',
            align:"center",
            dataIndex: 'partNumber',
            width:200
          },
          {
            title:'批次号',
            align:"center",
            dataIndex: 'batchNo',
            width:200
          },
          {
            title:'件数',
            align:"center",
            dataIndex: 'quantity',
            width:100
          },
          {
            title:'操作员',
            align:"center",
            dataIndex: 'operator_dictText',
            width:100
          },
          {
            title:'是否已确认',
            align:"center",
            dataIndex: 'isConfirm_dictText'
            ,
            width:100
          },
          {
            title:'确认领导',
            align:"center",
            dataIndex: 'leader_dictText'
            ,
            width:100
          },
          {
            title:'领导确认时间',
            align:"center",
            dataIndex: 'confirmTime',
            customRender:function (text) {
              return !text?"":(text.length>10?text.substr(0,10):text)
            },
            width:200
          },
          {
            title:'产品损失情况',
            align:"center",
            dataIndex: 'condition',
            width:100
          },
          {
            title:'损失情况分析',
            align:"center",
            dataIndex: 'conditionAnalysis',
            width:200
          },
          {
            title: '操作',
            dataIndex: 'action',
            align:"center",
            fixed:"right",
            width:147,
            scopedSlots: { customRender: 'action' }
          }
        ],
        url: {
          list: "/li/quanlityConfirm/list",
          delete: "/li/quanlityConfirm/delete",
          deleteBatch: "/li/quanlityConfirm/deleteBatch",
          exportXlsUrl: "/li/quanlityConfirm/exportXls",
          importExcelUrl: "li/quanlityConfirm/importExcel",
        },
        dictOptions:{},
        superFieldList:[],
      }
    },
    created() {
    this.getSuperFieldList();
    },
    computed: {
      importExcelUrl: function(){
        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
      },
    },
    methods: {
      initDictConfig(){
      },
      getSuperFieldList(){
        let fieldList=[];
        fieldList.push({type:'string',value:'reportId',text:'故障报修单ID'})
        fieldList.push({type:'string',value:'condition',text:'产品损失情况'})
        fieldList.push({type:'string',value:'conditionAnalysis',text:'损失情况分析'})
        fieldList.push({type:'string',value:'partNumber',text:'零件号'})
        fieldList.push({type:'string',value:'batchNo',text:'批次号'})
        fieldList.push({type:'int',value:'qunatity',text:'件数'})
        fieldList.push({type:'string',value:'leader',text:'确认领导'})
        fieldList.push({type:'date',value:'confirmTime',text:'领导确认时间'})
        fieldList.push({type:'string',value:'isConfirm',text:'是否已确认'})
        this.superFieldList = fieldList
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>
src/views/eam/modules/FaultInfoForm.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,473 @@
<template>
  <a-spin :spinning="confirmLoading">
    <j-form-container :disabled="formDisabled">
      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
        <a-row>
          <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > è¡¨å¤´ </a-divider>
          <a-col :span="8">
            <a-form-model-item label="生产单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
              <j-dict-select-tag
                allow-clear
                placeholder="生产单位"
                :triggerChange="true"
                dictCode="sys_depart,depart_name,id,del_flag='0'"
                v-model="model.departId"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="工区" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="area1">
              <j-dict-select-tag
                allow-clear
                placeholder="工区"
                :triggerChange="true"
                dictCode="mom_base_area,name,id,del_flag='0'"
                v-model="model.area1"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="操作者" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operater">
              <j-dict-select-tag
                allow-clear
                placeholder="请输入操作者"
                :triggerChange="true"
                dictCode="sys_user,realname,id,del_flag='0'"
                v-model="model.operater"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eName">
              <a-input v-model="model.equipName" placeholder="设备名称"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="单元/工段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="area2">
              <a-input v-model="model.area2" placeholder="单元/工段"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="出生年月" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="birthday">
              <j-date placeholder="出生年月" v-model="model.birthday" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="设备型号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eModel">
              <a-input v-model="model.equipModel" placeholder="请输入设备型号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="事故发生时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="faultTime">
              <j-date placeholder="请输入事故发生时间" v-model="model.faultTime" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="技术等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="level">
              <a-input v-model="model.level" placeholder="请输入技术等级"  ></a-input>
            </a-form-model-item>
          </a-col>
           <a-col :span="8">
            <a-form-model-item label="统一编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="eNum">
              <a-input v-model="model.equipNum" placeholder="请输入统一编号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="维修费用" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cost">
              <a-input v-model="model.cost" placeholder="请输入维修费用"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="工作时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workStartTime">
              <j-date  placeholder="请输入工作时间" v-model="model.workStartTime" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > æ“ä½œè€…填写事故发生经过 </a-divider>
          <a-col :span="8">
            <a-form-model-item label="操作员是否有操作证" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isCertificate">
              <j-dict-select-tag
                allow-clear
                placeholder="请输入操作员是否有操作证"
                :triggerChange="true"
                dictCode="is_product"
                v-model="model.isCertificate"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="事故发生后是否断电重启" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isOutage">
              <j-dict-select-tag
                allow-clear
                placeholder="请输入是否断电重启"
                :triggerChange="true"
                dictCode="is_product"
                v-model="model.isOutage"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="加工过程中的变动因素" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factor">
              <j-multi-select-tag
                allow-clear
                placeholder="请输入加工过程中的变动因素"
                dictCode="fault_change_factor"
                v-model="model.factor"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="具体更改内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="modifyContent">
              <a-textarea v-model="model.modifyContent" rows="4" placeholder="请输入具体更改内容" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="发生事故时设备所执行的程序" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentProcess">
              <a-textarea v-model="model.equipmentProcess" rows="4" placeholder="请输入发生事故时设备所执行的程序" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="发生事故时的现象" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phenomenon">
              <a-textarea v-model="model.phenomenon" rows="4" placeholder="请输入发生事故时的现象" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="采取措施1" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="method1">
              <a-textarea v-model="model.method1" rows="4" placeholder="请输入采取措施1" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="采取措施2" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="method2">
              <a-textarea v-model="model.method2" rows="4" placeholder="请输入采取措施2" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="采取措施3" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="method3">
              <a-textarea v-model="model.method3" rows="4" placeholder="请输入采取措施3" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="事故所造成的结果" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="result">
              <a-input v-model="model.result" placeholder="请输入事故所造成的结果"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="工长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workLeader">
              <a-input v-model="model.workLeader" placeholder="请输入工长"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="中心主任" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="centerLeader">
              <a-input v-model="model.centerLeader" placeholder="请输入中心主任"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > ç»´ä¿®äººå‘˜è¿›è¡Œäº‹æ•…分析 </a-divider>
          <a-col :span="8">
            <a-form-model-item label="开始检查时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startCheckTime">
              <j-date placeholder="请选择开始检查时间" v-model="model.startCheckTime"  style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="发生事故后设备的状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentStatus">
              <a-input v-model="model.equipmentStatus" placeholder="请输入发生事故后设备的状态"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="维修人员对事故的分析" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="anlysis">
              <a-textarea v-model="model.anlysis" rows="4" placeholder="请输入维修人员对事故的分析" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="维修人员检查结果" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="checkResult">
              <a-textarea v-model="model.checkResult" rows="4" placeholder="请输入维修人员检查结果" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="事故原因分析过程中所采取的相关行为" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="active">
              <a-textarea v-model="model.active" rows="4" placeholder="请输入事故原因分析过程中所采取的相关行为" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="建议采取的措施及时间节点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suggest">
              <a-textarea v-model="model.suggest" rows="4" placeholder="请输入建议采取的措施及时间节点" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="维修责任人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="engineer">
              <a-input v-model="model.engineer" placeholder="请输入维修责任人"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="组长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamLeader">
              <a-input v-model="model.teamLeader" placeholder="请输入组长"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="维修站站长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairLeader">
              <a-input v-model="model.repairLeader" placeholder="请输入维修站站长"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #66aeed;"
          > è®¾å¤‡æŠ€æœ¯ä¸“家意见 </a-divider>
          <a-col :span="8">
            <a-form-model-item label="事故发生原因分析的核对" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="judgment">
              <j-dict-select-tag
                allow-clear
                placeholder="请输入事故发生原因分析的核对"
                :triggerChange="true"
                dictCode="opinion"
                v-model="model.judgment"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="不同的意见及分析" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="differentJudgment">
              <a-textarea v-model="model.differentJudgment" rows="4" placeholder="请输入不同的意见及分析" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="整改措施" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="updateMethod">
              <a-textarea v-model="model.updateMethod" rows="4" placeholder="请输入整改措施" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="事故结论" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="finalResult">
              <a-textarea v-model="model.finalResult" rows="4" placeholder="请输入事故结论" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="技术负责人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mechanic">
              <a-input v-model="model.mechanic" placeholder="请输入技术负责人"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="管理室业务经理" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipLeader">
              <a-input v-model="model.equipLeader" placeholder="请输入管理室业务经理"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="运行保障部主管领导" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="guaranteeLeader">
              <a-input v-model="model.guaranteeLeader" placeholder="请输入运行保障部主管领导"  ></a-input>
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </j-form-container>
  </a-spin>
</template>
<script>
  import { httpAction, getAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'
  export default {
    name: 'FaultInfoForm',
    components: {
    },
    props: {
      //表单禁用
      disabled: {
        type: Boolean,
        default: false,
        required: false
      }
    },
    data () {
      return {
        model:{
         },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 10 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 14 },
        },
        confirmLoading: false,
        validatorRules: {
          num:[
            { required: true, message: '必填!' },
          ],
          area1:[
            { required: true, message: '必填!' },
          ],
          operater:[
            { required: true, message: '必填!' },
          ],
          eName:[
            { required: true, message: '必填!' },
          ],
          area2:[
            { required: true, message: '必填!' },
          ],
          birthday:[
            { required: true, message: '必填!' },
          ],
          eModel:[
            { required: true, message: '必填!' },
          ],
          faultTime:[
            { required: true, message: '必填!' },
          ],
          level:[
            { required: true, message: '必填!' },
          ],
          eNum:[
            { required: true, message: '必填!' },
          ],
          cost:[
            { required: true, message: '必填!' },
          ],
          workStartTime:[
            { required: true, message: '必填!' },
          ],
          isCertificate:[
            { required: true, message: '必填!' },
          ],
          isOutage:[
            { required: true, message: '必填!' },
          ],
          factor:[
            { required: true, message: '必填!' },
          ],
          modifyContent:[
            { required: true, message: '必填!' },
          ],
          equipmentProcess:[
            { required: true, message: '必填!' },
          ],
          phenomenon:[
            { required: true, message: '必填!' },
          ],
          method1:[
            { required: true, message: '必填!' },
          ],
          method2:[
            { required: true, message: '必填!' },
          ],
          method3:[
            { required: true, message: '必填!' },
          ],
          result:[
            { required: true, message: '必填!' },
          ],
          workLeader:[
            { required: true, message: '必填!' },
          ],
          centerLeader:[
            { required: true, message: '必填!' },
          ],
          startCheckTime:[
            { required: true, message: '必填!' },
          ],
          equipmentStatus:[
            { required: true, message: '必填!' },
          ],
          anlysis:[
            { required: true, message: '必填!' },
          ],
          checkResult:[
            { required: true, message: '必填!' },
          ],
          active:[
            { required: true, message: '必填!' },
          ],
          suggest:[
            { required: true, message: '必填!' },
          ],
          engineer:[
            { required: true, message: '必填!' },
          ],
          teamLeader:[
            { required: true, message: '必填!' },
          ],
          repairLeader:[
            { required: true, message: '必填!' },
          ],
          differentJudgment:[
            { required: true, message: '必填!' },
          ],
          updateMethod:[
            { required: true, message: '必填!' },
          ],
          finalResult:[
            { required: true, message: '必填!' },
          ],
          mechanic:[
            { required: true, message: '必填!' },
          ],
          equipLeader:[
            { required: true, message: '必填!' },
          ],
          guaranteeLeader:[
            { required: true, message: '必填!' },
          ],
        },
        url: {
          add: "/li/faultInfo/add",
          edit: "/li/faultInfo/edit",
          queryById: "/li/faultInfo/queryById"
        }
      }
    },
    computed: {
      formDisabled(){
        return this.disabled
      },
    },
    created () {
       //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    },
    methods: {
      add () {
        this.edit(this.modelDefault);
      },
      edit (record) {
        this.model = Object.assign({}, record);
        this.visible = true;
      },
      submitForm () {
        const that = this;
        // è§¦å‘表单验证
        this.$refs.form.validate(valid => {
          if (valid) {
            that.confirmLoading = true;
            let httpurl = '';
            let method = '';
            if(!this.model.id){
              httpurl+=this.url.add;
              method = 'post';
            }else{
              httpurl+=this.url.edit;
               method = 'put';
            }
            httpAction(httpurl,this.model,method).then((res)=>{
              if(res.success){
                that.$message.success(res.message);
                that.$emit('ok');
              }else{
                that.$message.warning(res.message);
              }
            }).finally(() => {
              that.confirmLoading = false;
            })
          }
        })
      },
    }
  }
</script>
src/views/eam/modules/FaultInfoModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
<template>
  <j-modal
    :title="'设备事故登记表'"
    :width="width"
    :visible="visible"
    switchFullscreen
    :fullscreen="true"
    @ok="handleOk"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @cancel="handleCancel"
    cancelText="关闭">
    <fault-info-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></fault-info-form>
  </j-modal>
</template>
<script>
  import FaultInfoForm from './FaultInfoForm'
  export default {
    name: 'FaultInfoModal',
    components: {
      FaultInfoForm
    },
    data () {
      return {
        title:'设备事故登记表',
        width:1500,
        visible: false,
        disableSubmit: false
      }
    },
    methods: {
      add () {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.add();
        })
      },
      edit (record) {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.edit(record);
        })
      },
      close () {
        this.$emit('close');
        this.visible = false;
      },
      handleOk () {
        this.$refs.realForm.submitForm();
      },
      submitCallback(){
        this.$emit('ok');
        this.visible = false;
      },
      handleCancel () {
        this.close()
      }
    }
  }
</script>
src/views/eam/modules/QuanlityConfirmForm.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,158 @@
<template>
  <a-spin :spinning="confirmLoading">
    <j-form-container :disabled="formDisabled">
      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
        <a-row>
          <!-- <a-col :span="24">
            <a-form-model-item label="故障报修单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId">
              <a-input v-model="model.reportId" placeholder="请输入故障报修单ID"  ></a-input>
            </a-form-model-item>
          </a-col> -->
          <a-col :span="24">
            <a-form-model-item label="产品损失情况" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="condition">
              <j-dict-select-tag
                allow-clear
                placeholder="请输入产品损失情况"
                :triggerChange="true"
                dictCode="is_product"
                v-model="model.condition"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="损失情况分析" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="conditionAnalysis">
              <a-textarea v-model="model.conditionAnalysis" rows="4" placeholder="请输入损失情况分析" />
            </a-form-model-item>
          </a-col>
          <!-- <a-col :span="24">
            <a-form-model-item label="零件号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="partNumber">
              <a-input v-model="model.partNumber" placeholder="请输入零件号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="批次号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNo">
              <a-input v-model="model.batchNo" placeholder="请输入批次号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="件数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qunatity">
              <a-input-number v-model="model.qunatity" placeholder="请输入件数" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="确认领导" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leader">
              <a-input v-model="model.leader" placeholder="请输入确认领导"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="领导确认时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime">
              <j-date placeholder="请选择领导确认时间" v-model="model.confirmTime"  style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="是否已确认" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isConfirm">
              <a-input v-model="model.isConfirm" placeholder="请输入是否已确认"  ></a-input>
            </a-form-model-item>
          </a-col> -->
        </a-row>
      </a-form-model>
    </j-form-container>
  </a-spin>
</template>
<script>
  import { httpAction, getAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'
  export default {
    name: 'QuanlityConfirmForm',
    components: {
    },
    props: {
      //表单禁用
      disabled: {
        type: Boolean,
        default: false,
        required: false
      }
    },
    data () {
      return {
        model:{
         },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        confirmLoading: false,
        validatorRules: {
          conditionAnalysis:[
            { required: true, message: '请输入损失情况分析!' },
            { min: 1, max: 1000, message: '长度不超过 1000 ä¸ªå­—符', trigger: 'blur' },
          ],
          condition:[
            { required: true, message: '请选择产品是否有损失!' },
          ]
        },
        url: {
          add: "/li/quanlityConfirm/add",
          edit: "/li/quanlityConfirm/edit",
          queryById: "/li/quanlityConfirm/queryById"
        }
      }
    },
    computed: {
      formDisabled(){
        return this.disabled
      },
    },
    created () {
       //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    },
    methods: {
      add () {
        this.edit(this.modelDefault);
      },
      edit (record) {
        this.model = Object.assign({}, record);
        this.visible = true;
      },
      submitForm () {
        const that = this;
        // è§¦å‘表单验证
        this.$refs.form.validate(valid => {
          if (valid) {
            that.confirmLoading = true;
            let httpurl = '';
            let method = '';
            if(!this.model.id){
              httpurl+=this.url.add;
              method = 'post';
            }else{
              httpurl+=this.url.edit;
              this.model.isConfirm = "yes";
               method = 'put';
            }
            httpAction(httpurl,this.model,method).then((res)=>{
              if(res.success){
                that.$message.success(res.message);
                that.$emit('ok');
              }else{
                that.$message.warning(res.message);
              }
            }).finally(() => {
              that.confirmLoading = false;
            })
          }
        })
      },
    }
  }
</script>
src/views/eam/modules/QuanlityConfirmModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
<template>
  <j-modal
    :title="title"
    :width="width"
    :visible="visible"
    switchFullscreen
    @ok="handleOk"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @cancel="handleCancel"
    cancelText="关闭">
    <quanlity-confirm-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></quanlity-confirm-form>
  </j-modal>
</template>
<script>
  import QuanlityConfirmForm from './QuanlityConfirmForm'
  export default {
    name: 'QuanlityConfirmModal',
    components: {
      QuanlityConfirmForm
    },
    data () {
      return {
        title:'',
        width:800,
        visible: false,
        disableSubmit: false
      }
    },
    methods: {
      add () {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.add();
        })
      },
      edit (record) {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.edit(record);
        })
      },
      close () {
        this.$emit('close');
        this.visible = false;
      },
      handleOk () {
        this.$refs.realForm.submitForm();
      },
      submitCallback(){
        this.$emit('ok');
        this.visible = false;
      },
      handleCancel () {
        this.close()
      }
    }
  }
</script>
src/views/eam/modules/malfunctionRepair/EquipmentList.vue
@@ -11,6 +11,53 @@
  >
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <div class="table-page-search-wrapper">
          <a-form
            layout="inline"
            @keyup.enter.native="searchQuery"
          >
            <a-row :gutter="24">
              <a-col
                :md="6"
                :sm="8"
              >
                <a-form-item label="单据号">
                  <a-input
                    placeholder="请输入单据号检索"
                    v-model="queryParam.num"
                  ></a-input>
                </a-form-item>
              </a-col>
              <a-col
                :md="6"
                :sm="8"
              >
                <a-form-item label="设备名称">
                  <a-input
                    placeholder="请输入设备名称检索"
                    v-model="queryParam.name"
                  ></a-input>
                </a-form-item>
              </a-col>
              <a-col
                :md="6"
                :sm="8"
              >
                <a-button
                  type="primary"
                  @click="searchQuery"
                  icon="search"
                >查询</a-button>
                <a-button
                  @click="searchReset"
                  icon="reload"
                  style="margin-left:8px;"
                >重置</a-button>
              </a-col>
            </a-row>
          </a-form>
        </div>
        <a-table
          ref="table"
          size="middle"
@@ -123,13 +170,6 @@
  methods: {
    searchQuery() {
      this.loadData(1);
    },
    searchReset() {
      this.loadData(1)
    },
    list() {
      this.selectedRowKeys = [];
      this.selectedRowRecord = [];
src/views/eam/modules/malfunctionRepair/MalfunctionRepaireModal.vue
@@ -39,7 +39,6 @@
                v-decorator="['isStop', validatorRules.isStop]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
@@ -174,37 +173,6 @@
            </a-form-item>
          </a-col>
        </a-row>
        <!-- <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="紧急程度"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请选择紧急程度'"
                :triggerChange="true"
                dictCode="urgency"
                v-decorator="['urgency', validatorRules.urgency]"
              />
            </a-form-item>
          </a-col> -->
          <!-- <a-col :span="24/2" v-show="false">
            <a-form-item
              label="故障原因"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
            <a-input
                :disabled="disableSubmit"
                enter-button
                v-decorator="['faultReason', validatorRules.faultReason]"
              />
            </a-form-item>
          </a-col> -->
        <!-- </a-row> -->
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
@@ -237,22 +205,67 @@
            </a-form-item>
          </a-col>
        </a-row>
        <!-- <a-row :gutter="24">
          <a-col :span="24/2">
        <a-row :gutter="24">
         <a-col :span="24/2">
            <a-form-item
              label="故障照片"
              label="是否在加工零件"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-image-upload
                :disabled="disableSubmit"
                :isMultiple="true"
                v-decorator="['photo', {}]"
              ></j-image-upload>
              <j-dict-select-tag
                allow-clear
                :placeholder="disableSubmit?'':'请选择是否在加工零件'"
                :triggerChange="true"
                @change="(e) => statusChange(e)"
                dictCode="is_product"
                v-decorator="['errUda1', validatorRules.errUda1]"
              />
            </a-form-item>
          </a-col>
        </a-row> -->
          <a-col :span="24/2"  v-if="workingStatus">
            <a-form-item
              label="加工零件号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :placeholder="disableSubmit?'':'请输入加工零件号'"
                v-decorator="['partNumber', validatorRules.partNumber ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2" v-if="workingStatus">
            <a-form-item
              label="批次号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :placeholder="disableSubmit?'':'请输入批次号'"
                v-decorator="['batchNo', validatorRules.batchNo ]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="24/2"  v-if="workingStatus">
            <a-form-item
              label="件数"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input-number
                allow-clear
                style="width: 100%;"
                :placeholder="disableSubmit?'':'请输入件数'"
                :min="1"
                v-decorator="['quantity', validatorRules.quantity]"
              />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </a-spin>
@@ -346,6 +359,26 @@
            { max: 1000, min:1,message: '最多可描述1000字!' },
          ]
        },
        errUda1:{
          rules: [
            { required: true, message: '请选择是否在加工零件!' },
          ]
        },
        partNumber:{
          rules: [
            { required: true, message: '请输入零件图号!' },
          ]
        },
        batchNo:{
          rules: [
            { required: true, message: '请输入批次号!' },
          ]
        },
        quantity:{
          rules: [
            { required: true, message: '请输入件数!' },
          ]
        }
      },
      url: {
        add: "/eam/equipmentReportRepair/add",
@@ -354,6 +387,7 @@
        getNum:'/eam/sysIdentity/getNumNew'
      },
      dataSource: [],
      workingStatus:false
    }
  },
@@ -372,6 +406,7 @@
      getAction(this.url.getNum,param).then(res=>{
          if(res.success){
             modelDefault.num = res.result;
             this.workingStatus = false;
             modelDefault.faultTime = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss');
             that.edit(modelDefault);
          }
@@ -384,7 +419,7 @@
      that.model = Object.assign({}, record);
      that.visible = true;
      that.$nextTick(() => {
        that.form.setFieldsValue(pick(that.model, 'num', 'isStop', 'equipmentId', 'equipmentNum', 'equipmentName', 'equipmentModel', 'equipmentSpecification', 'urgency', 'useDepartId', 'departName', 'faultDescription', 'faultTime', 'remark', "photo"));
        that.form.setFieldsValue(pick(that.model,'errUda1' ,'num', 'isStop', 'equipmentId', 'equipmentNum', 'equipmentName', 'equipmentModel', 'equipmentSpecification', 'urgency', 'useDepartId', 'departName', 'faultDescription', 'faultTime', 'remark', "photo"));
      });
      if (record.id) {
        this.codeDisable = true;
@@ -445,7 +480,9 @@
      let record = data.record;
      this.form.setFieldsValue({ equipmentName: record.name, equipmentId: record.id, equipmentNum: record.num, equipmentModel: record.model, equipmentSpecification: record.specification, useDepartId: record.useId, departName: record.useId_dictText });
    },
    statusChange(val){
      this.workingStatus=val==='no'?false:true;
    }
  },
}
</script>