|
|
@@ -0,0 +1,1892 @@
|
|
|
+<template>
|
|
|
+ <div id="equipment_edit" class="ele-body baseinfo-container">
|
|
|
+ <el-card shadow="never">
|
|
|
+ <div class="page-title">
|
|
|
+ <el-page-header @back="$router.go(-1)">
|
|
|
+ <div slot="content" class="pageContent">
|
|
|
+ <div>{{ title }}</div>
|
|
|
+ </div>
|
|
|
+ </el-page-header>
|
|
|
+ <div>
|
|
|
+ <el-button type="primary" @click="submit" :loading="btnLoading"
|
|
|
+ >确定</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form
|
|
|
+ label-width="120px"
|
|
|
+ :model="{ ...form, ...positionInfo }"
|
|
|
+ ref="form"
|
|
|
+ :rules="rules"
|
|
|
+ >
|
|
|
+ <div class="content">
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">基本信息</span>
|
|
|
+ </div>
|
|
|
+ <el-descriptions title="" :column="4" size="medium" border>
|
|
|
+ <template slot="title" v-if="pageType == 'add'">
|
|
|
+ <el-form-item class="label-none" label-width="0">
|
|
|
+ <span style="color: red; padding-right: 5px">*</span>
|
|
|
+ <el-button type="primary" plain @click="handlwpbm"
|
|
|
+ >选择物品编码</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 设备编码 </template>
|
|
|
+ <el-form-item
|
|
|
+ prop="code"
|
|
|
+ label-width="0"
|
|
|
+ v-if="pageType == 'add'"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-if="basicInfo"
|
|
|
+ class="input"
|
|
|
+ v-model="form.code"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span v-if="pageType == 'edit'">{{ form.code }}</span>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 设备名称 </template>
|
|
|
+ <el-form-item
|
|
|
+ prop="name"
|
|
|
+ label-width="0"
|
|
|
+ v-if="pageType == 'add'"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-if="basicInfo"
|
|
|
+ class="input"
|
|
|
+ v-model="form.name"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span v-if="pageType == 'edit'">{{ form.name }}</span>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 牌号</template>
|
|
|
+ {{ assetInfo.brandNum }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 型号</template>
|
|
|
+ {{ assetInfo.modelType }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 规格 </template>
|
|
|
+ {{ assetInfo.specification }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item :span="2">
|
|
|
+ <template slot="label"> 分类 </template>
|
|
|
+ {{ assetInfo.categoryLevelPath }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 生产日期 </template>
|
|
|
+ <el-form-item
|
|
|
+ prop="productTime"
|
|
|
+ label-width="0"
|
|
|
+ v-if="pageType == 'add'"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ v-if="basicInfo"
|
|
|
+ v-model="form.productTime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="选择日期时间"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <span v-if="pageType == 'edit'">{{ form.productTime }}</span>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <!-- <el-descriptions-item>
|
|
|
+ <template slot="label"> 过保日期 </template>
|
|
|
+ <span v-if="pageType == 'add'">{{ expirationTime }}</span>
|
|
|
+ <span v-if="pageType == 'edit'">{{ cbexpirationTime }}</span>
|
|
|
+ </el-descriptions-item> -->
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 计量单位 </template>
|
|
|
+ {{ basicInfo.measuringUnit }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 标准产能 </template>
|
|
|
+ {{ setbzcn(basicInfo.extendField) }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <!-- <el-descriptions-item v-if="pageType == 'edit'">
|
|
|
+ <template slot="label"> 实际产能 </template>
|
|
|
+ {{ basicInfo.measuringUnit }}
|
|
|
+ </el-descriptions-item> -->
|
|
|
+ <el-descriptions-item v-if="pageType == 'edit'">
|
|
|
+ <template slot="label"> 生命周期</template>
|
|
|
+ {{ sourceDICT }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item v-if="pageType == 'edit'">
|
|
|
+ <template slot="label"> 网络状态</template>
|
|
|
+ {{
|
|
|
+ networkStatus === 1 ? '在线' : networkStatus === 0 ? '离线' : ''
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 重量单位 </template>
|
|
|
+ {{ basicInfo.weightUnit }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 包装单位 </template>
|
|
|
+ {{ basicInfo.packingUnit }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 体积 </template>
|
|
|
+ {{ basicInfo.volume ? basicInfo.volume + '/' : null
|
|
|
+ }}{{ basicInfo.volumeUnit }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 毛重 </template>
|
|
|
+ {{ basicInfo.roughWeight }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 净重 </template>
|
|
|
+ {{ basicInfo.netWeight }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 所属部门 </template>
|
|
|
+ {{ basicInfo.groupName }}
|
|
|
+ <!-- <personSelect
|
|
|
+ ref="directorRef"
|
|
|
+ v-model="basicInfo.deptId"
|
|
|
+ :init="false"
|
|
|
+ /> -->
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">资产信息</span>
|
|
|
+ </div>
|
|
|
+ <el-descriptions
|
|
|
+ title=""
|
|
|
+ :column="5"
|
|
|
+ size="medium"
|
|
|
+ border
|
|
|
+ style="edit"
|
|
|
+ :label-style="labelStyle"
|
|
|
+ class="descriptions"
|
|
|
+ >
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 固资编码 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input class="input" v-model="zcInfo.fixCode"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 编号 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input class="input" v-model="zcInfo.codeNumber"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 颜色 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input class="input" v-model="zcInfo.color"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 级别 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.level"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.assetLevel"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 有效期开始 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.startTime"
|
|
|
+ type="month"
|
|
|
+ value-format="yyyy-MM"
|
|
|
+ placeholder="选择有效期开始"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 有效期结束 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.endTime"
|
|
|
+ @change="endTimeRules"
|
|
|
+ value-format="yyyy-MM"
|
|
|
+ type="month"
|
|
|
+ placeholder="选择有效期结束"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 状态 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input
|
|
|
+ v-model="zcInfo.status"
|
|
|
+ placeholder="请输入状态"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 入账日期 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.entryDate"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择入账日期"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 周期 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.cycle"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.deliveryCycle"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions
|
|
|
+ title=""
|
|
|
+ :column="5"
|
|
|
+ size="medium"
|
|
|
+ border
|
|
|
+ style="edit"
|
|
|
+ :label-style="labelStyle"
|
|
|
+ class="descriptions"
|
|
|
+ >
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 权属人 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <!-- <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.ownershipUserId"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.ownershipUserId"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select> -->
|
|
|
+ <el-input
|
|
|
+ v-model="form.workstation.leaderName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 权属部门 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <div class="input">
|
|
|
+ <!-- <DeptSelect
|
|
|
+ v-model="zcInfo.ownershipGroupId"
|
|
|
+ @input="getqsbm"
|
|
|
+ /> -->
|
|
|
+ <el-input
|
|
|
+ v-model="form.workstation.groupName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
+ <template slot="label"> 所属厂房 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="form.workstation.workshopPlanName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="form.workstation.workshopName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="form.workstation.productionLineName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="form.workstation.name"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ <!-- <FactoryAreaSelect
|
|
|
+ placeholder="请选择工厂"
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="zcInfo.factoryRoomId1"
|
|
|
+ :augr="1"
|
|
|
+ />
|
|
|
+ <FactoryAreaSelect
|
|
|
+ placeholder="请选择厂房"
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="zcInfo.factoryRoomId2"
|
|
|
+ :augr="2"
|
|
|
+ @returnItem="returnItem1"
|
|
|
+ /> -->
|
|
|
+ <!-- <FactoryAreaSelect
|
|
|
+ placeholder="请选择车间"
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ v-model="zcInfo.factoryRoomId3"
|
|
|
+ :augr="3"
|
|
|
+ /> -->
|
|
|
+ <!-- <el-select
|
|
|
+ style="width: 19%; margin-right: 10px"
|
|
|
+ v-model="zcInfo.factoryRoomId3"
|
|
|
+ placeholder="请选择"
|
|
|
+ @change="getCxList"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in zjList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select> -->
|
|
|
+ <!-- <FactoryAreaSelect
|
|
|
+ style="margin-right: 10px; width: 20%"
|
|
|
+ placeholder="请选择产线"
|
|
|
+ v-model="zcInfo.factoryRoomId4"
|
|
|
+ :augr="4"
|
|
|
+ /> -->
|
|
|
+ <!-- <el-select
|
|
|
+ style="width: 19%; margin-right: 10px"
|
|
|
+ v-model="zcInfo.factoryRoomId4"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in cxList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <FactoryAreaSelect
|
|
|
+ style="margin-right: 10px; width: 15%"
|
|
|
+ placeholder="请输入工位"
|
|
|
+ v-model="zcInfo.factoryRoomId5"
|
|
|
+ @returnItem="returnItem"
|
|
|
+ /> -->
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 所属工序 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <!-- <WorkingProcedureSelect
|
|
|
+ v-model="zcInfo.roteId"
|
|
|
+ ></WorkingProcedureSelect> -->
|
|
|
+ <el-input
|
|
|
+ v-model="form.workstation.taskNames"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 设备位置 </template>
|
|
|
+ <el-form-item label-width="0" prop="location">
|
|
|
+ <div style="display: flex">
|
|
|
+ <!-- <div
|
|
|
+ class="location-warp"
|
|
|
+ style="width: 50%; margin-right: 10px"
|
|
|
+ >
|
|
|
+ <el-cascader
|
|
|
+ clearable
|
|
|
+ v-model="form.location"
|
|
|
+ :options="options.cityDataLabel"
|
|
|
+ ></el-cascader>
|
|
|
+ </div> -->
|
|
|
+ <!-- <el-select
|
|
|
+ filterable
|
|
|
+ v-model="positionInfo.factoryCode"
|
|
|
+ style="margin-right: 10px"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in warehouseList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ @click.native="changeWarehouse(item)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select> -->
|
|
|
+ <!-- <factorySelect
|
|
|
+ style="margin-right: 10px"
|
|
|
+ v-model="positionInfo.factoryCode"
|
|
|
+ placeholder="请选择工厂"
|
|
|
+ @selfChange="hanldFactoryCode"
|
|
|
+ /> -->
|
|
|
+ <!-- <el-select
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ v-model="positionInfo.workshopCode"
|
|
|
+ style="margin-right: 10px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in areaList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ @click.native="twoClick(item)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select> -->
|
|
|
+ <!-- <WorkshopSelect
|
|
|
+ style="margin-right: 10px"
|
|
|
+ ref="WorkshopSelectRef"
|
|
|
+ :factoryId="positionInfo.factoryCode"
|
|
|
+ v-model="positionInfo.workshopCode"
|
|
|
+ @selfChange="hanldWorkshopCode"
|
|
|
+ placeholder="请选择车间"
|
|
|
+ /> -->
|
|
|
+ <!-- <FactoryLineSelect
|
|
|
+ style="margin-right: 10px"
|
|
|
+ ref="FactoryLineSelectRef"
|
|
|
+ :workshopId="positionInfo.workshopCode"
|
|
|
+ v-model="positionInfo.lineCode"
|
|
|
+ @selfChange="hanldlineCodeCode"
|
|
|
+ placeholder="请选择产线"
|
|
|
+ /> -->
|
|
|
+ <!-- <el-select
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ v-model="positionInfo.lineCode"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in shelvesList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.goodsshelvesCode"
|
|
|
+ :value="item.id"
|
|
|
+ @click.native="
|
|
|
+ positionInfo.lineName = item.goodsshelvesCode
|
|
|
+ "
|
|
|
+ ></el-option>
|
|
|
+ </el-select> -->
|
|
|
+ <el-cascader
|
|
|
+ clearable
|
|
|
+ v-model="form.location"
|
|
|
+ :options="options.cityDataLabel"
|
|
|
+ ></el-cascader>
|
|
|
+ <el-input
|
|
|
+ style="width: 60%; margin-left: 10px"
|
|
|
+ placeholder="详细地址"
|
|
|
+ v-model="positionInfo.detailPosition"
|
|
|
+ ></el-input>
|
|
|
+ <!-- <el-input
|
|
|
+ class="detail"
|
|
|
+ clearable
|
|
|
+ :maxlength="20"
|
|
|
+ v-model="form.locationDetail"
|
|
|
+ placeholder="请输入详细地址"
|
|
|
+ /> -->
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions
|
|
|
+ title=""
|
|
|
+ :column="5"
|
|
|
+ size="medium"
|
|
|
+ border
|
|
|
+ style="edit"
|
|
|
+ :label-style="labelStyle"
|
|
|
+ class="descriptions"
|
|
|
+ >
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 维护人 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.repairUserId"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.repairUserId"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 维护部门 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <div class="input">
|
|
|
+ <DeptSelect v-model="zcInfo.repairGroupId" @input="getwhbm" />
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions
|
|
|
+ title=""
|
|
|
+ :column="5"
|
|
|
+ size="medium"
|
|
|
+ border
|
|
|
+ style="edit"
|
|
|
+ :label-style="labelStyle"
|
|
|
+ class="descriptions"
|
|
|
+ >
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 使用岗位 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <DeptSelect v-model="zcInfo.postId" @input="auditorDeptClick" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 使用人 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.usePersonId"
|
|
|
+ filterable
|
|
|
+ placeholder="请选择使用人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 负责人 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="zcInfo.chargePersonId"
|
|
|
+ filterable
|
|
|
+ placeholder="请选择负责人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions
|
|
|
+ title=""
|
|
|
+ :column="3"
|
|
|
+ size="medium"
|
|
|
+ border
|
|
|
+ style="edit"
|
|
|
+ :label-style="labelStyle"
|
|
|
+ >
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 供应商 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-select
|
|
|
+ v-model="zcInfo.supplierId"
|
|
|
+ style="width: 100%"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in suppList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 品牌 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input v-model="zcInfo.brand" class="input"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 设备用途 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input v-model="zcInfo.purpose" class="input"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 备注 </template>
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ :rows="2"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="zcInfo.remark"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">仓储配置</span>
|
|
|
+ </div>
|
|
|
+ <el-descriptions title="" :column="4" size="medium" border>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 启用库存预警</template>
|
|
|
+ {{ dictType[categoryWms.isWarn] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">允许拆包</template>
|
|
|
+ {{ dictType[categoryWms.isUnpack] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">安全库存</template>
|
|
|
+ {{ categoryWms.secureInventory }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">最小库存</template>
|
|
|
+ {{ categoryWms.minInventory }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 最大库存</template>
|
|
|
+ {{ categoryWms.maxInventory }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">盘点模式</template>
|
|
|
+ {{ dictPd[categoryWms.inventoryMode] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">质保预警参考</template>
|
|
|
+ <!-- <DictSelection
|
|
|
+ dictName="质保预警参考"
|
|
|
+ clearable
|
|
|
+ v-model="categoryWms.warrantyWarnRefer"
|
|
|
+ >
|
|
|
+ </DictSelection> -->
|
|
|
+ {{ categoryWms.warrantyWarnRefer }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">保质期</template>
|
|
|
+ {{
|
|
|
+ categoryWms.warrantyPeriod
|
|
|
+ ? categoryWms.warrantyPeriod + '/'
|
|
|
+ : null
|
|
|
+ }}{{ categoryWms.warrantyPeriodUnit }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">生产信息</span>
|
|
|
+ </div>
|
|
|
+ <el-descriptions title="" :column="4" size="medium" border>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label"> 是否齐套件</template>
|
|
|
+ {{ dictType[categoryMes.isCompleteSet] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">消耗波动</template>
|
|
|
+ {{ categoryMes.consumWave ? categoryMes.consumWave + '%' : null }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">变动损耗率</template>
|
|
|
+ {{
|
|
|
+ categoryMes.changeLossRate
|
|
|
+ ? categoryMes.changeLossRate + '%'
|
|
|
+ : null
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">固定损耗数</template>
|
|
|
+ {{ categoryMes.fixLossNum }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">排程类型</template>
|
|
|
+ {{ categoryMes.apsType }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">允许改型</template>
|
|
|
+ {{ dictType[categoryMes.isModify] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">允许返工返修</template>
|
|
|
+ {{ dictType[categoryMes.isRework] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">是否返回料</template>
|
|
|
+ {{ dictType[categoryMes.isRematerial] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">是否副产品</template>
|
|
|
+ {{ dictType[categoryMes.isByProduct] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">是否废品</template>
|
|
|
+ {{ dictType[categoryMes.isWaste] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">是否不良品</template>
|
|
|
+ {{ dictType[categoryMes.isDefective] }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">生产信息</span>
|
|
|
+ </div>
|
|
|
+ <el-descriptions title="" :column="4" size="medium" border>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">附件信息</template>
|
|
|
+ {{ categoryObj.fileName }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
+ <template slot="label">备注信息</template>
|
|
|
+ {{ categoryObj.remark }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">关联信息</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <linkMsg
|
|
|
+ v-if="isLink"
|
|
|
+ ref="linkMsgRef"
|
|
|
+ :id="categoryObj.id"
|
|
|
+ :categoryLevelId="categoryObj.categoryLevelId"
|
|
|
+ :categoryLevelGroupId="categoryObj.categoryLevelGroupId"
|
|
|
+ />
|
|
|
+
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">文档信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="upload-container">
|
|
|
+ <WithView v-model="imageUrl" :limit="1" />
|
|
|
+ <div class="file-list">
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="使用说明书">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.operatingManual.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="生产许可证书">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.productionLicence.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="防爆合格证书">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.explosionProofCertificate.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="检验报告">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.surveyReport.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="检验周期说明">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.inspectionCycleManual.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="图纸资料">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.informationDrawing.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form-item prop="image" label="产品合格证">
|
|
|
+ <fileUpload
|
|
|
+ v-model="attUrl.productCertificate.value"
|
|
|
+ module="main"
|
|
|
+ :showLib="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">物联参数</span>
|
|
|
+ </div>
|
|
|
+ <el-row>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="是否启用物联">
|
|
|
+ <el-switch
|
|
|
+ v-model="isIotEnable"
|
|
|
+ active-text="开"
|
|
|
+ inactive-text="关"
|
|
|
+ :active-value="1"
|
|
|
+ :inactive-value="0"
|
|
|
+ >
|
|
|
+ </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col>
|
|
|
+ <el-form-item label="物联ID">{{ iotId }}</el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div class="basic-details-title border-none">
|
|
|
+ <span class="border-span">扩展信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="kzzd">
|
|
|
+ <el-row>
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ v-for="(item, index) in form.extInfoSelf"
|
|
|
+ :key="index"
|
|
|
+ style="margin-bottom: 20px"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label-width="0"
|
|
|
+ :prop="'extInfoSelf.' + index + '.key'"
|
|
|
+ :rules="{
|
|
|
+ required: true,
|
|
|
+ message: '自定义参数名称不能为空',
|
|
|
+ trigger: 'blur'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <div class="add-col">
|
|
|
+ <el-input
|
|
|
+ class="col-input"
|
|
|
+ v-model="item.key"
|
|
|
+ placeholder="参数名称"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ class="col-input"
|
|
|
+ v-model="item.value"
|
|
|
+ placeholder="参数值"
|
|
|
+ ></el-input>
|
|
|
+ <el-button
|
|
|
+ class="del"
|
|
|
+ type="text"
|
|
|
+ @click="delt(item, index)"
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" v-if="form.extInfoSelf.length < 10">
|
|
|
+ <el-form-item label-width="0">
|
|
|
+ <el-button
|
|
|
+ class="primarybutton"
|
|
|
+ type="primary"
|
|
|
+ @click="addItem"
|
|
|
+ >增加自定义参数</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ <DialogGoods
|
|
|
+ ref="DialogGoods"
|
|
|
+ @succeed="cbDialogGoods"
|
|
|
+ width="1200px"
|
|
|
+ ></DialogGoods>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import selectTree from '@/components/selectTree';
|
|
|
+ import DeptSelect from '@/components/CommomSelect/dept-select.vue';
|
|
|
+ import FactoryLineSelect from '@/components/CommomSelect/factory-line-select.vue';
|
|
|
+ import WorkshopSelect from '@/components/CommomSelect/workshop-select.vue';
|
|
|
+ import FactoryAreaSelect from '@/components/CommomSelect/factory-area-select.vue';
|
|
|
+ import WorkingProcedureSelect from '@/components/CommomSelect/working-procedure-select.vue';
|
|
|
+ import factorySelect from '@/components/CommomSelect/factory-select.vue';
|
|
|
+ import fileUpload from '@/components/upload/fileUpload';
|
|
|
+ import WithView from '@/components/upload/WithView';
|
|
|
+ import imgUpload from '@/components/upload/imgUpload';
|
|
|
+ import { cityDataLabel } from 'ele-admin/packages/utils/regions';
|
|
|
+ import personSelect from '@/components/CommomSelect/person-select.vue';
|
|
|
+ import { getDetails } from '@/api/classifyManage/itemInformation';
|
|
|
+ import { sysDict, isExit } from '@/utils/sys';
|
|
|
+ import linkMsg from '@/views/ledgerAssets/equipment/components/link-msg.vue';
|
|
|
+ // import selectUpload from "@/components/selectUpload";
|
|
|
+ // import UploadImg from "@/components/uploadImg/WithView.vue";
|
|
|
+ import DialogGoods from '@/views/ledgerAssets/equipment/components/link-msg.vue';
|
|
|
+ // import { parseTime } from "@/utils/ruoyi.js";
|
|
|
+ // import org from "@/api/main/org";
|
|
|
+ // import user from "@/api/main/user";
|
|
|
+ // import selectTree from "@/components/selectTree";
|
|
|
+ // import dict from "@/api/main/craft/dict";
|
|
|
+ // import { imageView } from "@/utils";
|
|
|
+ // import {
|
|
|
+ // getPlants,
|
|
|
+ // getfactoryInfo,
|
|
|
+ // getFactorys,
|
|
|
+ // getProductionLine,
|
|
|
+ // // saveOrEdit,
|
|
|
+ // getAssetNum,
|
|
|
+ // getDetail,
|
|
|
+ // getSupplier
|
|
|
+ // } from '@/api/ledgerAssets/equipment';
|
|
|
+ import { getFactoryarea } from '@/api/factoryModel';
|
|
|
+ import {
|
|
|
+ saveOrEdit,
|
|
|
+ getAssetInfo,
|
|
|
+ factoryworkstation
|
|
|
+ } from '@/api/ledgerAssets';
|
|
|
+ import { getUserPage } from '@/api/system/organization';
|
|
|
+ import warehouseDefinition from '@/api/warehouseManagement/warehouseDefinition';
|
|
|
+ import { listWorkshopByParentId, listFactoryLine } from '@/api/factoryModel';
|
|
|
+ import { getByCode } from '@/api/system/dictionary-data';
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ linkMsg,
|
|
|
+ //selectUpload,
|
|
|
+ //UploadImg,
|
|
|
+ selectTree,
|
|
|
+ FactoryLineSelect,
|
|
|
+ WithView,
|
|
|
+ WorkshopSelect,
|
|
|
+ FactoryAreaSelect,
|
|
|
+ WorkingProcedureSelect,
|
|
|
+ fileUpload,
|
|
|
+ imgUpload,
|
|
|
+ factorySelect,
|
|
|
+ DialogGoods,
|
|
|
+ DeptSelect,
|
|
|
+ personSelect
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ // 设备地址校验规则
|
|
|
+ // var addressValidation = (rule, array, callback) => {
|
|
|
+ // if (array?.length > 0) {
|
|
|
+ // var filterArray = array.filter((item) => item && item.trim());
|
|
|
+ // console.log(filterArray);
|
|
|
+ // if (filterArray.length > 0) {
|
|
|
+ // callback();
|
|
|
+ // } else {
|
|
|
+ // callback(new Error('地址不能为空'));
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // callback(new Error('地址不能为空'));
|
|
|
+ // }
|
|
|
+ // };
|
|
|
+ return {
|
|
|
+ treeList: [], // 使用岗位树
|
|
|
+ userList: [], // 人员列表
|
|
|
+ labelStyle: {
|
|
|
+ 'min-width': '100px'
|
|
|
+ },
|
|
|
+ isLink: true,
|
|
|
+ categoryObj: {},
|
|
|
+ dictType: {
|
|
|
+ 1: '是',
|
|
|
+ 0: '否'
|
|
|
+ },
|
|
|
+ dictPd: {
|
|
|
+ 1: '逐个盘点',
|
|
|
+ 2: '批量盘点'
|
|
|
+ },
|
|
|
+ categoryMes: {
|
|
|
+ isModify: '',
|
|
|
+ isRework: '',
|
|
|
+ isRematerial: '',
|
|
|
+ isByProduct: '',
|
|
|
+ isWaste: '',
|
|
|
+ isDefective: ''
|
|
|
+ },
|
|
|
+ categoryWms: {}, //仓储
|
|
|
+ title: '新建设备信息',
|
|
|
+ pageType: 'add',
|
|
|
+ btnLoading: false,
|
|
|
+ // 设备主键id
|
|
|
+ id: '',
|
|
|
+ form: {
|
|
|
+ extInfoSelf: [],
|
|
|
+ // 基本信息
|
|
|
+ code: '',
|
|
|
+ name: '',
|
|
|
+ productTime: '',
|
|
|
+ workstation: {}
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ name: [
|
|
|
+ { required: true, message: '请输入设备名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ // location: [{ validator: addressValidation, trigger: 'change' }],
|
|
|
+ code: [{ required: true, message: '请输入设备编码', trigger: 'blur' }]
|
|
|
+ },
|
|
|
+ // 基本信息
|
|
|
+ basicInfo: {},
|
|
|
+ assetInfo: {},
|
|
|
+ // 资产信息
|
|
|
+ zcInfo: {
|
|
|
+ factoryRoomId1: '',
|
|
|
+ factoryRoomId2: '',
|
|
|
+ factoryRoomId3: '',
|
|
|
+ factoryRoomId4: '',
|
|
|
+ factoryRoomId5: '',
|
|
|
+ factoryRoomName1: '',
|
|
|
+ factoryRoomName2: '',
|
|
|
+ factoryRoomName3: '',
|
|
|
+ factoryRoomName4: '',
|
|
|
+ factoryRoomName5: '',
|
|
|
+ // 固定资产编码
|
|
|
+ fixCode: '',
|
|
|
+ // 颜色
|
|
|
+ color: '',
|
|
|
+ // 重量
|
|
|
+ weight: '',
|
|
|
+ // 维护部门code
|
|
|
+ repairGroupId: '',
|
|
|
+ repairDeptName: '',
|
|
|
+ repairUserId: '',
|
|
|
+ // 权属部门
|
|
|
+ ownershipGroupId: '',
|
|
|
+ ownershipUserId: '',
|
|
|
+ // 设备用途
|
|
|
+ purpose: '',
|
|
|
+ // 工序
|
|
|
+ roteId: '',
|
|
|
+ roteName: '',
|
|
|
+ //品牌
|
|
|
+ brand: '',
|
|
|
+ // 供应商code
|
|
|
+ supplierId: '',
|
|
|
+ // 厂房
|
|
|
+ factoryRoomId: '',
|
|
|
+ roteCode: '',
|
|
|
+ codeNumber: '',
|
|
|
+ // 使用人
|
|
|
+ usePersonId: '',
|
|
|
+ // 有效期开始
|
|
|
+ startTime: '',
|
|
|
+ // 有效结束
|
|
|
+ endTime: '',
|
|
|
+ // 级别
|
|
|
+ level: '',
|
|
|
+ // 状态
|
|
|
+ status: '',
|
|
|
+ // 负责人
|
|
|
+ chargePersonId: '',
|
|
|
+ // 入账日期
|
|
|
+ entryDate: '',
|
|
|
+ // 周期
|
|
|
+ cycle: '',
|
|
|
+ // 备注
|
|
|
+ remark: '',
|
|
|
+ // 使用岗位
|
|
|
+ postId: ''
|
|
|
+ },
|
|
|
+ positionInfo: {
|
|
|
+ // 详细地址
|
|
|
+ detailPosition: '',
|
|
|
+ // 请选择产线
|
|
|
+ lineCode: '',
|
|
|
+ lineName: '',
|
|
|
+ // 请选择车间
|
|
|
+ workshopCode: '',
|
|
|
+ workshopName: '',
|
|
|
+ // 请选择工厂
|
|
|
+ factoryCode: '',
|
|
|
+ factoryName: ''
|
|
|
+ },
|
|
|
+ // 图片
|
|
|
+ imageUrl: null,
|
|
|
+ // 文档信息
|
|
|
+ attUrl: {
|
|
|
+ operatingManual: {
|
|
|
+ value: [],
|
|
|
+ sort: 1
|
|
|
+ },
|
|
|
+ productionLicence: {
|
|
|
+ value: [],
|
|
|
+ sort: 2
|
|
|
+ },
|
|
|
+ explosionProofCertificate: {
|
|
|
+ value: [],
|
|
|
+ sort: 3
|
|
|
+ },
|
|
|
+ surveyReport: {
|
|
|
+ value: [],
|
|
|
+ sort: 4
|
|
|
+ },
|
|
|
+ inspectionCycleManual: {
|
|
|
+ value: [],
|
|
|
+ sort: 5
|
|
|
+ },
|
|
|
+ informationDrawing: {
|
|
|
+ value: [],
|
|
|
+ sort: 6
|
|
|
+ },
|
|
|
+ productCertificate: {
|
|
|
+ value: [],
|
|
|
+ sort: 7
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 是否开始物联
|
|
|
+ isIotEnable: true,
|
|
|
+ // 物联ID
|
|
|
+ iotId: '',
|
|
|
+ // 回显过保时间
|
|
|
+ cbexpirationTime: '',
|
|
|
+ // 生命周期
|
|
|
+ sourceDICT: '',
|
|
|
+ // 网络状态
|
|
|
+ networkStatus: '',
|
|
|
+ options: {
|
|
|
+ deptList: [],
|
|
|
+ repairUserId: [],
|
|
|
+ ownershipUserId: [],
|
|
|
+ supplierId: [],
|
|
|
+ brand: [],
|
|
|
+ cityDataLabel,
|
|
|
+ assetLevel: [], // 资产级别
|
|
|
+ deliveryCycle: [] // 送检周期
|
|
|
+ },
|
|
|
+ depList: [],
|
|
|
+ warehouseList: [],
|
|
|
+ areaList: [],
|
|
|
+ shelvesList: [],
|
|
|
+ suppList: [],
|
|
|
+ zjList: [],
|
|
|
+ cxList: []
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {},
|
|
|
+ computed: {
|
|
|
+ // 过保时间
|
|
|
+ expirationTime() {
|
|
|
+ if (this.form.productTime && this.basicInfo.expirationDate) {
|
|
|
+ return this.setGbTime(
|
|
|
+ this.form.productTime,
|
|
|
+ this.basicInfo.expirationDate,
|
|
|
+ this.basicInfo.expirationDateUnit
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ // 获取资产级别下拉框
|
|
|
+ await this.getAssetLevelOptions();
|
|
|
+ // 获取部门岗位树
|
|
|
+ await this.getUsePostsTree();
|
|
|
+ //
|
|
|
+ await this.getDeliveryCycleOptions();
|
|
|
+ if (this.$route.query.id) {
|
|
|
+ this.pageType = 'edit';
|
|
|
+ this.id = this.$route.query.id;
|
|
|
+ await this.getInfo();
|
|
|
+ this.title = '编辑设备信息';
|
|
|
+ // this.getgys();
|
|
|
+ // await this._getWarehouseChildren();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 限制结束时间
|
|
|
+ endTimeRules() {
|
|
|
+ if (this.zcInfo.startTime) {
|
|
|
+ console.log(this.zcInfo.startTime);
|
|
|
+ console.log(new Date(this.zcInfo.startTime).getTime());
|
|
|
+ let differenceTime =
|
|
|
+ new Date(this.zcInfo.endTime).getTime() -
|
|
|
+ new Date(this.zcInfo.startTime).getTime();
|
|
|
+ if (differenceTime <= 0) {
|
|
|
+ this.$message.error('请选择正确的有效结束时间');
|
|
|
+ this.zcInfo.endTime = '';
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message.error('请选择有效开始时间');
|
|
|
+ this.zcInfo.endTime = '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取资产级别下拉
|
|
|
+ async getAssetLevelOptions() {
|
|
|
+ let { data } = await getByCode('asset_level');
|
|
|
+ this.options.assetLevel =
|
|
|
+ data.length > 0
|
|
|
+ ? data.map((item) => {
|
|
|
+ return {
|
|
|
+ name: Object.keys(item)[0],
|
|
|
+ id: item[Object.keys(item)[0]]
|
|
|
+ };
|
|
|
+ })
|
|
|
+ : [];
|
|
|
+ },
|
|
|
+ // 获取送检周期下拉
|
|
|
+ async getDeliveryCycleOptions() {
|
|
|
+ let { data } = await getByCode('delivery_cycle');
|
|
|
+ console.log(data);
|
|
|
+ this.options.deliveryCycle =
|
|
|
+ data.length > 0
|
|
|
+ ? data.map((item) => {
|
|
|
+ return {
|
|
|
+ name: item[Object.keys(item)[0]],
|
|
|
+ id: +Object.keys(item)[0]
|
|
|
+ };
|
|
|
+ })
|
|
|
+ : [];
|
|
|
+ },
|
|
|
+ // 使用岗位点击事件
|
|
|
+ async auditorDeptClick(data) {
|
|
|
+ console.log(data);
|
|
|
+ if (data) {
|
|
|
+ this.getStaffList(data);
|
|
|
+ } else {
|
|
|
+ this.zcInfo.chargePersonId = '';
|
|
|
+ this.zcInfo.usePersonId = '';
|
|
|
+ this.userList = [];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取使用岗位列表树
|
|
|
+ async getUsePostsTree() {
|
|
|
+ const res = await warehouseDefinition.tree();
|
|
|
+ this.treeList = this.$util.toTreeData({
|
|
|
+ data: res,
|
|
|
+ idField: 'id',
|
|
|
+ parentIdField: 'parentId'
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 通过部门岗位获取人员列表
|
|
|
+ async getStaffList(id) {
|
|
|
+ let res = await warehouseDefinition.getUserPage({
|
|
|
+ groupId: id,
|
|
|
+ size: 9999,
|
|
|
+ page: 1
|
|
|
+ });
|
|
|
+ this.userList = res.list;
|
|
|
+ },
|
|
|
+ async getCxList(e) {
|
|
|
+ this.zcInfo.factoryRoomId4 = '';
|
|
|
+ this.zcInfo.factoryRoomId5 = '';
|
|
|
+ const data = await listFactoryLine([e]);
|
|
|
+ console.log('生产线---------', data);
|
|
|
+ this.cxList = data;
|
|
|
+ },
|
|
|
+ async returnItem1(item) {
|
|
|
+ this.zcInfo.factoryRoomId3 = '';
|
|
|
+ this.zcInfo.factoryRoomId4 = '';
|
|
|
+ this.zcInfo.factoryRoomId5 = '';
|
|
|
+ const data = await listWorkshopByParentId(item.id);
|
|
|
+ console.log('厂房-------------', data);
|
|
|
+ this.zjList = data;
|
|
|
+ },
|
|
|
+ async returnItem(item) {
|
|
|
+ const data = await factoryworkstation(item.id);
|
|
|
+ console.log('工位------', data);
|
|
|
+ if (data.workshopId) {
|
|
|
+ await this.returnItem1({ id: data.workshopId });
|
|
|
+ }
|
|
|
+ if (data.productionLineId) {
|
|
|
+ await this.getCxList(data.productionLineId);
|
|
|
+ }
|
|
|
+ // this.zcInfo.factoryRoomId1 = data.factoryId;
|
|
|
+ // this.zcInfo.factoryRoomName1 = data.factoryName;
|
|
|
+ // this.zcInfo.factoryRoomId2 = data.workshopPlanId;
|
|
|
+ // this.zcInfo.factoryRoomName2 = data.workshopPlanName;
|
|
|
+ // this.zcInfo.factoryRoomId3 = data.workshopId;
|
|
|
+ // this.zcInfo.factoryRoomName3 = data.workshopName;
|
|
|
+ // this.zcInfo.factoryRoomId4 = data.productionLineId;
|
|
|
+ // this.zcInfo.factoryRoomName4 = data.productionLineName;
|
|
|
+ this.zcInfo.factoryRoomId5 = data.id;
|
|
|
+ this.zcInfo.factoryRoomName5 = data.name;
|
|
|
+
|
|
|
+ this.zcInfo.roteId = data.taskList[0].id;
|
|
|
+ this.zcInfo.roteName = data.taskList[0].name;
|
|
|
+
|
|
|
+ this.zcInfo.ownershipGroupId = data.extInfo.principalDep;
|
|
|
+ await this.getqsbm();
|
|
|
+ this.zcInfo.ownershipUserId = data.leaderId;
|
|
|
+ },
|
|
|
+ // returnName1(val) {
|
|
|
+ // this.zcInfo.factoryRoomName1 = val;
|
|
|
+ // },
|
|
|
+ // returnName2(val) {
|
|
|
+ // this.zcInfo.factoryRoomName2 = val;
|
|
|
+ // },
|
|
|
+ // returnName3(val) {
|
|
|
+ // this.zcInfo.factoryRoomName3 = val;
|
|
|
+ // },
|
|
|
+ // returnName4(val) {
|
|
|
+ // this.zcInfo.factoryRoomName4 = val;
|
|
|
+ // },
|
|
|
+ // returnName5(val) {
|
|
|
+ // this.zcInfo.factoryRoomName5 = val;
|
|
|
+ // },
|
|
|
+ async twoClick(val) {
|
|
|
+ this.positionInfo.workshopName = val.name;
|
|
|
+ const res = await warehouseDefinition.getListByAreaId(val.id);
|
|
|
+ this.shelvesList = res;
|
|
|
+ },
|
|
|
+ async changeWarehouse(val) {
|
|
|
+ this.positionInfo.factoryName = val.name;
|
|
|
+ const res = await warehouseDefinition.getListByWarehouseId(val.id);
|
|
|
+ this.areaList = res;
|
|
|
+ },
|
|
|
+ async _getWarehouseChildren() {
|
|
|
+ const res = await warehouseDefinition.list({});
|
|
|
+ this.warehouseList = res.map((item) => {
|
|
|
+ return { ...item, name: item.factoryName + '-' + item.name };
|
|
|
+ });
|
|
|
+
|
|
|
+ if (this.positionInfo.factoryCode) {
|
|
|
+ const params = {
|
|
|
+ id: this.positionInfo.factoryCode,
|
|
|
+ name: this.positionInfo.factoryName
|
|
|
+ };
|
|
|
+ this.changeWarehouse(params);
|
|
|
+ }
|
|
|
+ if (this.positionInfo.workshopCode) {
|
|
|
+ const params = {
|
|
|
+ id: this.positionInfo.workshopCode,
|
|
|
+ name: this.positionInfo.workshopName
|
|
|
+ };
|
|
|
+ this.twoClick(params);
|
|
|
+ }
|
|
|
+
|
|
|
+ // const res = await getWarehouseChildren();
|
|
|
+ // if (res?.success) {
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ isExit,
|
|
|
+ handlwpbm() {
|
|
|
+ this.$refs.DialogGoods.open();
|
|
|
+ },
|
|
|
+ async cbDialogGoods(data) {
|
|
|
+ console.log(data);
|
|
|
+ this.basicInfo = data;
|
|
|
+ this.assetInfo = data;
|
|
|
+ this.form.rootCategoryLevelId =
|
|
|
+ this.basicInfo.categoryLevelPathId.split(',')[0];
|
|
|
+ this.form.categoryId = this.basicInfo.id;
|
|
|
+ this.form.name = this.basicInfo.name;
|
|
|
+ // let res = await getAssetNum({
|
|
|
+ // assetCode: this.basicInfo.code,
|
|
|
+ // num: 1
|
|
|
+ // });
|
|
|
+ this.form.code = data.code; //Date.now(); //res.data[0].onlyCode;
|
|
|
+ for (const key in this.depList) {
|
|
|
+ if (this.depList[key].id == data.deptId) {
|
|
|
+ this.basicInfo.name = this.depList[key].name;
|
|
|
+ this.basicInfo.groupName = this.depList[key].groupName;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async seachDetail(id) {
|
|
|
+ this.isLink = false;
|
|
|
+ const res = await getDetails(id);
|
|
|
+ console.log('res==', res);
|
|
|
+ this.categoryWms = {
|
|
|
+ ...res.categoryWms,
|
|
|
+ warrantyWarnRefer: await sysDict(
|
|
|
+ '质保预警参考',
|
|
|
+ res.categoryWms.warrantyWarnRefer
|
|
|
+ ),
|
|
|
+ warrantyPeriodUnit: await sysDict(
|
|
|
+ '保质期单位',
|
|
|
+ res.categoryWms.warrantyPeriodUnit
|
|
|
+ )
|
|
|
+ };
|
|
|
+ this.categoryMes = {
|
|
|
+ ...res.categoryMes,
|
|
|
+ apsType: await sysDict('排程类型', res.categoryMes.apsType)
|
|
|
+ };
|
|
|
+ this.categoryObj = {
|
|
|
+ ...res.category,
|
|
|
+ fileName: res.category.remarkAttach
|
|
|
+ ? res.category.remarkAttach.map((item) => item.name).join(', ')
|
|
|
+ : ''
|
|
|
+ };
|
|
|
+ console.log(this.categoryObj);
|
|
|
+ this.isLink = true;
|
|
|
+ },
|
|
|
+ // 计算过保时间
|
|
|
+ setGbTime(basic, value, type) {
|
|
|
+ basic = Date.parse(basic);
|
|
|
+ let time;
|
|
|
+ switch (type) {
|
|
|
+ case 'minute':
|
|
|
+ time = value * 1000 * 60;
|
|
|
+ break;
|
|
|
+ case 'hour':
|
|
|
+ time = value * 1000 * 60 * 60;
|
|
|
+ break;
|
|
|
+ case 'day':
|
|
|
+ time = value * 1000 * 60 * 60 * 24;
|
|
|
+ break;
|
|
|
+ case 'month':
|
|
|
+ time = value * 1000 * 60 * 60 * 24 * 30;
|
|
|
+ break;
|
|
|
+ case 'year':
|
|
|
+ time = value * 1000 * 60 * 60 * 24 * 365;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ let num = basic + time;
|
|
|
+ return parseTime(num);
|
|
|
+ },
|
|
|
+ async getwhbm() {
|
|
|
+ if (!this.zcInfo.repairGroupId) return;
|
|
|
+ let data = await getUserPage({
|
|
|
+ pageNum: 1,
|
|
|
+ size: 9999,
|
|
|
+ groupId: this.zcInfo.repairGroupId
|
|
|
+ });
|
|
|
+ this.options.repairUserId = data.list;
|
|
|
+ },
|
|
|
+ async getqsbm() {
|
|
|
+ if (!this.zcInfo.ownershipGroupId) return;
|
|
|
+ let data = await getUserPage({
|
|
|
+ pageNum: 1,
|
|
|
+ size: 9999,
|
|
|
+ groupId: this.zcInfo.ownershipGroupId
|
|
|
+ });
|
|
|
+ this.options.ownershipUserId = data.list;
|
|
|
+ },
|
|
|
+ // 树形结构数据
|
|
|
+ getTreeList() {
|
|
|
+ org.tree().then((res) => {
|
|
|
+ this.options.deptList = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 获取供应商、工序列表
|
|
|
+ async getgys() {
|
|
|
+ let muster = await getSupplier({
|
|
|
+ size: 999
|
|
|
+ });
|
|
|
+ this.options.supplierId = muster.data.items; //供应商
|
|
|
+ },
|
|
|
+
|
|
|
+ // 添加自定义参数
|
|
|
+ addItem() {
|
|
|
+ if (this.form.extInfoSelf.length < 10) {
|
|
|
+ let item = { key: '', value: '' };
|
|
|
+ this.form.extInfoSelf.push(item);
|
|
|
+ } else {
|
|
|
+ this.$message.warning('自定义参数最多添加10条');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 删除自定义参数
|
|
|
+ delt(item, index) {
|
|
|
+ this.form.extInfoSelf.splice(index, 1);
|
|
|
+ },
|
|
|
+ // 提交
|
|
|
+ submit() {
|
|
|
+ if (!this.basicInfo && this.pageType == 'add') {
|
|
|
+ return this.$message.error('请选择物品编码');
|
|
|
+ }
|
|
|
+ // if (!this.zcInfo.factoryRoomId1) {
|
|
|
+ // return this.$message.error('请选择工厂');
|
|
|
+ // }
|
|
|
+ // if (!this.zcInfo.factoryRoomId2) {
|
|
|
+ // return this.$message.error('请选择厂房');
|
|
|
+ // }
|
|
|
+ // if (!this.zcInfo.factoryRoomId3) {
|
|
|
+ // return this.$message.error('请选择车间');
|
|
|
+ // }
|
|
|
+ // if (!this.zcInfo.factoryRoomId4) {
|
|
|
+ // return this.$message.error('请选择产线');
|
|
|
+ // }
|
|
|
+ // if (!this.zcInfo.factoryRoomId5) {
|
|
|
+ // return this.$message.error('请选择工位');
|
|
|
+ // }
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ console.log('valid---------', valid);
|
|
|
+ console.log(this.form);
|
|
|
+ if (valid) {
|
|
|
+ console.log('ppp', this.positionInfo);
|
|
|
+ let par = {
|
|
|
+ //基本信息
|
|
|
+ ...this.form,
|
|
|
+ assetType: 1,
|
|
|
+ // 资产信息
|
|
|
+ positionIds: '1,1,1,1',
|
|
|
+ ...this.zcInfo,
|
|
|
+ position: {
|
|
|
+ detailPosition: this.positionInfo.detailPosition,
|
|
|
+ pathIds: `${
|
|
|
+ this.positionInfo.factoryCode
|
|
|
+ ? this.positionInfo.factoryCode + ','
|
|
|
+ : ''
|
|
|
+ }${
|
|
|
+ this.positionInfo.workshopCode
|
|
|
+ ? this.positionInfo.workshopCode + ','
|
|
|
+ : ''
|
|
|
+ }${this.positionInfo.lineCode}`,
|
|
|
+ pathName: `${
|
|
|
+ this.positionInfo.factoryName
|
|
|
+ ? this.positionInfo.factoryName + ','
|
|
|
+ : ''
|
|
|
+ }${
|
|
|
+ this.positionInfo.workshopName
|
|
|
+ ? this.positionInfo.workshopName + ','
|
|
|
+ : ''
|
|
|
+ }${this.positionInfo.lineName}`,
|
|
|
+ type: '1',
|
|
|
+ num: 1
|
|
|
+ },
|
|
|
+ factoryRoomId: '',
|
|
|
+ factoryRoomName: '',
|
|
|
+ // 文档信息
|
|
|
+ attUrl: this.setWd() || [],
|
|
|
+ // // 设备图片
|
|
|
+ imageUrl: this.imageUrl || {},
|
|
|
+ // 是否启用物联
|
|
|
+ isIotEnable: this.isIotEnable
|
|
|
+ // // 扩展字段
|
|
|
+
|
|
|
+ // extInfoSelf: this.setKz()
|
|
|
+ };
|
|
|
+ const factoryRoomIds = [
|
|
|
+ this.zcInfo.factoryRoomId1,
|
|
|
+ this.zcInfo.factoryRoomId2,
|
|
|
+ this.zcInfo.factoryRoomId3,
|
|
|
+ this.zcInfo.factoryRoomId4,
|
|
|
+ this.zcInfo.factoryRoomId5
|
|
|
+ ];
|
|
|
+ const nonEmptyFactoryRoomIds = factoryRoomIds.filter((id) => id);
|
|
|
+ par.factoryRoomId = nonEmptyFactoryRoomIds.join(',');
|
|
|
+ //---
|
|
|
+ const factoryRoomNames = [
|
|
|
+ this.zcInfo.factoryRoomName1,
|
|
|
+ this.zcInfo.factoryRoomName2,
|
|
|
+ this.zcInfo.factoryRoomName3,
|
|
|
+ this.zcInfo.factoryRoomName4,
|
|
|
+ this.zcInfo.factoryRoomName5
|
|
|
+ ];
|
|
|
+ const nonEmptyFactoryRoomNames = factoryRoomNames.filter(
|
|
|
+ (id) => id
|
|
|
+ );
|
|
|
+ par.factoryRoomName = nonEmptyFactoryRoomNames.join(',');
|
|
|
+ //==
|
|
|
+
|
|
|
+ console.log(par);
|
|
|
+ par.deviceLocationName = par.location
|
|
|
+ ? par.location.toString()
|
|
|
+ : '';
|
|
|
+ // par.sss = par.position.detailPosition;
|
|
|
+ //==
|
|
|
+ //============================
|
|
|
+ par.extInfo = { ...this.zcInfo };
|
|
|
+ let obj = {};
|
|
|
+ par.extInfoSelf.forEach((item) => {
|
|
|
+ obj[item.key] = item.value;
|
|
|
+ });
|
|
|
+ par.extInfoSelf = obj;
|
|
|
+ //============================
|
|
|
+ if (this.pageType == 'edit') {
|
|
|
+ par.id = this.id;
|
|
|
+ }
|
|
|
+ this.btnLoading = true;
|
|
|
+ console.log('sasasasa', par);
|
|
|
+ saveOrEdit(par)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.$router.go(-1);
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.btnLoading = false;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.log('error submit!!');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 处理扩展字段
|
|
|
+ setKz() {
|
|
|
+ return this.form.extInfoSelf || [];
|
|
|
+ },
|
|
|
+ // 处理文档信息
|
|
|
+ setWd() {
|
|
|
+ return Object.values(this.attUrl).map((item) => ({
|
|
|
+ ...(item.value[0] || {}),
|
|
|
+ sort: item.sort
|
|
|
+ }));
|
|
|
+ },
|
|
|
+ // 选择所属部门
|
|
|
+ async searchDeptNodeClick(id, ids) {
|
|
|
+ // 根据部门获取人员
|
|
|
+ const res = await getUserPage({
|
|
|
+ pageNum: 1,
|
|
|
+ size: -1,
|
|
|
+ executeGroupId: id
|
|
|
+ });
|
|
|
+ // const depId = res.list.find((item) => {
|
|
|
+ // item.id == ids;
|
|
|
+ // });
|
|
|
+ // console.log('depId', depId);
|
|
|
+ this.depList = res.list;
|
|
|
+ },
|
|
|
+ // 获取设备详情
|
|
|
+ async getInfo() {
|
|
|
+ const data = await getAssetInfo(this.id);
|
|
|
+ console.log('获取设备详情-----', data);
|
|
|
+ this.auditorDeptClick(data.postId);
|
|
|
+ for (const key of Object.keys(this.zcInfo)) {
|
|
|
+ this.zcInfo[key] = data[key];
|
|
|
+ }
|
|
|
+ console.log(this.zcInfo);
|
|
|
+ data.extInfoSelf = data.extInfoSelf || [];
|
|
|
+ this.form = data;
|
|
|
+ this.form.location = data.deviceLocationName.split(',');
|
|
|
+ this.basicInfo = data.category;
|
|
|
+ this.assetInfo = data.category.category;
|
|
|
+ this.cbexpirationTime = data.expirationTime;
|
|
|
+ this.sourceDICT = data.sourceDICT;
|
|
|
+ this.networkStatus = data.networkStatus;
|
|
|
+
|
|
|
+ if (data.factoryRoomId) {
|
|
|
+ const pathIds = data.factoryRoomId.split(',');
|
|
|
+ this.zcInfo.factoryRoomId1 = pathIds[0];
|
|
|
+ this.zcInfo.factoryRoomId2 = pathIds[1];
|
|
|
+ this.zcInfo.factoryRoomId3 = pathIds[2];
|
|
|
+ this.zcInfo.factoryRoomId4 = pathIds[3];
|
|
|
+ this.zcInfo.factoryRoomId5 = pathIds[4];
|
|
|
+ if (this.zcInfo.factoryRoomId2) {
|
|
|
+ this.returnItem1({ id: pathIds[1] });
|
|
|
+ }
|
|
|
+ if (this.zcInfo.factoryRoomId3) {
|
|
|
+ this.getCxList(pathIds[2]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (data.detailPosition) {
|
|
|
+ this.positionInfo.detailPosition = data.detailPosition;
|
|
|
+
|
|
|
+ const pathIds = data.positionList[0].pathIds.split(',');
|
|
|
+ const pathName = data.positionList[0].pathName.split(',');
|
|
|
+
|
|
|
+ // this.zcInfo.factoryRoomId1 = pathIds[0];
|
|
|
+
|
|
|
+ // this.zcInfo.factoryRoomId2 = pathIds[1];
|
|
|
+
|
|
|
+ // this.zcInfo.factoryRoomId3 = pathIds[2];
|
|
|
+
|
|
|
+ // this.zcInfo.factoryRoomId4 = pathIds[3];
|
|
|
+
|
|
|
+ // this.zcInfo.factoryRoomId5 = pathIds[4];
|
|
|
+
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // this.$refs.WorkshopSelectRef.getList();
|
|
|
+ // this.$refs.FactoryLineSelectRef.getList();
|
|
|
+ });
|
|
|
+ console.log('data', data);
|
|
|
+ this.isLink = false;
|
|
|
+ this.categoryWms = {
|
|
|
+ ...data.category.categoryWms,
|
|
|
+ warrantyWarnRefer: await sysDict(
|
|
|
+ '质保预警参考',
|
|
|
+ data.category.categoryWms.warrantyWarnRefer
|
|
|
+ ),
|
|
|
+ warrantyPeriodUnit: await sysDict(
|
|
|
+ '保质期单位',
|
|
|
+ data.category.categoryWms.warrantyPeriodUnit
|
|
|
+ )
|
|
|
+ };
|
|
|
+ this.categoryMes = {
|
|
|
+ ...data.category.categoryMes,
|
|
|
+ apsType: await sysDict(
|
|
|
+ '排程类型',
|
|
|
+ data.category.categoryMes.apsType
|
|
|
+ )
|
|
|
+ };
|
|
|
+ this.categoryObj = {
|
|
|
+ ...data.category.category,
|
|
|
+ fileName: data.category.category.remarkAttach
|
|
|
+ ? data.category.category.remarkAttach
|
|
|
+ .map((item) => item.name)
|
|
|
+ .join(', ')
|
|
|
+ : ''
|
|
|
+ };
|
|
|
+ this.isLink = true;
|
|
|
+ }
|
|
|
+ // // 资产信息
|
|
|
+ // this.zcInfo.codeNumber = data.codeNumber;
|
|
|
+ // this.zcInfo.fixCode = data.fixCode;
|
|
|
+
|
|
|
+ this.getwhbm();
|
|
|
+ this.getqsbm();
|
|
|
+ if (data.attUrl && data.attUrl.length > 0) {
|
|
|
+ // 文档信息
|
|
|
+ Object.keys(this.attUrl).forEach((n, index) => {
|
|
|
+ this.attUrl[n].value =
|
|
|
+ (data.attUrl[index]?.storePath && [data.attUrl[index]]) || [];
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设备图片
|
|
|
+ this.imageUrl = data.imageUrl;
|
|
|
+ // 物联参数
|
|
|
+ this.isIotEnable = data.isIotEnable;
|
|
|
+ this.iotId = data.iotId;
|
|
|
+ //供应商
|
|
|
+ const rep = await warehouseDefinition.eomContact({
|
|
|
+ type: 2,
|
|
|
+ status: 1,
|
|
|
+ size: -1,
|
|
|
+ pageNum: 1
|
|
|
+ });
|
|
|
+ this.suppList = rep.list;
|
|
|
+ },
|
|
|
+ // 设置标准产能
|
|
|
+ setbzcn(val) {
|
|
|
+ if (!val) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ let item = JSON.parse(val);
|
|
|
+ return item.standardCapacity || '';
|
|
|
+ },
|
|
|
+ hanldFactoryCode(val, item) {
|
|
|
+ this.positionInfo.factoryName = item?.name;
|
|
|
+ // 重置
|
|
|
+ this.zcInfo.workshopCode = '';
|
|
|
+ this.zcInfo.lineCode = '';
|
|
|
+ this.options.workshopCode = [];
|
|
|
+ this.options.lineCode = [];
|
|
|
+ // 获取车间
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // this.$refs.WorkshopSelectRef.getList();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ hanldWorkshopCode(val, item) {
|
|
|
+ this.positionInfo.workshopName = item?.name;
|
|
|
+ // 重置
|
|
|
+ this.options.workshopCode = [];
|
|
|
+ this.options.lineCode = [];
|
|
|
+ // 获取产线
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // this.$refs.FactoryLineSelectRef.getList();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ hanldlineCodeCode(val, item) {
|
|
|
+ this.positionInfo.lineName = item?.name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+ ::v-deep .descriptions {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ ::v-deep .el-descriptions__table tbody:nth-child(4) {
|
|
|
+ .el-descriptions-row {
|
|
|
+ .el-descriptions-item__cell:last-child {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .baseinfo-container .basic-details-title {
|
|
|
+ font-size: 16px;
|
|
|
+ margin: 15px 0;
|
|
|
+ }
|
|
|
+ .upload-container {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ .file-list {
|
|
|
+ margin-left: 50px;
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .equipment-container {
|
|
|
+ // .content {
|
|
|
+ // padding: 0 20px;
|
|
|
+ // }
|
|
|
+ .label-none {
|
|
|
+ .el-form-item__content {
|
|
|
+ margin-left: 0 !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .sbwz {
|
|
|
+ .item {
|
|
|
+ width: 120px !important;
|
|
|
+ }
|
|
|
+ .item + .item {
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ .item-input {
|
|
|
+ width: 350px !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .input {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .kzzd {
|
|
|
+ width: 500px;
|
|
|
+ .add-col {
|
|
|
+ display: flex;
|
|
|
+ .col-input {
|
|
|
+ & + .col-input {
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .del {
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ::v-deep .el-descriptions {
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 0px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|