| | |
| | | <template> |
| | | <el-dialog v-model="dialogVisible" :fullscreen="full" :before-close="resetForm" draggable :title="titles" width="60%"> |
| | | <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" draggable :title="titles" width="60%"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-form :model="form" :disabled="disabled" label-width="120px" class="formType"> |
| | | <el-form-item label="装置设施名称" size="default"> |
| | | <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px" class="formType"> |
| | | <el-form-item label="装置设施名称" size="default" prop="qName"> |
| | | <el-input v-model="form.qName" placeholder="请填写装置设施名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="装置设施位号" size="default"> |
| | | <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" /> |
| | | <el-form-item label="装置设施位号" size="default" prop="positionNum"> |
| | | <el-input disabled v-model="form.positionNum" placeholder="请填写装置设施位号" /> |
| | | </el-form-item> |
| | | <el-form-item label="装置设施用途" size="default"> |
| | | <el-form-item label="装置设施用途" size="default" prop="qUsage"> |
| | | <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" /> |
| | | </el-form-item> |
| | | <el-form-item label="装置设施型号" size="default"> |
| | | <el-form-item label="装置设施型号" size="default" prop="model"> |
| | | <el-input v-model="form.model" placeholder="请填写装置设施型号" /> |
| | | </el-form-item> |
| | | <el-form-item label="类型/类别外键" size="default"> |
| | | <el-input v-model="form.equipmentTypeId" placeholder="请选择"> |
| | | <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeName"> |
| | | <el-input v-model="form.equipmentTypeName" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="opencategory"></el-button> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="区域名称" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openRegion"></el-button> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="单位部门" size="default"> |
| | | <el-input v-model="form.name" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openRegion"></el-button> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="单位部门" size="default" prop="departmentId"> |
| | | <el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> |
| | | </el-form-item> |
| | | <el-form-item label="设置部位" size="default"> |
| | | <el-form-item label="设置部位" size="default" prop="setPart"> |
| | | <el-input v-model="form.setPart" placeholder="请填写设置部位" /> |
| | | </el-form-item> |
| | | <el-form-item label="生产日期" size="default"> |
| | | <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="生产日期" size="default" prop="produceTime"> |
| | | <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="使用期限(天)" size="default"> |
| | | <el-form-item label="使用期限(天)" size="default" prop="useEndDay"> |
| | | <el-input v-model="form.useEndDay" placeholder="请填写使用期限" /> |
| | | </el-form-item> |
| | | <el-form-item label="生命周期" size="default"> |
| | | <el-form-item label="生命周期" size="default" prop="lifeCycle"> |
| | | <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="已投用" value="1" /> |
| | | <el-option label="库存中" value="2" /> |
| | | <el-option label="报废" value="3" /> |
| | | <el-option label="已投用" :value="1" /> |
| | | <el-option label="库存中" :value="2" /> |
| | | <el-option label="报废" :value="3" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="投用日期" size="default"> |
| | | <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="投用日期" size="default" prop="useDate"> |
| | | <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="维修状态" size="default"> |
| | | <el-form-item label="维修状态" size="default" prop="repairStatus"> |
| | | <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="维修中" value="1" /> |
| | | <el-option label="已修好" value="2" /> |
| | | <el-option label="维修中" :value="1" /> |
| | | <el-option label="已修好" :value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="停用状态" size="default"> |
| | | <el-form-item label="停用状态" size="default" prop="stopStatus"> |
| | | <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="停用" value="1" /> |
| | | <el-option label="在用" value="2" /> |
| | | <el-option label="维修" value="3" /> |
| | | <el-option label="报废" value="4" /> |
| | | <el-option label="停用" :value="1" /> |
| | | <el-option label="在用" :value="2" /> |
| | | <el-option label="维修" :value="3" /> |
| | | <el-option label="报废" :value="4" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="上次检查日期" size="default"> |
| | | <el-form-item label="上次检查日期" size="default" prop="previousCheckDate"> |
| | | <el-date-picker |
| | | v-model="form.previousCheckDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="上次检测日期" size="default"> |
| | | <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="上次检测日期" size="default" prop="previousTestDate"> |
| | | <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="上次保养日期" size="default"> |
| | | <el-form-item label="上次保养日期" size="default" prop="previousTakecareDate"> |
| | | <el-date-picker |
| | | v-model="form.previousTakecareDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="下次检查日期" size="default"> |
| | | <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="下次检查日期" size="default" prop="nextCheckDate"> |
| | | <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="下次检测日期" size="default"> |
| | | <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="下次检测日期" size="default" prop="nextTestDate"> |
| | | <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="下次保养日期" size="default"> |
| | | <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="下次保养日期" size="default" prop="nextTakecareDate"> |
| | | <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" size="default"> |
| | | <el-input v-model="form.leadingPersonId" placeholder="请选择"> |
| | | <el-form-item label="负责人" size="default" prop="leadingPersonName"> |
| | | <el-input v-model="form.leadingPersonName" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser(0)"></el-button> |
| | | <el-button :icon="Search" @click="openUser(1)"></el-button> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="负责人部门" size="default"> |
| | | <el-form-item label="负责人部门" size="default" prop="leadingPersonDepartmentId"> |
| | | <el-tree-select |
| | | v-model="form.leadingPersonDepartmentId" |
| | | :data="data" |
| | |
| | | placeholder="请选择" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="供应商" size="default"> |
| | | <el-form-item label="供应商" size="default" prop="supplyName"> |
| | | <el-input v-model="form.supplyName" placeholder="请填写供应商" /> |
| | | </el-form-item> |
| | | <el-form-item label="使用说明" size="default"> |
| | | <el-form-item label="使用说明" size="default" prop="useMemo"> |
| | | <el-input v-model="form.useMemo" placeholder="请填写使用说明" /> |
| | | </el-form-item> |
| | | <el-form-item label="是否检查" size="default"> |
| | | <el-form-item label="是否检查" size="default" prop="isNeedCheck"> |
| | | <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="是" value="1" /> |
| | | <el-option label="否" value="2" /> |
| | | <el-option label="是" :value="1" /> |
| | | <el-option label="否" :value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检查周期" size="default"> |
| | | <el-form-item label="检查周期" size="default" prop="checkCycle"> |
| | | <el-input v-model="form.checkCycle" placeholder="请填写检查周期" /> |
| | | </el-form-item> |
| | | <el-form-item label="检查提前提醒" size="default"> |
| | | <el-form-item label="检查提前提醒" size="default" prop="checkWarn"> |
| | | <el-input v-model="form.checkWarn" placeholder="请填写检查提前提醒" /> |
| | | </el-form-item> |
| | | <el-form-item label="是否检测" size="default"> |
| | | <el-form-item label="是否检测" size="default" prop="isNeedTest"> |
| | | <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="是" value="1" /> |
| | | <el-option label="否" value="2" /> |
| | | <el-option label="是" :value="1" /> |
| | | <el-option label="否" :value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检测周期" size="default"> |
| | | <el-form-item label="检测周期" size="default" prop="testCycle"> |
| | | <el-input v-model="form.testCycle" placeholder="请填写检测周期" /> |
| | | </el-form-item> |
| | | <el-form-item label="检测提前提醒" size="default"> |
| | | <el-form-item label="检测提前提醒" size="default" prop="testWarn"> |
| | | <el-input v-model="form.testWarn" placeholder="请填写检测提前提醒" /> |
| | | </el-form-item> |
| | | <el-form-item label="是否保养" size="default"> |
| | | <el-form-item label="是否保养" size="default" prop="isNeedTakecare"> |
| | | <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="是" value="1" /> |
| | | <el-option label="否" value="2" /> |
| | | <el-option label="是" :value="1" /> |
| | | <el-option label="否" :value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检查内容" size="default"> |
| | | <el-form-item label="检查内容" size="default" prop="checkContent"> |
| | | <el-input v-model="form.checkContent" placeholder="请填写检查内容" /> |
| | | </el-form-item> |
| | | <el-form-item label="负责部门" size="default"> |
| | | <el-form-item label="负责部门" size="default" prop="leadingDepartmentId"> |
| | | <el-tree-select v-model="form.leadingDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> |
| | | </el-form-item> |
| | | <el-form-item label="检查指标" size="default"> |
| | | <el-form-item label="检查指标" size="default" prop="checkPoint"> |
| | | <el-input v-model="form.checkPoint" placeholder="请填写检查指标" /> |
| | | </el-form-item> |
| | | <el-form-item label="预警值" size="default"> |
| | | <el-form-item label="预警值" size="default" prop="alertNum"> |
| | | <el-input v-model="form.alertNum" placeholder="请填写预警值" /> |
| | | </el-form-item> |
| | | <el-form-item label="联锁值" size="default"> |
| | | <el-form-item label="联锁值" size="default" prop="lockNum"> |
| | | <el-input v-model="form.lockNum" placeholder="请填写联锁值" /> |
| | | </el-form-item> |
| | | <el-form-item label="停用理由" size="default"> |
| | | <el-form-item label="停用理由" size="default" prop="stopReason"> |
| | | <el-input v-model="form.stopReason" placeholder="请填写停用理由" /> |
| | | </el-form-item> |
| | | <el-form-item label="停用后措施" size="default"> |
| | | <el-form-item label="停用后措施" size="default" prop="afterStopStep"> |
| | | <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" /> |
| | | </el-form-item> |
| | | <el-form-item label="实际停用日期" size="default"> |
| | | <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="实际停用日期" size="default" prop="actualStopDate"> |
| | | <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="停用提交人" size="default"> |
| | | <el-input v-model="form.stopSubmitPersonId" placeholder="请选择"> |
| | | <el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName"> |
| | | <el-input v-model="form.stopSubmitPersonName" placeholder="请选择"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="openUser(1)"></el-button> |
| | | <el-button :icon="Search" @click="openUser(2)"></el-button> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="停用提交日期" size="default"> |
| | | <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | <el-form-item label="停用提交日期" size="default" prop="stopSubmitDate"> |
| | | <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> |
| | | </el-form-item> |
| | | <el-form-item label="恢复理由" size="default"> |
| | | <el-form-item label="恢复理由" size="default" prop="recoveryReason"> |
| | | <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" /> |
| | | </el-form-item> |
| | | <el-form-item label="恢复填报日期" size="default"> |
| | | <el-form-item label="恢复填报日期" size="default" prop="recoverySubmitDate"> |
| | | <el-date-picker |
| | | v-model="form.recoverySubmitDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="实际恢复日期" size="default"> |
| | | <el-form-item label="实际恢复日期" size="default" prop="actualRecoveryDate"> |
| | | <el-date-picker |
| | | v-model="form.actualRecoveryDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="报废理由" size="default"> |
| | | <el-form-item label="报废理由" size="default" prop="destoryReason"> |
| | | <el-input v-model="form.destoryReason" placeholder="请填写报废理由" /> |
| | | </el-form-item> |
| | | <el-form-item label="报废填报日期" size="default"> |
| | | <el-form-item label="报废填报日期" size="default" prop="destorySubmitDate"> |
| | | <el-date-picker |
| | | v-model="form.destorySubmitDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="实际报废日期" size="default"> |
| | | <el-form-item label="实际报废日期" size="default" prop="actualDestoryDate"> |
| | | <el-date-picker |
| | | v-model="form.actualDestoryDate" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="保养周期" size="default" prop="takecareCycle "> |
| | | <el-input v-model="form.takecareCycle" placeholder="请填写保养周期" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-tabs v-model="activeName" class="demo-tabs"> |
| | | <el-tab-pane label="设备保养" name="first"> |
| | | <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</el-button> |
| | | <el-button type="primary" size="default" :disabled="disabled" @click="openMaintenance('新增', '')">新增</el-button> |
| | | <el-table :data="form.takecareDetailList" style="width: 100%"> |
| | | <el-table-column align="center" prop="takecareMemo" label="保养情况" /> |
| | | <el-table-column align="center" prop="leadingPersonId" label="保养负责人" /> |
| | | <el-table-column align="center" prop="leadingPersonName" label="保养负责人" /> |
| | | <el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" /> |
| | | <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" /> |
| | | <el-table-column align="center" prop="leadingPersonDepartmentName" label="保养负责人单位" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备检测" name="second"> |
| | | <el-button type="primary" size="default" @click="openDetect('新增', '')">新增</el-button> |
| | | <el-button type="primary" size="default" :disabled="disabled" @click="openDetect('新增', '')">新增</el-button> |
| | | <el-table :data="form.testDetailList" style="width: 100%"> |
| | | <el-table-column align="center" prop="testPersonId" label="检测人" /> |
| | | <el-table-column align="center" prop="testPersonName" label="检测人" /> |
| | | <el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" /> |
| | | <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" /> |
| | | <el-table-column align="center" prop="testPersonDepartmentName" label="检测人单位" /> |
| | | <el-table-column align="center" prop="testMemo" label="检测内容" /> |
| | | <el-table-column align="center" prop="testResult" label="检测结果" /> |
| | | <el-table-column align="center" label="检测结果" > |
| | | <template #default="scope"> |
| | | <span v-if="scope.row.testResult==1">成功</span> |
| | | <span v-if="scope.row.testResult==2">失败</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="testStatus" label="检测状态" /> |
| | | <el-table-column align="center" label="操作"> |
| | | <template #default="scope"> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备维修" name="third"> |
| | | <el-button type="primary" size="default" @click="openRepair('新增', '')">新增</el-button> |
| | | <el-button type="primary" size="default" :disabled="disabled" @click="openRepair('新增', '')">新增</el-button> |
| | | <el-table :data="form.repaireDetailList" style="width: 100%"> |
| | | <el-table-column align="center" prop="exceptionInfo" label="设施异常项" /> |
| | | <el-table-column align="center" prop="repairStatus" label="维修状态" /> |
| | | <el-table-column align="center" label="维修状态"> |
| | | <template #default="scope"> |
| | | <span v-if="scope.row.repairStatus==1">维修中</span> |
| | | <span v-if="scope.row.repairStatus==2">已修好</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="repairMemo" label="维修情况" /> |
| | | <el-table-column align="center" prop="repairPersonId" label="维修负责人" /> |
| | | <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" /> |
| | | <el-table-column align="center" prop="repairPersonName" label="维修负责人" /> |
| | | <el-table-column align="center" prop="repairPersonDepartmentName" label="维修负责人单位" /> |
| | | <el-table-column align="center" prop="repairStartDate" :formatter="timeDate" label="维修开始日期" /> |
| | | <el-table-column align="center" prop="repairEndDate" :formatter="timeDate" label="维修结束日期" /> |
| | | <el-table-column align="center" label="操作"> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="检查标准设置" name="fourth"> |
| | | <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</el-button> |
| | | <el-button type="primary" size="default" :disabled="disabled" @click="openStandard('新增', '')">新增</el-button> |
| | | <el-table :data="form.checkStandardeDetailList" style="width: 100%"> |
| | | <el-table-column align="center" prop="indexNum" label="序号" width="75" /> |
| | | <el-table-column align="center" prop="checkContent" label="检查内容" /> |
| | |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> |
| | | <el-upload |
| | | v-model:file-list="fileList" |
| | | class="upload-demo" |
| | | action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" |
| | | multiple |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | :limit="3" |
| | | :on-exceed="handleExceed" |
| | | > |
| | | <el-button type="primary">点击上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip"></div> |
| | | </template> |
| | | </el-upload> |
| | | <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" |
| | | @successUploader="successUploader"></uploaderFile> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="resetForm">关闭</el-button> |
| | | <el-button type="primary" @click="submitForm">确定</el-button> |
| | | <el-button @click="resetForm(ruleFormRef)">关闭</el-button> |
| | | <el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <categoryDailog ref="categoryShow"></categoryDailog> |
| | | <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog> |
| | | <regionDailog ref="regionShow"></regionDailog> |
| | | <DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser> |
| | | <maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog> |
| | |
| | | import maintenanceDailog from './maintenanceDailog.vue'; |
| | | import detectDailog from './detectDailog.vue'; |
| | | import repairDailog from './repairDailog.vue'; |
| | | import {timeDate} from '/@/assets/index.ts' |
| | | import { timeDate } from '/@/assets/index.ts'; |
| | | import standardDailog from './standardDailog.vue'; |
| | | import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus'; |
| | | import type { UploadProps, UploadUserFile } from 'element-plus'; |
| | | import { facilityManagementApi } from '/@/api/facilityManagement'; |
| | | import { goalManagementApi } from '/@/api/goalManagement'; |
| | | import { number } from 'echarts'; |
| | | import { deepClone } from '/@/utils/other'; |
| | | import uploaderFile from '/@/components/uploaderFile/index.vue'; |
| | | export default defineComponent({ |
| | | components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, |
| | | components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, |
| | | detectDailog, repairDailog, standardDailog,uploaderFile }, |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref(false); |
| | | const ruleFormRef = ref<FormInstance>(); |
| | | const form = ref({ |
| | | supplyName: '', |
| | | |
| | |
| | | repairStatus: '', |
| | | |
| | | takecareStardardeDetailList: [ |
| | | { |
| | | filePath: '123', |
| | | }, |
| | | ], |
| | | |
| | | nextCheckDate: '', |
| | |
| | | checkPoint: '', |
| | | |
| | | leadingPersonId: '', |
| | | leadingPersonName: '', |
| | | |
| | | qName: '', |
| | | |
| | |
| | | |
| | | repaireDetailList: [], |
| | | |
| | | equipmentTypeId: 1, |
| | | equipmentTypeId: '', |
| | | |
| | | useDate: '', |
| | | |
| | | recoverySubmitDate: '', |
| | | takecareCycle:"", |
| | | |
| | | lockNum: '', |
| | | |
| | | stopSubmitPersonId: '', |
| | | |
| | | stopSubmitPersonName: '', |
| | | afterStopStep: '', |
| | | |
| | | lifeCycle: '', |
| | |
| | | delTestDetails: '', |
| | | }); |
| | | const titles = ref(); |
| | | const titleT = ref(); |
| | | const disabled = ref(false); |
| | | const Dailogtype = ref(false); |
| | | const openDailog = (title: string, type: boolean, id: number, num: any) => { |
| | | dialogVisible.value = true; |
| | | titleT.value = title; |
| | | department(); |
| | | Dailogtype.value = type; |
| | | if (num == 0) { |
| | |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | form.value = res.data.data; |
| | | |
| | | //初始化日期格式 |
| | | form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); |
| | | form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); |
| | | form.value.actualStopDate = timeC(form.value.actualStopDate); |
| | | form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); |
| | | form.value.nextCheckDate = timeC(form.value.nextCheckDate); |
| | | form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); |
| | | form.value.nextTestDate = timeC(form.value.nextTestDate); |
| | | form.value.previousCheckDate = timeC(form.value.previousCheckDate); |
| | | form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); |
| | | form.value.previousTestDate = timeC(form.value.previousTestDate); |
| | | form.value.produceTime = timeC(form.value.produceTime); |
| | | form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); |
| | | form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); |
| | | form.value.useDate = timeC(form.value.useDate); |
| | | |
| | | fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) |
| | | initFileListData() |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | const timeC = (timestamp: any) => { |
| | | let a = new Date(timestamp).getTime(); |
| | | const date = new Date(a); |
| | | const Y = date.getFullYear() + '-'; |
| | | const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; |
| | | const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; |
| | | const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; |
| | | const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); |
| | | const s = date.getSeconds(); // 秒 |
| | | const dateString = Y + M + D + h + m +`:${s}`; |
| | | // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 |
| | | return dateString; |
| | | }; |
| | | const initFileListData = async () => { |
| | | for(var a = 0;a<fileList.value.length;a++){ |
| | | fileList.value[a].name = fileList.value[a].filePath |
| | | } |
| | | } |
| | | // 上传成功组装数据 |
| | | const successUploader = (list) =>{ |
| | | fileList.value = list |
| | | const formFileList = [] |
| | | for(var a = 0;a<fileList.value.length;a++){ |
| | | formFileList.push( |
| | | { |
| | | filePath:fileList.value[a].fileName |
| | | } |
| | | ) |
| | | } |
| | | form.value.takecareStardardeDetailList = formFileList |
| | | } |
| | | const rules = reactive<FormRules>({ |
| | | qName: [], |
| | | positionNum: [], |
| | | qUsage: [], |
| | | model: [], |
| | | equipmentTypeId: [], |
| | | equipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }], |
| | | departmentId: [], |
| | | setPart: [], |
| | | produceTime: [], |
| | | useEndDay: [], |
| | | lifeCycle: [], |
| | | useDate: [], |
| | | repairStatus: [], |
| | | stopStatus: [], |
| | | previousCheckDate: [], |
| | | previousTestDate: [], |
| | | previousTakecareDate: [], |
| | | nextCheckDate: [], |
| | | nextTestDate: [], |
| | | nextTakecareDate: [], |
| | | leadingPersonName: [], |
| | | leadingPersonDepartmentId: [], |
| | | supplyName: [], |
| | | useMemo: [], |
| | | isNeedCheck: [], |
| | | checkCycle: [], |
| | | checkWarn: [], |
| | | isNeedTest: [], |
| | | testCycle: [], |
| | | testWarn: [], |
| | | isNeedTakecare: [], |
| | | checkContent: [], |
| | | leadingDepartmentId: [], |
| | | checkPoint: [], |
| | | alertNum: [], |
| | | lockNum: [], |
| | | stopReason: [], |
| | | afterStopStep: [], |
| | | actualStopDate: [], |
| | | stopSubmitPersonName: [], |
| | | stopSubmitDate: [], |
| | | recoveryReason: [], |
| | | recoverySubmitDate: [], |
| | | actualRecoveryDate: [], |
| | | destoryReason: [], |
| | | destorySubmitDate: [], |
| | | actualDestoryDate: [], |
| | | takecareCycle :[] |
| | | }); |
| | | // 提交 |
| | | const submitForm = () => { |
| | | form.value.delTakecareDetails = deleteAId.value.toString(); |
| | | form.value.delTestDetails = deleteBId.value.toString(); |
| | | form.value.delRepaireDetails = deleteCId.value.toString(); |
| | | form.value.delCheckStandardeDetails = deleteDId.value.toString(); |
| | | dialogVisible.value = false; |
| | | facilityManagementApi() |
| | | .getequipmentInfoAddOrUpdate(form.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | emit('navAddorUpdata'); |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | const submitForm = async (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return; |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | form.value.delTakecareDetails = deleteAId.value.toString(); |
| | | form.value.delTestDetails = deleteBId.value.toString(); |
| | | form.value.delRepaireDetails = deleteCId.value.toString(); |
| | | form.value.delCheckStandardeDetails = deleteDId.value.toString(); |
| | | dialogVisible.value = false; |
| | | delete form.value.equipmentTypeName; |
| | | delete form.value.departmentName; |
| | | delete form.value.leadingPersonDepartmentName; |
| | | delete form.value.leadingDepartmentName; |
| | | if (titleT.value == '新建') { |
| | | delete form.value.id; |
| | | } |
| | | }); |
| | | form.value = { |
| | | supplyName: '', |
| | | |
| | | nextTestDate: '', |
| | | |
| | | qUsage: '', |
| | | |
| | | departmentId: '', |
| | | |
| | | produceTime: '', |
| | | |
| | | actualStopDate: '', |
| | | |
| | | takecareDetailList: [], |
| | | |
| | | infoType: '', |
| | | |
| | | leadingDepartmentId: '', |
| | | |
| | | useEndDay: '', |
| | | |
| | | previousTakecareDate: '', |
| | | |
| | | previousCheckDate: '', |
| | | |
| | | model: '', |
| | | |
| | | stopStatus: '', |
| | | |
| | | testWarn: '', |
| | | |
| | | stopSubmitDate: '', |
| | | |
| | | repairStatus: '', |
| | | |
| | | takecareStardardeDetailList: [ |
| | | { |
| | | filePath: '123', |
| | | }, |
| | | ], |
| | | |
| | | nextCheckDate: '', |
| | | |
| | | checkCycle: '', |
| | | |
| | | checkPoint: '', |
| | | |
| | | leadingPersonId: '', |
| | | |
| | | qName: '', |
| | | |
| | | nextTakecareDate: '', |
| | | |
| | | setPart: '', |
| | | |
| | | checkStandardeDetailList: [], |
| | | |
| | | actualDestoryDate: '', |
| | | |
| | | isNeedTest: '', |
| | | |
| | | alertNum: '', |
| | | |
| | | checkContent: '', |
| | | |
| | | useMemo: '', |
| | | |
| | | previousTestDate: '', |
| | | |
| | | isNeedTakecare: '', |
| | | |
| | | destoryReason: '', |
| | | |
| | | checkDetailList: [], |
| | | |
| | | positionNum: '', |
| | | |
| | | testCycle: '', |
| | | |
| | | recoveryReason: '', |
| | | |
| | | isNeedCheck: '', |
| | | |
| | | actualRecoveryDate: '', |
| | | |
| | | leadingPersonDepartmentId: '', |
| | | |
| | | stopReason: '', |
| | | |
| | | destorySubmitDate: '', |
| | | |
| | | testDetailList: [], |
| | | |
| | | checkWarn: '', |
| | | |
| | | repaireDetailList: [], |
| | | |
| | | equipmentTypeId: 1, |
| | | |
| | | useDate: '', |
| | | |
| | | recoverySubmitDate: '', |
| | | |
| | | lockNum: '', |
| | | |
| | | stopSubmitPersonId: '', |
| | | |
| | | afterStopStep: '', |
| | | |
| | | lifeCycle: '', |
| | | |
| | | delCheckStandardeDetails: '', |
| | | |
| | | delTakecareStardardeDetails: '', |
| | | |
| | | delTakecareDetails: '', |
| | | |
| | | delRepaireDetails: '', |
| | | |
| | | delTestDetails: '', |
| | | }; |
| | | facilityManagementApi() |
| | | .getequipmentInfoAddOrUpdate(form.value) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ElMessage({ |
| | | message: res.data.msg, |
| | | type: 'success', |
| | | }); |
| | | emit('navAddorUpdata'); |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | form.value.takecareDetailList = []; |
| | | form.value.testDetailList = []; |
| | | form.value.repaireDetailList = []; |
| | | form.value.checkStandardeDetailList = []; |
| | | }; |
| | | // 取消 |
| | | const resetForm = () => { |
| | | const resetForm = (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return; |
| | | formEl.resetFields(); |
| | | form.value.takecareDetailList = []; |
| | | form.value.testDetailList = []; |
| | | form.value.repaireDetailList = []; |
| | | form.value.checkStandardeDetailList = []; |
| | | fileList.value = [] |
| | | dialogVisible.value = false; |
| | | form.value = { |
| | | supplyName: '', |
| | | |
| | | nextTestDate: '', |
| | | |
| | | qUsage: '', |
| | | |
| | | departmentId: '', |
| | | |
| | | produceTime: '', |
| | | |
| | | actualStopDate: '', |
| | | |
| | | takecareDetailList: [], |
| | | |
| | | infoType: '', |
| | | |
| | | leadingDepartmentId: '', |
| | | |
| | | useEndDay: '', |
| | | |
| | | previousTakecareDate: '', |
| | | |
| | | previousCheckDate: '', |
| | | |
| | | model: '', |
| | | |
| | | stopStatus: '', |
| | | |
| | | testWarn: '', |
| | | |
| | | stopSubmitDate: '', |
| | | |
| | | repairStatus: '', |
| | | |
| | | takecareStardardeDetailList: [ |
| | | { |
| | | filePath: '123', |
| | | }, |
| | | ], |
| | | |
| | | nextCheckDate: '', |
| | | |
| | | checkCycle: '', |
| | | |
| | | checkPoint: '', |
| | | |
| | | leadingPersonId: '', |
| | | |
| | | qName: '', |
| | | |
| | | nextTakecareDate: '', |
| | | |
| | | setPart: '', |
| | | |
| | | checkStandardeDetailList: [], |
| | | |
| | | actualDestoryDate: '', |
| | | |
| | | isNeedTest: '', |
| | | |
| | | alertNum: '', |
| | | |
| | | checkContent: '', |
| | | |
| | | useMemo: '', |
| | | |
| | | previousTestDate: '', |
| | | |
| | | isNeedTakecare: '', |
| | | |
| | | destoryReason: '', |
| | | |
| | | checkDetailList: [], |
| | | |
| | | positionNum: '', |
| | | |
| | | testCycle: '', |
| | | |
| | | recoveryReason: '', |
| | | |
| | | isNeedCheck: '', |
| | | |
| | | actualRecoveryDate: '', |
| | | |
| | | leadingPersonDepartmentId: '', |
| | | |
| | | stopReason: '', |
| | | |
| | | destorySubmitDate: '', |
| | | |
| | | testDetailList: [], |
| | | |
| | | checkWarn: '', |
| | | |
| | | repaireDetailList: [], |
| | | |
| | | equipmentTypeId: 1, |
| | | |
| | | useDate: '', |
| | | |
| | | recoverySubmitDate: '', |
| | | |
| | | lockNum: '', |
| | | |
| | | stopSubmitPersonId: '', |
| | | |
| | | afterStopStep: '', |
| | | |
| | | lifeCycle: '', |
| | | |
| | | delCheckStandardeDetails: '', |
| | | |
| | | delTakecareStardardeDetails: '', |
| | | |
| | | delTakecareDetails: '', |
| | | |
| | | delRepaireDetails: '', |
| | | |
| | | delTestDetails: '', |
| | | }; |
| | | }; |
| | | const activeName = ref('first'); |
| | | const index = ref<any>(); |
| | |
| | | }; |
| | | const maintenanceShow = ref(); |
| | | const openMaintenance = (title: string, data: any) => { |
| | | index.value = form.value.takecareDetailList.indexOf(data); |
| | | index.value = form.value.takecareDetailList.indexOf(data); |
| | | maintenanceShow.value.openDailog(title, data); |
| | | }; |
| | | const detectShow = ref(); |
| | |
| | | standardShow.value.openDailog(title, data); |
| | | }; |
| | | // 上传 |
| | | const fileList = ref<UploadUserFile[]>([ |
| | | { |
| | | name: 'element-plus-logo.svg', |
| | | url: 'https://element-plus.org/images/element-plus-logo.svg', |
| | | }, |
| | | { |
| | | name: 'element-plus-logo2.svg', |
| | | url: 'https://element-plus.org/images/element-plus-logo.svg', |
| | | }, |
| | | ]); |
| | | const fileList = ref([]); |
| | | |
| | | const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { |
| | | console.log(file, uploadFiles); |
| | |
| | | deleteDId.value.push(tag.id); |
| | | }; |
| | | // 回传 |
| | | const main = (val: any) => { |
| | | const main = (data: any) => { |
| | | const val = deepClone(data); |
| | | if (index.value == -1) { |
| | | form.value.takecareDetailList.push(val); |
| | | } else { |
| | | form.value.takecareDetailList[index.value] = val; |
| | | } |
| | | }; |
| | | const delect = (val: any) => { |
| | | const delect = (data: any) => { |
| | | const val = deepClone(data); |
| | | if (index.value == -1) { |
| | | form.value.testDetailList.push(val); |
| | | } else { |
| | | } else { |
| | | form.value.testDetailList[index.value] = val; |
| | | } |
| | | }; |
| | | const Repair = (val: any) => { |
| | | const Repair = (data: any) => { |
| | | const val = deepClone(data); |
| | | if (index.value == -1) { |
| | | form.value.repaireDetailList.push(val); |
| | | } else { |
| | | form.value.repaireDetailList[index.value] = val; |
| | | } |
| | | }; |
| | | const Stand = (val: any) => { |
| | | const Stand = (data: any) => { |
| | | const val = deepClone(data); |
| | | if (index.value == -1) { |
| | | form.value.checkStandardeDetailList.push(val); |
| | | } else { |
| | |
| | | }; |
| | | const userId = (val: any, type: number) => { |
| | | console.log(val, type); |
| | | if (type == 0) { |
| | | if (type == 1) { |
| | | form.value.leadingPersonId = val.uid; |
| | | } else if (type == 1) { |
| | | form.value.leadingPersonName = val.realName; |
| | | } else if (type == 2) { |
| | | form.value.stopSubmitPersonId = val.uid; |
| | | form.value.stopSubmitPersonName = val.realName; |
| | | } |
| | | }; |
| | | const Tid = (data: any) => { |
| | | form.value.equipmentTypeId = data.id; |
| | | form.value.equipmentTypeName = data.typeName; |
| | | form.value.positionNum = data.sortNum; |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | |
| | | }; |
| | | const data = ref(); |
| | | return { |
| | | Tid, |
| | | deepClone, |
| | | rules, |
| | | userId, |
| | | department, |
| | | propse, |
| | |
| | | full, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | timeDate, |
| | | timeDate, |
| | | ruleFormRef, |
| | | successUploader, |
| | | initFileListData, |
| | | timeC |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped> |
| | | .el-form-item { |
| | | width: 400px; |
| | | width: 25vw; |
| | | } |
| | | .formType:after { |
| | | content: ''; |
| | |
| | | .el-form .el-form-item:last-of-type { |
| | | margin-bottom: 22px !important; |
| | | } |
| | | </style> |
| | | </style> |