“linengliang”
2023-09-06 b2ec7b35247273c77768115635955991a449e942
src/views/eam/EquipmentList.vue
@@ -4,18 +4,27 @@
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :span="6">
            <a-form-item label="设备所属分类">
          <a-col :span="5">
            <a-form-item
            label="设备所属分类"
            :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
              <j-search-select-tag
                dict="mom_eam_equipment_category,name,id"
                placeholder="请输入搜索条件并选择"
                v-model="queryParam.equipmentCategoryId"
              />
            </a-form-item>
          </a-col>
          <a-col
          :span="6"
          :span="5"
          >
            <a-form-item label="统一编码">
            <a-form-item
            :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            label="统一编码"
            >
              <j-input
                placeholder="请输入设备统一编码查询"
                v-model="queryParam.num"
@@ -23,16 +32,195 @@
            </a-form-item>
          </a-col>
          <a-col
          :span="6"
          :span="5"
          >
            <a-form-item label="设备名称">
            <a-form-item
            :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            label="设备名称"
            >
              <j-input
                placeholder="请输入设备名称查询"
                v-model="queryParam.name"
              ></j-input>
            </a-form-item>
          </a-col>
          <a-col :span="5">
            <a-form-item
              label="型号"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
            <j-input
                v-model="queryParam.model"
                placeholder="请输入型号"
            ></j-input>
            </a-form-item>
          </a-col>
          <a-col :span="4">
          <span
              style="float: left;overflow: hidden;"
              class="table-page-search-submitButtons"
            >
              <a
                @click="handleToggleSearch"
                style="margin-left: 8px"
              >
                {{ toggleSearchStatus ? '收起' : '展开' }}
                <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
              </a>
            </span>
          </a-col>
        </a-row>
        <template v-if="toggleSearchStatus">
        <a-row :gutter="24">
          <a-col :span="6">
            <a-form-item
              label="产线"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
            <j-dict-select-tag
                allow-clear
                placeholder="请选择产线"
                :triggerChange="true"
                dictCode="mom_base_work_center,name,id,del_flag!='1'"
                v-model="queryParam.workCenterId"
              />
            </a-form-item>
          </a-col>
          <a-col :span="6">
            <a-form-item
              label="车间"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
              <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 :span="6">
            <a-form-item
              label="维护部门"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
            <a-tree-select
                style="width: 100%"
                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                :tree-data="treeData"
                placeholder="请选择维护部门"
                tree-default-expand-all
                v-model="queryParam.manageId"
              />
            </a-form-item>
          </a-col>
          <a-col :span="6">
            <a-form-item
              label="使用部门"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
            <a-tree-select
                style="width: 100%"
                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                :tree-data="treeData"
                placeholder="请选择使用部门"
                tree-default-expand-all
                v-model="queryParam.useId"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="6">
            <a-form-item
              label="ABC标识"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择ABC标识"
                :triggerChange="true"
                dictCode="ABC-standard-result"
                v-model="queryParam.equipmentImportanceId"
              />
            </a-form-item>
          </a-col>
          <a-col :span="6">
            <a-form-item
              label="技术状态"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择技术状态"
                :triggerChange="true"
                dictCode="technology_status"
                v-model="queryParam.technologyStatus"
              />
            </a-form-item>
          </a-col>
          <a-col :span="6">
            <a-form-item
              label="设备状态"
              :labelCol="labelCol"
            :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择设备状态"
                :triggerChange="true"
                dictCode="equipment_status"
                v-model="queryParam.equipmentStatus"
              />
            </a-form-item>
          </a-col>
          <a-col :span="6">
            <a-form-item
              label="关键设备标识"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                :triggerChange="true"
                placeholder="请选择关键设备标识"
                dictCode="specific_equipment"
                v-model="queryParam.specificEquipment"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="6">
            <a-form-model-item
              label="质保开始日期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
            <j-date  style="width: 100%;" placeholder="请选择开始日期" class="query-group-cust" v-model="queryParam.warrantyStart"></j-date>
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="质保结束日期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
            <j-date style="width: 100%;" placeholder="请选择结束日期" class="query-group-cust" v-model="queryParam.warrantyEnd"></j-date>
            </a-form-model-item>
          </a-col>
        </a-row>
        </template>
      </a-form>
    </div>
    <!-- 查询区域-END -->
@@ -48,10 +236,10 @@
        @click="searchReset"
        icon="reload"
      >重置</a-button>
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
      <a-button type="primary" icon="download" @click="handleExportXls('设备台账')">导出</a-button>
      <a-button @click="handleAdd" type="primary" icon="plus" v-has="'equipmentAccount:add&delete&import&Edit'">新增</a-button>
      <a-button type="primary" icon="download" @click="handleExportXls('设备台账')" v-has="'equipmentAccount:outport'">导出</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-button type="primary" icon="import"  v-has="'equipmentAccount:add&delete&import&Edit'">导入</a-button>
      </a-upload>
    </div>
@@ -206,13 +394,20 @@
            <a-menu-item>
              <a @click="equipmentResumeShow(record)">设备履历</a>
            </a-menu-item>
            <a-menu-item>
              <a @click="handleEdit(record)">编辑</a>
            <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1">
              <a @click="editProcess(record)">工艺参数维护</a>
            </a-menu-item>
            <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1">
              <a @click="editPrecision(record)">精度参数维护</a>
            </a-menu-item>
            <a-menu-item  v-has="'equipmentAccount:add&delete&import&Edit'">
              <a @click="handleEdit(record)" >编辑</a>
            </a-menu-item>
            <a-menu-item>
              <a-popconfirm
                title="确定删除吗?"
                @confirm="() => handleDelete(record.id)"
                v-has="'equipmentAccount:add&delete&import&Edit'"
              >
                <a>删除</a>
              </a-popconfirm>
@@ -229,16 +424,23 @@
    <a-tabs defaultActiveKey="1">
      <a-tab-pane tab="工艺参数" key="1" >
        <EquipmentProcessParametersList :mainId="equipmentProcessParametersMainId" />
        <EquipmentProcessParametersList
        :mainId="equipmentProcessParametersMainId"
        :isOpen="isOpenProcess"
        />
      </a-tab-pane>
      <a-tab-pane tab="设备精度" key="2" forceRender>
        <EquipmentPrecisionParametersList :mainId="equipmentPrecisionParametersMainId" />
        <EquipmentPrecisionParametersList
        :isOpen="isOpenPrecision"
        :mainId="equipmentPrecisionParametersMainId" />
      </a-tab-pane>
      <a-tab-pane tab="设备文档" key="3" forceRender>
        <EquipmentDocumentList :mainId="equipmentDocumentMainId" />
      </a-tab-pane>
    </a-tabs>
    <equipment-modal ref="modalForm" @ok="modalFormOk"></equipment-modal>
    <process-edit-model ref ="processEditModel"></process-edit-model>
    <precision-edit-model ref ="precisionEditModel"></precision-edit-model>
  </a-card>
</template>
@@ -253,7 +455,9 @@
  import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList'
  import '@/assets/less/TableExpand.less'
  import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer'
import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue'
  import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue'
  import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue'
  import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel.vue'
 
  export default {
@@ -265,7 +469,9 @@
      EquipmentPrecisionParametersList,
      EquipmentModal,
      EquipmentResumeDrawer,
        JSearchSelectTag
        JSearchSelectTag,
        ProcessEditModel,
        PrecisionEditModel,
    },
    data () {
      return {
@@ -477,7 +683,7 @@
          scopedSlots: {
            customRender: 'action',
          },
          width: 200,
          width: 147,
          fixed: 'right',
        },
        ],
@@ -488,6 +694,7 @@
          active: "/eam/equipment/active",
          exportXlsUrl: '/eam/equipment/exportXls',
          importExcelUrl: "/eam/equipment/importExcel",
          loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
        },
        dictOptions:{
        },
@@ -508,10 +715,22 @@
        equipmentProcessParametersMainId: '',
        equipmentDocumentMainId: '',
        equipmentPrecisionParametersMainId: '',
        isOpenPrecision:true,
        isOpenProcess:true,
        treeData: [],
        labelCol: {
        xs: { span: 24 },
        sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
      }
    },
    created() {
      this.getSuperFieldList();
      this.initOptions();
    },
    computed: {
      importExcelUrl: function(){
@@ -541,12 +760,21 @@
        this.selectedMainId=''
      },
      onSelectChange(selectedRowKeys, selectionRows) {
        this.selectedMainId=selectedRowKeys[0]
        if(selectedRowKeys.length==1){
          this.equipmentProcessParametersMainId = selectionRows[0]['id']
          this.equipmentDocumentMainId = selectionRows[0]['id']
          this.equipmentPrecisionParametersMainId = selectionRows[0]['id']
          this.selectedMainId=selectedRowKeys[0]
          this.isOpenProcess = selectionRows[0].processParameters==1;
          this.isOpenPrecision = selectionRows[0].precisionParameters==1;
        }else{
          this.equipmentProcessParametersMainId =''
          this.equipmentDocumentMainId = ''
          this.equipmentPrecisionParametersMainId = ''
          this.selectedMainId=''
        }
        this.selectedRowKeys = selectedRowKeys;
        this.selectionRows = selectionRows;
        this.equipmentProcessParametersMainId = selectionRows[0]['id']
        this.equipmentDocumentMainId = selectionRows[0]['id']
        this.equipmentPrecisionParametersMainId = selectionRows[0]['id']
      },
      loadData(arg) {
        if(!this.url.list){
@@ -630,7 +858,23 @@
        fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'坐标数量',dictCode:''})
        fieldList.push({type:'string',value:'projectApprovalNo',text:'立项卡号',dictCode:''})
        this.superFieldList = fieldList
      }
      },
      editProcess(record){
        this.$refs.processEditModel.edit(record);
      },
      editPrecision(record){
        this.$refs.precisionEditModel.edit(record);
      },
      initOptions() {
      getAction(this.url.loadOptions).then(res => {
        if (res.success) {
          this.treeData = res.result
        } else {
          this.$message.warning(res.message)
        }
      })
    },
    }
  }
</script>