Commit 3d10c67c by peijy

8.15 校产管理接口

parent e744037d
......@@ -14,7 +14,7 @@ export function getWxConfig(url) {
//个人借用记录列表
export function getBorrowList(borrowById) {
return axios.post(`wx/equipment/getMyBorrowList/${borrowById}` );
return axios.get(`wx/equipment/getMyBorrowList/${borrowById}` );
}
//扫码借用获取设备基本信息
......@@ -34,10 +34,81 @@ export function checkBorrowDetail(id) {
return axios.get('wx/equipment/byCirculation/' + id );
}
/********** 物品归还 ***********/
/********** 物品归还(管理员) ***********/
//管理员物品列表查看
export function getEquipmentList(managerId) {
return axios.post(`wx/equipment/getMyBorrowList/${managerId}` );
}
//借用物品记录详情查看-克隆
export function checkEquipmentDetail(id) {
return axios.get(`wx/equipment/byCirculation/${id}` );
}
//物品归还
export function returnEquipment(data) {
return axios.put('/wx/equipment/returnDevice' ,{
params:data
}
);
}
/********** 物品领用 ***********/
//领用列表
export function getUseList(recipientById) {
return axios.get(`wx/equipment/getUseList/${recipientById}` );
}
//新增领用
export function addUse(data) {
return axios.post('wx/equipment/addUsedevice' , {
...data
} )
}
//领用记录详情
export function useDeatil(id) {
return axios.post(`wx/equipment/getUseById/${id}`);
}
/********** 设备报修 ***********/
//报修个人记录列表
export function getDeviceList(reportRepairid) {
return axios.get(`wx/equipment/getMaintenanceList/${reportRepairid}`);
}
//新增报修
export function addDevice(data) {
return axios.post('wx/equipment/addMaintenance' , {
...data
} )
}
//报修记录详情
export function getDeviceDetail(id) {
return axios.post(`wx/equipment/getMaintenance/${id}` );
}
//报修记录修改
export function editDevice(data) {
return axios.put('/wx/equipment/pudateMaintenance' ,{
params:data
}
);
}
//报修反馈结果详情
export function getFeedbackDetail(id) {
return axios.get(`wx/equipment/getfeedback/${id}` );
}
// 报修结果反馈
export function submitFeedback(data) {
return axios.put('/wx/equipment/pudateMaintenance' ,{
params:data
}
);
}
......@@ -2,19 +2,27 @@
<van-nav-bar :title=title left-text="返回" left-arrow @click-left="goback"></van-nav-bar>
<van-form @submit="onSubmit" class="formBlock" label-align="right" label-width="110px">
<van-cell-group inset>
<van-field v-model="borrowForm.code" label="自编码" placeholder="请输入自编码"/>
<van-field v-model="borrowForm.code" label="设备名称" placeholder="请输入设备名称"/>
<van-field v-model="borrowForm.code" label="型号" placeholder="请输入型号"/>
<van-field is-link readonly v-model="borrowForm.dateChoose" label="借用日期" @click="showPicker = true"
<van-field :readonly="queryId ? true : false" v-model="borrowForm.encode" label="自编码" placeholder="请输入自编码"/>
<van-field :readonly="queryId ? true : false" v-model="borrowForm.equipmentName" label="设备名称"
placeholder="请输入设备名称"/>
<van-field :readonly="queryId ? true : false" v-model="borrowForm.model" label="型号" placeholder="请输入型号"/>
<div v-if="queryId">
<van-field readonly v-model="borrowTime" label="借用日期"/>
</div>
<div v-else>
<van-field is-link readonly v-model="borrowTime" label="借用日期" @click="showPicker = true"
placeholder="请选择借用日期"/>
<van-calendar v-model:show="showPicker" @confirm="onConfirm" />
<van-field v-model="borrowForm.code" label="借用人" placeholder="请输入借用人"/>
<van-field v-model="borrowForm.code" label="用途" placeholder="请输入用途"/>
<van-field v-model="borrowForm.code" label="借用期限(天)" placeholder="请输入借用期限"/>
<!-- <van-field is-link readonly v-model="dateChoose" label="归还时间" @click="showPicker = true"-->
<!-- placeholder="请选择归还时间"/>-->
<!-- <van-calendar v-model:show="showPicker" @confirm="onConfirm" />-->
<van-field v-model="borrowForm.code" label="归还时设备情况" placeholder="请输入归还时设备情况"/>
<van-calendar :readonly="queryId ? true : false" v-model:show="showPicker" @confirm="onConfirmBorrowTime"/>
</div>
<van-field :readonly="queryId ? true : false" v-model="borrowForm.borrowBy" label="借用人" placeholder="请输入借用人"/>
<van-field :readonly="queryId ? true : false" v-model="borrowForm.purpose" label="用途" placeholder="请输入用途"/>
<div v-if="queryId">
<van-field readonly v-model="returnTime" label="归还时间"/>
<van-field readonly v-model="borrowForm.returnEquipmentCondition" label="归还时设备情况"/>
</div>
<van-field :readonly="queryId ? true : false" v-model="borrowForm.deadline" label="借用期限(天)"
placeholder="请输入借用期限"/>
</van-cell-group>
<div>
<van-button class="sureBtn" round block type="primary" native-type="submit">确 定</van-button>
......@@ -23,35 +31,69 @@
</template>
<script setup>
import { reactive, ref } from "vue";
import {checkBorrowDetail} from "@/service/schoolProperty"
import {reactive, ref, onMounted} from "vue";
import { useRouter } from "vue-router";
const router = useRouter();
import {useRoute, useRouter} from "vue-router";
let title = ref('物品借用新增') // 页面标题
const router = useRouter();
const route = useRoute();
const queryId = route.query.id;
let title = ref('') // 页面标题
let borrowForm = reactive({ // 表单数据
code:'',
dateChoose:'',
})
let dateChoose = ref('') // 借用日期
let borrowForm = reactive({ // 表单数据
encode: '', //自编码
equipmentName: '', //设备名称
model: '', //型号
// borrowTime:'', // 借用日期
borrowBy: '', //借用人
purpose: '', //用途
// deadline:'', //借用期限(天)
returnTime: '', //归还日期
returnEquipmentCondition: '', //归还时设备情况
})
let borrowTime = ref('') // 借用日期
let returnTime = ref('') // 归还日期
let showPicker = ref(false) //是否显示日历选择
const onConfirm = (date) => {
dateChoose.value = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
borrowForm.dateChoose = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
// console.log("borrowForm.dateChoose",borrowForm.dateChoose)
let showPicker = ref(false) //是否显示日历选择-借用
onMounted(async () => {
if (queryId) {
let result = await checkBorrowDetail(queryId)
console.log('result', result)
title.value = '物品借用查看'
Object.assign(borrowForm, result.data)
borrowTime.value = result.data.borrowTime
returnTime.value = result.data.returnTime
} else {
title.value = '物品借用新增'
}
});
//借用日期确认
const onConfirmBorrowTime = (date) => {
borrowTime.value = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
// returnTime.value = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
showPicker.value = false;
};
console.log('date', date)
console.log('borrowTime.value', borrowTime.value)
};
//返回上一页
const goback = () => {
router.back();
};
//返回上一页
const goback = () => {
//表单提交
const onSubmit = () => {
if (queryId) {
router.back();
};
//表单提交
const onSubmit = () => {
} else {
}
}
</script>
<style scoped>
......@@ -59,6 +101,7 @@
margin: 30px auto;
width: 80%;
}
.van-cell-group--inset {
margin: 0px;
}
......
......@@ -6,23 +6,23 @@
</div>
<van-pull-refresh v-model="pullLoading" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="getList">
<div v-for="(item,index) in list" :key="index" class="listBlock" @click="toDetailPage">
<div v-for="(item,index) in list" :key="index" class="listBlock" @click="toDetailPage(item.id)">
<div class="flexBLock">
<div>
<div>型号:联想Y0079</div>
<div>自编码:202308081101</div>
<div>设备名称:笔记本</div>
<div>借用人:张蔷</div>
<div>借用日期:2023-08-08 12:32:30</div>
<div>用途:用于课上办公</div>
<div>型号:{{item.model}}</div>
<div>自编码:{{item.encode}}</div>
<div>设备名称:{{item.equipmentName}}</div>
<div>借用人:{{ item.borrowBy }}</div>
<div>借用日期:{{ item.borrowTime }}</div>
<div>用途:{{ item.purpose }}</div>
</div>
<div class="listLeft">
<div>7</div>
<div>{{ item.deadline }}</div>
<div>借用期限(天)</div>
</div>
</div>
<div class="waitReturn">待归还</div>
<div class="endReturn">已归还</div>
<div v-if="item.returnState == 0" class="waitReturn">待归还</div>
<div v-if="item.returnState == 1" class="endReturn">已归还</div>
</div>
</van-list>
</van-pull-refresh>
......@@ -31,7 +31,7 @@
<script setup>
import { getBorrowList } from "@/service/schoolProperty"
import { useRouter } from "vue-router";
import { ref } from "vue";
import {onMounted, ref} from "vue";
import { useStore } from "vuex";
import { scanCodeFun } from "../../../utils/scanCode"
......@@ -40,8 +40,7 @@ const store = useStore();
const id = store.state.userInfo.userId ;
let searchKey = ref('')
const loading = ref(false)
const list = ref([1,2,3,4,5]);
const list = ref([]);
const pullLoading = ref(false);
const finished = ref(false);
......@@ -51,14 +50,22 @@ const getCode = () => {
}
//获取列表数据
const getList = () => {
const getList = async() => {
let result = await getBorrowList(id)
console.log('result',result)
if(result.code == 200){
list.value = result.data
}
}
//跳转详情页面
const toDetailPage = () => {
const toDetailPage = (id) => {
console.log('id',id)
router.push({
path: "/schoolProperty/borrow/detail",
query: {
id:id
}
})
}
......
......@@ -5,20 +5,24 @@
</div>
<van-pull-refresh v-model="pullLoading" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="getList">
<div v-for="(item,index) in list" :key="index" class="listBlock">
<div>自编码:202308081101</div>
<div>设备名称:笔记本</div>
<div>型号:联想Y0079</div>
<div>投产日期:2023-08-08 12:32:30</div>
<div>地点:教学楼603</div>
<div>报修日期:2023-08-08 12:32:30</div>
<div>报修人:张蔷</div>
<div>问题:笔记本无法打开</div>
<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.dateOfProduction }}</div>
<div>地点:{{ item.place }}</div>
<div>报修日期:{{ item.reportRepairTime }}</div>
<div>报修人:{{ item.reportRepair }}</div>
<div>问题:{{ item.problem }}</div>
<div class="flexBLock btnBlock">
<van-button size="small" round type="primary" class="btn" @click="toDetail('修改',item)">修 改</van-button>
<van-button size="small" round type="success" class="btn" @click="toDetail('反馈',item)">反 馈</van-button>
<van-button size="small" round type="default" class="btn" @click="toDetail('查看',item)">查 看</van-button>
<van-button size="small" round type="danger" class="btn" @click="deleteDevice(item)">删 除</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 class="state">
<div v-if="item.repairState == 0 && item.disposeState == 1" class="fixed">已完成-已维修</div>
<div v-if="item.repairState == 1 && item.disposeState == 1" class="unable">已完成-已维修</div>
</div>
</div>
</van-list>
......@@ -26,29 +30,43 @@
</template>
<script setup>
import { getDeviceList } from "@/service/schoolProperty"
import { useRouter } from "vue-router";
import {ref} from "vue";
import {onMounted, ref} from "vue";
import {useStore} from "vuex";
const router = useRouter();
const store = useStore();
const id = store.state.userInfo.userId;
console.log('id',id)
let searchKey = ref('')
const loading = ref(false)
const list = ref([1,2,3,4,5]);
const list = ref([]);
const pullLoading = ref(false);
const finished = ref(false);
onMounted( () => {
});
//获取列表数据
const getList = () => {
const getList = async () => {
console.log('id',id)
let result = await getDeviceList(id)
console.log('result',result)
if(result.code == 200){
list.value = result.data
}
}
//详情按钮
const toDetail = (name,item) => {
const toDetail = (name,id) => {
console.log('id',id)
router.push({
path:"/schoolProperty/device/info",
query:{
name:name,
item:item
id:id
}
})
}
......@@ -75,4 +93,23 @@ const onRefresh = () => {
width: 75px;
margin-top: 10px;
}
.state{
position:absolute;
top: 0;
right: 0;
}
.fixed{
background: #07c160;
color: #FFFFFF;
border-radius: 5px 10px;
width: 100px;
text-align: center;
}
.unable{
background: #1989fa;
color: #FFFFFF;
border-radius: 5px 10px;
width: 100px;
text-align: center;
}
</style>
......@@ -147,6 +147,8 @@
</template>
<script setup>
import { addDevice,getDeviceDetail,editDevice,getFeedbackDetail,submitFeedback } from "@/service/schoolProperty"
import {useRoute, useRouter} from "vue-router";
import {ref, onMounted, reactive} from "vue";
import {useStore} from "vuex";
......@@ -156,6 +158,7 @@ const route = useRoute();
const store = useStore();
const title = ref("");
const name = route.query.name;
const id = route.query.id;
const state = reactive({
fixman: '',//修理人
......@@ -167,9 +170,10 @@ const onConfirm = (value) => {
showPicker.value = false;
};
onMounted(async () => {
console.log('route', route.query)
if (name == '修改') {
title.value = '报修台账修改'
let editResult = await editDevice(id)
console.log('editResult',editResult)
}
if (name == '反馈') {
title.value = '报修台账反馈'
......
......@@ -31,6 +31,8 @@
</template>
<script setup>
import { getEquipmentList } from "@/service/schoolProperty"
import { useRouter } from "vue-router";
import { ref } from "vue";
const router = useRouter();
......@@ -43,7 +45,7 @@ const pullLoading = ref(false);
const finished = ref(false);
//获取列表数据
const getList = () => {
const getList = async () => {
}
......
......@@ -7,7 +7,7 @@
<van-field v-model="code" label="型号" placeholder="请输入型号"/>
<van-field is-link readonly v-model="dateChoose" label="领用日期" @click="showPicker = true"
placeholder="请选择领用日期"/>
<van-calendar v-model:show="showPicker" @confirm="onConfirm" />
<van-calendar v-model:show="showPicker" @confirm="onConfirm"/>
<van-field v-model="code" label="领用人" placeholder="请输入领用人"/>
</van-cell-group>
<div>
......@@ -17,25 +17,28 @@
</template>
<script setup>
import { useRouter } from "vue-router";
import { ref } from "vue";
const router = useRouter();
const code = ref('')
const dateChoose = ref('')
let showPicker = ref(false) //是否显示日历选择
const onConfirm = (date) => {
import { addUse, useDeatil} from "@/service/schoolProperty"
import {useRouter} from "vue-router";
import {ref} from "vue";
const router = useRouter();
const code = ref('')
const dateChoose = ref('')
let showPicker = ref(false) //是否显示日历选择
const onConfirm = (date) => {
dateChoose.value = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
showPicker.value = false;
};
};
//返回上一页
const goback = () => {
//返回上一页
const goback = () => {
router.back();
};
};
//表单提交
const onSubmit = ()=>{}
//表单提交
const onSubmit = () => {
}
</script>
<style scoped>
......@@ -43,6 +46,7 @@
margin: 30px auto;
width: 80%;
}
.van-cell-group--inset {
margin: 0px;
}
......
......@@ -9,39 +9,46 @@
<div v-for="(item,index) in list" :key="index" class="listBlock">
<div class="flexBLock useBlock">
<div>
<div>型号:联想Y0079</div>
<div>自编码:202308081101</div>
<div>领用人:张蔷</div>
<div>设备名称:笔记本</div>
<div>型号:{{ item.model }}</div>
<div>自编码:{{ item.encode }}</div>
<div>领用人:{{ item.recipientBy }}</div>
<div>设备名称:{{ item.equipmentName}}</div>
</div>
<div class="listLeft">
<div>2023-08-08</div>
<div>{{ item.recipientTime.slice(0,10)}}</div>
<div>领用日期</div>
</div>
</div>
<div class="ywxBlock">已接单 — 已维修</div>
<div class="wfwxBlock">已接单 — 无法维修</div>
<div class="wjdBlock">未接单</div>
</div>
</van-list>
</van-pull-refresh>
</template>
<script setup>
import { getUseList } from "@/service/schoolProperty"
import { useRouter } from "vue-router";
import {ref} from "vue";
import {useStore} from "vuex";
const router = useRouter();
const store = useStore();
const id = store.state.userInfo.userId;
console.log('store',store.state.userInfo.userId)
let searchKey = ref('')
const loading = ref(false)
const list = ref([1,2,3,4,5]);
const list = ref([]);
const pullLoading = ref(false);
const finished = ref(false);
//获取列表数据
const getList = () => {
const getList = async () => {
let result = await getUseList(id);
console.log('result',result)
if(result.code == 200){
list.value = result.data
}
}
//扫码
......
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