|
@@ -1,29 +1,29 @@
|
|
|
<template>
|
|
|
<div class="mainContentBox">
|
|
|
<avue-crud
|
|
|
- ref="crudRef"
|
|
|
- v-model="form"
|
|
|
- v-model:page="page"
|
|
|
- v-model:search="search"
|
|
|
- :data="data"
|
|
|
- :option="option"
|
|
|
- @row-save="createRow"
|
|
|
- @row-update="updateRow"
|
|
|
- @row-del="deleteRow"
|
|
|
- @search-change="searchChange"
|
|
|
- @search-reset="resetChange"
|
|
|
- @size-change="dataList"
|
|
|
- @current-change="dataList"
|
|
|
- @selection-change="selectionChange"
|
|
|
+ ref="crudRef"
|
|
|
+ v-model="form"
|
|
|
+ v-model:page="page"
|
|
|
+ v-model:search="search"
|
|
|
+ :data="data"
|
|
|
+ :option="option"
|
|
|
+ @row-save="createRow"
|
|
|
+ @row-update="updateRow"
|
|
|
+ @row-del="deleteRow"
|
|
|
+ @search-change="searchChange"
|
|
|
+ @search-reset="resetChange"
|
|
|
+ @size-change="dataList"
|
|
|
+ @current-change="dataList"
|
|
|
+ @selection-change="selectionChange"
|
|
|
>
|
|
|
<template #menu-left="{ size }">
|
|
|
<el-button
|
|
|
- v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_del]"
|
|
|
- :disabled="toDeleteIds.length < 1"
|
|
|
- :size="size"
|
|
|
- icon="el-icon-delete"
|
|
|
- type="danger"
|
|
|
- @click="multipleDelete"
|
|
|
+ v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_del]"
|
|
|
+ :disabled="toDeleteIds.length < 1"
|
|
|
+ :size="size"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ type="danger"
|
|
|
+ @click="multipleDelete"
|
|
|
>删除
|
|
|
</el-button
|
|
|
>
|
|
@@ -43,20 +43,20 @@
|
|
|
</template>
|
|
|
</avue-crud>
|
|
|
<el-dialog
|
|
|
- v-model="dialog.visible"
|
|
|
- :title="dialog.title"
|
|
|
- width="850px"
|
|
|
- @close="dialog.visible = false"
|
|
|
+ v-model="dialog.visible"
|
|
|
+ :title="dialog.title"
|
|
|
+ width="850px"
|
|
|
+ @close="dialog.visible = false"
|
|
|
>
|
|
|
<device-page @deviceInfo="deviceInfo"/>
|
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
|
- v-model="dialog1.visible"
|
|
|
- :title="dialog1.title"
|
|
|
- height="80%"
|
|
|
- width="750px"
|
|
|
- @close="dialog1.visible = false"
|
|
|
+ v-model="dialog1.visible"
|
|
|
+ :title="dialog1.title"
|
|
|
+ height="80%"
|
|
|
+ width="750px"
|
|
|
+ @close="dialog1.visible = false"
|
|
|
>
|
|
|
<el-timeline style="max-width: 500px; margin-left: 100px">
|
|
|
<el-timeline-item center placement="top" type="success">
|
|
@@ -64,70 +64,70 @@
|
|
|
<h4>设备报故</h4>
|
|
|
<p>设备编号: {{ maintenanceInfo.deviceNo }}</p>
|
|
|
<p>设备名称: {{ maintenanceInfo.deviceName }}</p>
|
|
|
- <p>报故人员: {{ maintenanceInfo.creator }}</p>
|
|
|
+ <p>报故人员: {{ getLabelByValue('user_name_list', maintenanceInfo.creator) }}</p>
|
|
|
<p>故障描述: {{ maintenanceInfo.bugRemark }}</p>
|
|
|
<p>报故时间: {{ maintenanceInfo.created }}</p>
|
|
|
</el-card>
|
|
|
</el-timeline-item>
|
|
|
<el-timeline-item
|
|
|
- :type="maintenanceInfo.state === 0 ? 'primary' : 'success'"
|
|
|
- center
|
|
|
- placement="top"
|
|
|
+ :type="maintenanceInfo.state === 0 ? 'primary' : 'success'"
|
|
|
+ center
|
|
|
+ placement="top"
|
|
|
>
|
|
|
<el-card v-if="viewPage">
|
|
|
<h4>设备维修</h4>
|
|
|
- <p>维修人员: {{ maintenanceInfo.handleUser }}</p>
|
|
|
+ <p>维修人员: {{ getLabelByValue('user_name_list', maintenanceInfo.handleUser) }}</p>
|
|
|
<p>维修内容: {{ maintenanceInfo.handleContent }}</p>
|
|
|
<p>
|
|
|
处理结果:
|
|
|
{{
|
|
|
maintenanceInfo.handleUser
|
|
|
- ? maintenanceInfo.handleResult === 0
|
|
|
- ? "可正常运行"
|
|
|
- : "报废"
|
|
|
- : ""
|
|
|
+ ? maintenanceInfo.handleResult === 0
|
|
|
+ ? "可正常运行"
|
|
|
+ : "报废"
|
|
|
+ : ""
|
|
|
}}
|
|
|
</p>
|
|
|
</el-card>
|
|
|
<el-card v-if="!viewPage">
|
|
|
<h4>设备维修</h4>
|
|
|
<el-form
|
|
|
- ref="maintenanceInfoForm1"
|
|
|
- :model="maintenanceInfo"
|
|
|
- :rules="rules1"
|
|
|
- label-width="auto"
|
|
|
- style="max-width: 400px"
|
|
|
+ ref="maintenanceInfoForm1"
|
|
|
+ :model="maintenanceInfo"
|
|
|
+ :rules="rules1"
|
|
|
+ label-width="auto"
|
|
|
+ style="max-width: 400px"
|
|
|
>
|
|
|
<el-form-item label="维修人员" prop="handleUser">
|
|
|
<!-- <el-input :disabled="maintenanceInfo.state !== 0" v-model="maintenanceInfo.handleUser" />-->
|
|
|
<el-select
|
|
|
- v-model="maintenanceInfo.handleUser"
|
|
|
- :disabled="maintenanceInfo.state !== 0"
|
|
|
- filterable
|
|
|
- placeholder="维修人员"
|
|
|
- size="large"
|
|
|
+ v-model="maintenanceInfo.handleUser"
|
|
|
+ :disabled="maintenanceInfo.state !== 0"
|
|
|
+ filterable
|
|
|
+ placeholder="维修人员"
|
|
|
+ size="large"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in userList"
|
|
|
- :key="item.userName"
|
|
|
- :label="item.userName"
|
|
|
- :value="item.userName"
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.userName"
|
|
|
+ :label="item.nickName"
|
|
|
+ :value="item.userName"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="维修内容" prop="handleContent">
|
|
|
<el-input
|
|
|
- v-model="maintenanceInfo.handleContent"
|
|
|
- :disabled="maintenanceInfo.state !== 0"
|
|
|
- :rows="2"
|
|
|
- type="textarea"
|
|
|
+ v-model="maintenanceInfo.handleContent"
|
|
|
+ :disabled="maintenanceInfo.state !== 0"
|
|
|
+ :rows="2"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="处理结果">
|
|
|
<el-radio-group
|
|
|
- v-model="maintenanceInfo.handleResult"
|
|
|
- :disabled="maintenanceInfo.state !== 0"
|
|
|
- class="ml-4"
|
|
|
+ v-model="maintenanceInfo.handleResult"
|
|
|
+ :disabled="maintenanceInfo.state !== 0"
|
|
|
+ class="ml-4"
|
|
|
>
|
|
|
<el-radio :value="0">可正常运行</el-radio>
|
|
|
<el-radio :value="1">报废</el-radio>
|
|
@@ -135,11 +135,11 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left: 45%">
|
|
|
<el-button
|
|
|
- v-if="maintenanceInfo.state === 0"
|
|
|
- v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_repair]"
|
|
|
- :disabled="maintenanceInfo.state !== 0"
|
|
|
- type="primary"
|
|
|
- @click="maintenanceSubmit1"
|
|
|
+ v-if="maintenanceInfo.state === 0"
|
|
|
+ v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_repair]"
|
|
|
+ :disabled="maintenanceInfo.state !== 0"
|
|
|
+ type="primary"
|
|
|
+ @click="maintenanceSubmit1"
|
|
|
>维修
|
|
|
</el-button
|
|
|
>
|
|
@@ -148,62 +148,62 @@
|
|
|
</el-card>
|
|
|
</el-timeline-item>
|
|
|
<el-timeline-item
|
|
|
- :type="
|
|
|
+ :type="
|
|
|
maintenanceInfo.state === 1
|
|
|
? 'primary'
|
|
|
: maintenanceInfo.state === 0
|
|
|
? 'info'
|
|
|
: 'success'
|
|
|
"
|
|
|
- center
|
|
|
- placement="top"
|
|
|
+ center
|
|
|
+ placement="top"
|
|
|
>
|
|
|
<el-card v-if="viewPage">
|
|
|
<h4>设备审批</h4>
|
|
|
- <p>审批人员: {{ maintenanceInfo.auditUser }}</p>
|
|
|
+ <p>审批人员: {{ getLabelByValue('user_name_list', maintenanceInfo.auditUser) }}</p>
|
|
|
<p>
|
|
|
审批结果:
|
|
|
{{
|
|
|
maintenanceInfo.auditUser
|
|
|
- ? maintenanceInfo.auditResult === 0
|
|
|
- ? "通过"
|
|
|
- : "不通过"
|
|
|
- : ""
|
|
|
+ ? maintenanceInfo.auditResult === 0
|
|
|
+ ? "通过"
|
|
|
+ : "不通过"
|
|
|
+ : ""
|
|
|
}}
|
|
|
</p>
|
|
|
</el-card>
|
|
|
<el-card v-if="!viewPage">
|
|
|
<h4>设备审批</h4>
|
|
|
<el-form
|
|
|
- v-if="maintenanceInfo.state >= 1"
|
|
|
- ref="maintenanceInfoForm2"
|
|
|
- :model="maintenanceInfo"
|
|
|
- :rules="rules2"
|
|
|
- label-width="auto"
|
|
|
- style="max-width: 400px"
|
|
|
+ v-if="maintenanceInfo.state >= 1"
|
|
|
+ ref="maintenanceInfoForm2"
|
|
|
+ :model="maintenanceInfo"
|
|
|
+ :rules="rules2"
|
|
|
+ label-width="auto"
|
|
|
+ style="max-width: 400px"
|
|
|
>
|
|
|
<el-form-item label="审批人员" prop="auditUser">
|
|
|
<!-- <el-input :disabled="maintenanceInfo.state !== 1 && readonly" v-model="maintenanceInfo.auditUser" />-->
|
|
|
<el-select
|
|
|
- v-model="maintenanceInfo.auditUser"
|
|
|
- :disabled="maintenanceInfo.state !== 1 && readonly"
|
|
|
- filterable
|
|
|
- placeholder="审批人员"
|
|
|
- size="large"
|
|
|
+ v-model="maintenanceInfo.auditUser"
|
|
|
+ :disabled="maintenanceInfo.state !== 1 && readonly"
|
|
|
+ filterable
|
|
|
+ placeholder="审批人员"
|
|
|
+ size="large"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in userList"
|
|
|
- :key="item.userName"
|
|
|
- :label="item.userName"
|
|
|
- :value="item.userName"
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.userName"
|
|
|
+ :label="item.nickName"
|
|
|
+ :value="item.userName"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="审批结果">
|
|
|
<el-radio-group
|
|
|
- v-model="maintenanceInfo.auditResult"
|
|
|
- :disabled="maintenanceInfo.state !== 1 && readonly"
|
|
|
- class="ml-4"
|
|
|
+ v-model="maintenanceInfo.auditResult"
|
|
|
+ :disabled="maintenanceInfo.state !== 1 && readonly"
|
|
|
+ class="ml-4"
|
|
|
>
|
|
|
<el-radio :value="0">通过</el-radio>
|
|
|
<el-radio :value="1">不通过</el-radio>
|
|
@@ -211,11 +211,11 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left: 45%">
|
|
|
<el-button
|
|
|
- v-if="maintenanceInfo.state === 1"
|
|
|
- v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_audit]"
|
|
|
- :disabled="maintenanceInfo.state !== 1"
|
|
|
- type="primary"
|
|
|
- @click="maintenanceSubmit2"
|
|
|
+ v-if="maintenanceInfo.state === 1"
|
|
|
+ v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.repair_audit]"
|
|
|
+ :disabled="maintenanceInfo.state !== 1"
|
|
|
+ type="primary"
|
|
|
+ @click="maintenanceSubmit2"
|
|
|
>审批
|
|
|
</el-button
|
|
|
>
|
|
@@ -228,15 +228,16 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import {ref, getCurrentInstance} from "vue";
|
|
|
+import {ref} from "vue";
|
|
|
import {useCrud} from "@/hooks/userCrud";
|
|
|
import ButtonPermKeys from "@/common/configs/buttonPermission";
|
|
|
import {checkPerm} from "@/directive/permission";
|
|
|
import {getUserList} from "@/api/system/user";
|
|
|
-import {repair, audit} from "@/api/device/index";
|
|
|
-import {useCommonStoreHook} from "@/store";
|
|
|
+import {audit, repair} from "@/api/device/index";
|
|
|
+import {useCommonStoreHook, useDictionaryStore} from "@/store";
|
|
|
import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
|
|
|
|
+const {dicts, getLabelByValue} = useDictionaryStore();
|
|
|
const {isShowTable, tableType} = toRefs(useCommonStoreHook());
|
|
|
const test = () => {
|
|
|
isShowTable.value = true;
|
|
@@ -261,11 +262,11 @@ const dialog1 = reactive({
|
|
|
const userList = ref([]);
|
|
|
// 传入一个url,后面不带/
|
|
|
const {form, data, option, search, page, toDeleteIds, Methords, Utils} =
|
|
|
- useCrud({
|
|
|
- src: "/api/v1/device/repair",
|
|
|
- });
|
|
|
+ useCrud({
|
|
|
+ src: "/api/v1/device/repair",
|
|
|
+ });
|
|
|
const {dataList, createRow, updateRow, deleteRow, searchChange, resetChange} =
|
|
|
- Methords; //增删改查
|
|
|
+ Methords; //增删改查
|
|
|
const {selectionChange, multipleDelete} = Methords; //选中和批量删除事件
|
|
|
const {checkBtnPerm, downloadTemplate, exportData} = Utils; //按钮权限等工具
|
|
|
const crudRef = ref(null); //crudRef.value 获取avue-crud对象
|
|
@@ -419,6 +420,9 @@ option.value = Object.assign(option.value, {
|
|
|
{
|
|
|
label: "报故人",
|
|
|
prop: "creator",
|
|
|
+ type: "select",
|
|
|
+ dicData: dicts.user_name_list,
|
|
|
+ props: {"label": "dictLabel", "value": "dictValue"},
|
|
|
display: false,
|
|
|
},
|
|
|
{
|