Commit 5150afd0 by zhaopanyu

zpy 修改资产管理

parent 9bb8279a
......@@ -31,7 +31,7 @@ const routes = [
children: [
{
path: "dd",
name: "dd",
name: "dl",
component: () => import("../views/dd.vue"),
meta: {
requireAuth: true,
......
<template>
<van-nav-bar title="设备报修" left-text="返回" left-arrow @click-left="goback"></van-nav-bar> <div class="flexBLock searchBlock">
<van-nav-bar title="设备报修" left-text="返回" left-arrow @click-left="goback"></van-nav-bar>
<div class="flexBLock searchBlock">
<van-search class="searchInput" @search="onSearch" v-model="searchKey" placeholder="请输入设备名称" />
<van-icon name="scan" @click="getCode"/>
</div>
<van-icon name="scan" @click="getCode" />
</div>
<van-pull-refresh v-model="pullLoading" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="getList">
<div style="position:relative;" v-for="(item,index) in list" :key="index" class="listBlock">
<div style="position:relative;" v-for="(item, index) in list" :key="index" class="listBlock">
<div>自编码:{{ item.encode }}</div>
<div>设备名称:{{ item.equipmentName }}</div>
<div>型号:{{item.model}}</div>
<div>型号:{{ item.model }}</div>
<div>安装时间:{{ item.dateOfProduction }}</div>
<div>地点:{{ item.place }}</div>
<div>报修日期:{{ item.reportRepairTime }}</div>
<div>报修人:{{ item.reportRepair }}</div>
<div>问题:{{ item.problem }}</div>
<div v-if="item.disposeState == 0" class="flexBLock btnBlock">
<van-button size="small" round type="primary" class="btn" @click="toDetail('修改',item.id)">修 改</van-button>
<van-button size="small" round type="success" class="btn" @click="toDetail('反馈',item.id)">反 馈</van-button>
<van-button size="small" round type="default" class="btn" @click="toDetail('查看',item.id)">查 看</van-button>
<van-button size="small" round type="primary" class="btn" @click="toDetail('修改', item.id)">修 改</van-button>
<!-- <van-button size="small" round type="success" class="btn" @click="toDetail('反馈', item.id)">反 馈</van-button> -->
<van-button size="small" round type="default" class="btn" @click="toDetail('查看', item.id)">查 看</van-button>
<van-button size="small" round type="danger" class="btn" @click="deleteDevice(item.id)">删 除</van-button>
</div>
<div v-if="item.disposeState == 1" >
<!-- <van-button style="margin-right: 10px" size="small" round type="success" class="btn" @click="toDetail('反馈',item.id)">反 馈</van-button>-->
<van-button size="small" round type="default" class="btn" @click="toDetail('查看',item.id)">查 看</van-button>
<div v-if="item.disposeState == 1">
<!-- <van-button style="margin-right: 10px" size="small" round type="success" class="btn" @click="toDetail('反馈',item.id)">反 馈</van-button>-->
<van-button size="small" round type="default" class="btn" @click="toDetail('查看', item.id)">查 看</van-button>
</div>
<div class="state">
<div v-if="item.repairState == 0 && item.disposeState == 1" class="fixed">已处理-已维修</div>
......@@ -34,17 +35,17 @@
</template>
<script setup>
import { getDeviceList,deletEuipemnt } from "@/service/schoolProperty"
import { getDeviceList, deletEuipemnt } from "@/service/schoolProperty"
import { useRouter } from "vue-router";
import {onMounted, ref} from "vue";
import {useStore} from "vuex";
import {Toast} from "vant";
import {scanCodeFun} from "../../../utils/scanCode";
import { onMounted, ref } from "vue";
import { useStore } from "vuex";
import { Toast } from "vant";
import { scanCodeFun } from "../../../utils/scanCode";
const router = useRouter();
const store = useStore();
const id = store.state.userInfo.userId;
console.log('id',id)
console.log('id', id)
const rolesArr = store.state.userInfo.roles;
let searchKey = ref('')
const loading = ref(false)
......@@ -53,7 +54,7 @@ const pullLoading = ref(false);
const finished = ref(false);
const equipmentName = ref('')
onMounted( () => {
onMounted(() => {
});
//获取列表数据
......@@ -63,13 +64,13 @@ const getList = async () => {
// pageNum.value = 0;
pullLoading.value = false;
}
let result = await getDeviceList(id,equipmentName.value)
console.log('result',result)
if(result.code == 200){
let result = await getDeviceList(id, equipmentName.value)
console.log('result', result)
if (result.code == 200) {
loading.value = false;
list.value = result.data
finished.value = true
}else{
} else {
Toast("获取信息失败!");
finished.value = true;
loading.value = false;
......@@ -77,14 +78,14 @@ const getList = async () => {
}
}
//搜索
const onSearch = async (val) =>{
const onSearch = async (val) => {
list.value = [];
loading.value = true;
finished.value = false;
equipmentName.value = val
let searchResult = await getDeviceList(id,equipmentName.value);
console.log('searchResult',searchResult)
if(searchResult.code == 200){
let searchResult = await getDeviceList(id, equipmentName.value);
console.log('searchResult', searchResult)
if (searchResult.code == 200) {
loading.value = false;
list.value = searchResult.data
finished.value = true
......@@ -106,25 +107,25 @@ const getCode = () => {
// })
}
//详情按钮
const toDetail = (name,id) => {
console.log('id',id)
const toDetail = (name, id) => {
console.log('id', id)
router.push({
path:"/schoolProperty/device/info",
query:{
name:name,
id:id
path: "/schoolProperty/device/info",
query: {
name: name,
id: id
}
})
}
//删除按钮
const deleteDevice = async (id) => {
console.log('id',id)
console.log('id', id)
let result = await deletEuipemnt(id)
if(result.code == 200){
if (result.code == 200) {
Toast.success("删除成功");
getList()
}
console.log('result',result)
console.log('result', result)
}
//返回上一页
const goback = () => {
......@@ -141,26 +142,42 @@ const onRefresh = () => {
</script>
<style scoped>
.listBlock .flexBLock {
justify-content: start;
display: flex;
gap: 10px;
}
.btnBlock {
flex-wrap: wrap;
}
.btn {
width: 75px;
margin-top: 10px;
}
.state{
position:absolute;
/* 自定义 van-button 的样式,减小内边距 */
.van-button {
padding: 4px 8px;
/* 根据实际情况调整内边距 */
}
.state {
position: absolute;
top: 0;
right: 0;
}
.fixed{
.fixed {
background: #07c160;
color: #FFFFFF;
border-radius: 5px 10px;
width: 100px;
text-align: center;
}
.unable{
.unable {
background: #1989fa;
color: #FFFFFF;
border-radius: 5px 10px;
......
......@@ -4,157 +4,57 @@
<!-- <div class="title">报修台账新增</div>-->
<van-form class="formBlock" label-align="right" label-width="60px">
<van-cell-group inset>
<van-field
readonly
v-model="fixForm.encode"
name="自编码"
label="自编码"
placeholder="自编码"
:rules="[{ required: true, message: '请填写自编码' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
readonly
v-model="fixForm.equipmentName"
name="设备名称"
label="设备名称"
placeholder="设备名称"
:rules="[{ required: true, message: '请填写设备名称' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
readonly
v-model="fixForm.model"
name="型号"
label="型号"
placeholder="型号"
:rules="[{ required: true, message: '请填写设备型号' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
readonly
v-model="fixForm.dateOfProduction"
name="安装时间"
label="安装时间"
placeholder="安装时间"
:rules="[{ required: true, message: '请填写安装时间' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
:readonly="name == '查看' ? true : false"
v-model="fixForm.place"
name="地点"
label="地点"
placeholder="地点"
:rules="[{ required: true, message: '请填写地点' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
v-model="fixForm.reportRepairTime"
readonly
name="calendar"
label="报修时间"
placeholder="请填写报修时间"
:rules="[{ required: true, message: '请填写报修时间' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
readonly
v-model="fixForm.reportRepair"
name="报修人"
label="报修人"
placeholder="报修人"
:rules="[{ required: true, message: '请填写报修人' }]"
/>
<van-field
v-if="name == '反馈' ? false : true"
v-model="fixForm.problem"
name="问题"
label="问题"
placeholder="问题"
:rules="[{ required: true, message: '请填写问题' }]"
/>
<div v-if="name=='查看'">
<van-field
v-model="fixForm.repairName"
readonly
label="修理人"
/>
<van-field readonly v-model="fixForm.encode" name="自编码" label="自编码" placeholder="自编码"
:rules="[{ required: true, message: '请填写自编码' }]" />
<van-field v-if="name == '反馈' ? false : true" readonly v-model="fixForm.equipmentName" name="设备名称" label="设备名称"
placeholder="设备名称" :rules="[{ required: true, message: '请填写设备名称' }]" />
<van-field v-if="name == '反馈' ? false : true" readonly v-model="fixForm.model" name="型号" label="型号"
placeholder="型号" :rules="[{ required: true, message: '请填写设备型号' }]" />
<van-field v-if="name == '反馈' ? false : true" readonly v-model="fixForm.dateOfProduction" name="安装时间" label="安装时间"
placeholder="安装时间" :rules="[{ required: true, message: '请填写安装时间' }]" />
<van-field v-if="name == '反馈' ? false : true" :readonly="name == '查看' ? true : false" v-model="fixForm.place"
name="地点" label="地点" placeholder="地点" :rules="[{ required: true, message: '请填写地点' }]" />
<van-field v-if="name == '反馈' ? false : true" v-model="fixForm.reportRepairTime" readonly name="calendar"
label="报修时间" placeholder="请填写报修时间" :rules="[{ required: true, message: '请填写报修时间' }]" />
<van-field v-if="name == '反馈' ? false : true" readonly v-model="fixForm.reportRepair" name="报修人" label="报修人"
placeholder="报修人" :rules="[{ required: true, message: '请填写报修人' }]" />
<van-field v-if="name == '反馈' ? false : true" v-model="fixForm.problem" name="问题" label="问题" placeholder="问题"
:rules="[{ required: true, message: '请填写问题' }]" />
<div v-if="name == '查看'">
<van-field v-model="fixForm.repairName" readonly label="修理人" />
</div>
<div v-if="name == '反馈'">
<van-field
v-if="name == '反馈' || name =='查看' ? true : false "
v-model="fixForm.repairName"
is-link
readonly
name="picker"
label="修理人"
placeholder="请选择修理人"
@click="showPicker = true"
:rules="[{ required: true, message: '请选择修理人' }]"
/>
<van-field v-if="name == '反馈' || name == '查看' ? true : false" v-model="fixForm.repairName" is-link readonly
name="picker" label="修理人" placeholder="请选择修理人" @click="showPicker = true"
:rules="[{ required: true, message: '请选择修理人' }]" />
<van-popup v-model:show="showPicker" position="bottom">
<van-picker
:columns="columns"
@confirm="onConfirm"
@cancel="showPicker = false"
/>
<van-picker :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
</van-popup>
</div>
<van-field
v-if="name == '反馈' || name =='查看' ? true : false "
v-model="fixForm.repairTime"
readonly
name="修理时间"
label="修理时间"
placeholder="修理时间"
:rules="[{ required: true, message: '请填写修理时间' }]"
/>
<van-field v-if="name == '反馈' || name == '查看' ? true : false" v-model="fixForm.repairTime" readonly name="修理时间"
label="修理时间" placeholder="修理时间" :rules="[{ required: true, message: '请填写修理时间' }]" />
<div v-if="name == '反馈'">
<van-field
v-if="name == '反馈' || name =='查看' ? true : false "
v-model="fixForm.repairStateName"
is-link
readonly
name="picker"
label="维修结果"
placeholder="维修结果"
@click="showState = true"
:rules="[{ required: true, message: '请填写维修结果' }]"
/>
<van-field v-if="name == '反馈' || name == '查看' ? true : false" v-model="fixForm.repairStateName" is-link readonly
name="picker" label="维修结果" placeholder="维修结果" @click="showState = true"
:rules="[{ required: true, message: '请填写维修结果' }]" />
<van-popup v-model:show="showState" position="bottom">
<van-picker
:columns="stateColumns"
@confirm="repairState"
@cancel="showState = false"
/>
<van-picker :columns="stateColumns" @confirm="repairState" @cancel="showState = false" />
</van-popup>
</div>
<div v-if="name == '查看'">
<van-field
v-model="fixForm.repairStateName"
readonly
label="维修结果"
/>
<van-field v-model="fixForm.repairStateName" readonly label="维修结果" />
</div>
<van-field
v-if=" name =='查看' ? true : false "
readonly
v-model="fixForm.remark"
name="备注"
label="备注"
placeholder="备注"
:rules="[{ required: true, message: '请填写维修备注' }]"
/>
<van-field v-if="name == '查看' ? true : false" readonly v-model="fixForm.remark" name="备注" label="备注"
placeholder="备注" :rules="[{ required: true, message: '请填写维修备注' }]" />
<van-field v-if="name == '反馈' ? true : false" name="rate" label="评分">
<template #input>
<van-rate v-model="evaluate"/>
<van-rate v-model="evaluate" />
</template>
</van-field>
</van-cell-group>
<div v-if="name=='反馈'" style="margin: 30px; display: flex;justify-content: center">
<div v-if="name == '反馈'" style="margin: 30px; display: flex;justify-content: center">
<van-button round type="primary" size="small" style="width: 80px;" @click="feedBack">
确 定
</van-button>
......@@ -162,12 +62,12 @@
取 消
</van-button>
</div>
<div v-if="name=='查看'" style="margin: 30px; display: flex;justify-content: center">
<div v-if="name == '查看'" style="margin: 30px; display: flex;justify-content: center">
<van-button round type="primary" size="small" style="width: 80px;margin-left: 20px;" @click="cancel">
关 闭
</van-button>
</div>
<div v-if="name=='修改' || name =='新增'" style="margin: 30px; display: flex;justify-content: center">
<div v-if="name == '修改' || name == '新增'" style="margin: 30px; display: flex;justify-content: center">
<van-button round type="primary" size="small" style="width: 80px;" @click="onSubmit">
点击报修
</van-button>
......@@ -189,11 +89,11 @@ import {
submitFeedback,
scanEquipmentInfo
} from "@/service/schoolProperty"
import {formatDatetime} from "@/utils/time.js"
import {useRoute, useRouter} from "vue-router";
import {ref, onMounted, reactive} from "vue";
import {useStore} from "vuex";
import {Dialog, Toast} from "vant";
import { formatDatetime } from "@/utils/time.js"
import { useRoute, useRouter } from "vue-router";
import { ref, onMounted, reactive } from "vue";
import { useStore } from "vuex";
import { Dialog, Toast } from "vant";
const router = useRouter();
const route = useRoute();
......@@ -203,6 +103,7 @@ const userName = store.state.userInfo.teacherName
const userId = store.state.userInfo.userId
const title = ref("");
const name = route.query.name;
console.log(route.query.name, 1111111)
const id = route.query.id;
const encode = route.query.encode;
const fixForm = reactive({
......@@ -338,7 +239,7 @@ const onSubmit = async () => {
reportRepairId: fixForm.reportRepairId,
reportRepair: fixForm.reportRepair,
problem: fixForm.problem,
place:fixForm.place
place: fixForm.place
}
console.log('params', params)
let result = await editDevice(params)
......@@ -357,7 +258,7 @@ const onSubmit = async () => {
reportRepairId: userId,
reportRepair: fixForm.reportRepair,
problem: fixForm.problem,
place:fixForm.place,
place: fixForm.place,
}
console.log('params', params)
......@@ -380,7 +281,7 @@ const feedBack = async () => {
repairState: fixForm.repairState,
repairPhone: fixForm.repairPhone,
repairTime: fixForm.repairTime,
disposeState:'1'
disposeState: '1'
}
console.log('params', params)
let result = await submitFeedback(params)
......@@ -401,6 +302,10 @@ const goback = () => {
</script>
<style scoped>
.btnBlock {
flex-wrap: wrap;
}
.card {
margin: 10px;
border: 1px solid silver;
......
......@@ -9,7 +9,7 @@
</div>
<van-pull-refresh v-model="pullLoading" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="getList">
<div style="position:relative;" v-for="(item,index) in list" :key="index" class="listBlock" @click="toDetail(item)">
<div style="position:relative;" v-for="(item,index) in list" :key="index" class="listBlock" >
<div>自编码:{{ item.encode }}</div>
<div>设备名称:{{ item.equipmentName }}</div>
<div>修理人:{{ item.repairName }}</div>
......@@ -21,6 +21,9 @@
<div v-if="item.disposeState == '1'" class="fixed">已完成</div>
<div v-if="item.disposeState == '0'" class="unable">待维修</div>
</div>
<div class="flexBLock btnBlock">
<van-button size="small" round type="success" class="btn" @click="toDetails('反馈', item.id)">反 馈</van-button>
</div>
</div>
</van-list>
</van-pull-refresh>
......@@ -129,16 +132,27 @@ const getList = async () => {
// })
// }
//详情按钮
const toDetail = (item) => {
console.log('item',item)
// const toDetail = (item) => {
// console.log('item',item)
// router.push({
// path:"/schoolProperty/equipmentFix/equipmentFixDetail",
// query:{
// id:item.id
// }
// })
// }
//反馈按钮
const toDetails = (name, id) => {
console.log('id', id,name)
router.push({
path:"/schoolProperty/equipmentFix/equipmentFixDetail",
query:{
id:item.id
path: "/schoolProperty/device/info",
query: {
name: name,
id: id
}
})
}
//返回上一页
const goback = () => {
router.back();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment