代码提交

test
zhangdi 1 year ago
parent 8fb9de3ac6
commit c886330bd7
  1. 32
      App.vue
  2. 9
      api/api.js
  3. 73
      common/betone_components/betone-list.vue
  4. 107
      common/betone_components/betone-pop.vue
  5. 14
      pages.json
  6. 2
      pages/register/index.vue
  7. 78
      pages/submission/materialSelect.vue
  8. 520
      pages/submission/recordsdetails.vue
  9. 1
      store/index.js

@ -1,18 +1,8 @@
<script> <script>
export default { export default {
onLaunch: function () { onReady() {
const value = uni.getStorageSync("token");
if (!value) {
uni.navigateTo({
url: "/pages/login/login",
});
}
console.log("App Launch",value);
const userInfo = uni.getStorageSync("userinfo");
//
this.$store.dispatch("changeTabbar", userInfo.role_id);
// this.$common.getStorage("user").then((res) => { // this.$common.getStorage("user").then((res) => {
// if (res == null || res == "") { // if (res == null || res == "") {
// uni.redirectTo({ // uni.redirectTo({
@ -32,6 +22,22 @@ export default {
}, },
onShow: function () { onShow: function () {
console.log("App Show"); console.log("App Show");
const value = uni.getStorageSync("token");
console.log("App Launch", !value);
if (!value) {
uni.redirectTo({
url: "/pages/login/login",
});
return false
}
const userInfo = uni.getStorageSync("userinfo");
if (userInfo) {
//
this.$store.dispatch("changeTabbar", userInfo.role_id);
}
}, },
onHide: function () { onHide: function () {
console.log("App Hide"); console.log("App Hide");
@ -42,9 +48,9 @@ export default {
<style lang="scss"> <style lang="scss">
@import "@/uni_modules/uview-ui/index.scss"; @import "@/uni_modules/uview-ui/index.scss";
@import "@/static/scss/index.scss"; @import "@/static/scss/index.scss";
/*每个页面公共css */ /*每个页面公共css */
page { page {
background: #fff; background: #fff;
} }
</style> </style>

@ -59,8 +59,15 @@ const install = (Vue, vm) => {
authorization: false, authorization: false,
isparams: false isparams: false
}) })
// 获取维修人员 /
let getRepairPersons = (params) => http.get('/blade-system/user/repairPersons', {...params }, {
authorization: false,
isparams: false
})
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下 // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
vm.$u.api = { getTenantInfo, login, logout, register, getworkbench, getLoginRecords, getEditRecords, subEditRecords, getChildList, getDeviceList,workOrderSave,getWorkOrderRecords,getBreakdownInfo,workOrderupdate,evaluateSign }; vm.$u.api = { getTenantInfo, login, logout, register, getworkbench, getLoginRecords, getEditRecords, subEditRecords, getChildList, getDeviceList,workOrderSave,getWorkOrderRecords,getBreakdownInfo,workOrderupdate,evaluateSign,getRepairPersons };
} }
export default { export default {

@ -4,7 +4,7 @@
<scroll-view class="wxaSortPickerList" scroll-y="true"> </scroll-view> <scroll-view class="wxaSortPickerList" scroll-y="true"> </scroll-view>
<view class="page-search-top"> <view class="page-search-top">
<betone-new-input v-model="searchInfo.requirementCode" <betone-new-input v-model="searchInfo.requirementCode"
:placeholder="dataType == 1 ? '搜索维修单单号' : '搜索维修单单号或单位名称'" icon="search" style="margin-bottom: 32rpx" :placeholder="dataTypes == 1 ? '搜索维修单单号' : '搜索维修单单号或单位名称'" icon="search" style="margin-bottom: 32rpx"
@changevalue="searchData()" /> @changevalue="searchData()" />
<u-tabs :list="tabList" :is-scroll="false" :current="current" @change="changeTab" <u-tabs :list="tabList" :is-scroll="false" :current="current" @change="changeTab"
bg-color="rgba(248, 248, 248, 1)"></u-tabs> bg-color="rgba(248, 248, 248, 1)"></u-tabs>
@ -12,7 +12,7 @@
<view class="order-box"> <view class="order-box">
<view class="order-item" v-for="(item, index) in orderData" :key="index" @click="goPage(item, 'details')"> <view class="order-item" v-for="(item, index) in orderData" :key="index" @click="goPage(item, 'details')">
<view class="item-top"> <view class="item-top">
<view class="item-left" v-if="dataType == 1"> <view class="item-left" v-if="dataTypes == 1">
<text class="item-orderNo">单号{{ item.requirementCode }}</text> <text class="item-orderNo">单号{{ item.requirementCode }}</text>
<text class="item-time"> {{ item.fillingTime }}</text> <text class="item-time"> {{ item.fillingTime }}</text>
</view> </view>
@ -38,6 +38,20 @@
<!-- 所有状态都有 --> <!-- 所有状态都有 -->
<u-button size="mini" plain style="margin-right: 32rpx" <u-button size="mini" plain style="margin-right: 32rpx"
@click.stop="goPage(item, 'breakdownView')">查看</u-button> @click.stop="goPage(item, 'breakdownView')">查看</u-button>
<!-- 接单 -->
<block v-if="item.status == 0">
<u-button size="mini" :plain="true" style="margin-right: 32rpx"
@click.stop="sendOrders()" type="primary">派单</u-button>
</block>
<block v-if="item.status == 0 && dataTypes == 4">
<u-button size="mini" :plain="true" style="margin-right: 32rpx"
type="primary">接单确认</u-button>
</block>
<block v-if="item.status == 2&&dataTypes==4">
<u-button size="mini" :plain="true" style="margin-right: 32rpx"
type="primary" @click="goPage(item, 'details')">维修</u-button>
</block>
<!-- 待提报 --提报 修改--> <!-- 待提报 --提报 修改-->
<block v-if="item.status == -1"> <block v-if="item.status == -1">
<u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true" <u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true"
@ -46,12 +60,12 @@
type="primary" @click="goPage(item, 'breakdownUpdate')">修改</u-button> type="primary" @click="goPage(item, 'breakdownUpdate')">修改</u-button>
</block> </block>
<!-- 待维修 -- 查看位置--> <!-- 待维修 -- 查看位置-->
<block v-if="(item.status == 1 || item.status == 2 || item.status == 3)"> <block v-if="dataTypes==1&&(item.status == 1 || item.status == 2 || item.status == 3)">
<u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true" <u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true"
type="primary">查看位置</u-button> type="primary">查看位置</u-button>
</block> </block>
<block v-if="item.status == 5"> <block v-if="item.status == 5&& dataTypes == 1">
<u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true" <u-button size="mini" :plain="true" style="margin-right: 32rpx" :hair-line="true"
type="primary" @click="goPage(item, 'evaluate')">评价</u-button> type="primary" @click="goPage(item, 'evaluate')">评价</u-button>
@ -64,6 +78,12 @@
<u-loadmore margin-top="10" margin-bottom="40" :status="loadingState" /> <u-loadmore margin-top="10" margin-bottom="40" :status="loadingState" />
<betone-loading ref="BetLoading" /> <betone-loading ref="BetLoading" />
<!-- 派单弹框 -- 接单按钮 -->
<u-select v-model="sendOrdersShow" :list="sendOrdersList" @confirm="sendOrdersConfirm"
:isShowsearch="true" value-name="id" title="选择维修人员"></u-select>
</view> </view>
</template> </template>
@ -99,21 +119,26 @@ export default {
orderData: [], orderData: [],
page: { page: {
currentPage: 1, currentPage: 1,
pageSize: 3, pageSize: 10,
}, },
dataType: this.$store.state.dataType sendOrdersShow: false,//
sendOrdersList: []
}; };
}, },
computed: { computed: {
noData() { noData() {
return this.orderData && this.orderData.length == 0; return this.orderData && this.orderData.length == 0;
}, },
dataTypes() {
return this.$store.state.dataType
},
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.getRecordsList() this.getRecordsList()
this.getRepairPersons()//
// //
uni.$on('onReachBottom', () => { uni.$on('onReachBottom', () => {
if (this.isNomore) { if (this.isNomore) {
@ -132,13 +157,14 @@ export default {
}); });
}, },
methods: { methods: {
//
getRecordsList() { getRecordsList() {
this.$refs.BetLoading.show(); this.$refs.BetLoading.show();
this.loadingState = "loading"; this.loadingState = "loading";
let query = { let query = {
current: this.page.currentPage, // current: this.page.currentPage, //
size: this.page.pageSize, // size: this.page.pageSize, //
dataType: this.dataType,// dataType: this.dataTypes,//
// ...this.searchInfo // ...this.searchInfo
reportUnit: this.searchInfo.reportUnit reportUnit: this.searchInfo.reportUnit
} }
@ -169,7 +195,7 @@ export default {
}, },
// //
searchData() { searchData() {
if (this.dataType != 1) { if (this.dataTypes != 1) {
// //
this.searchInfo.reportUnit = this.searchInfo.requirementCode this.searchInfo.reportUnit = this.searchInfo.requirementCode
} else { } else {
@ -202,12 +228,7 @@ export default {
return '已完成' return '已完成'
} }
}, },
refreshData() {
this.page.currentPage = 1;
this.orderData = [];
this.loadingState = "loading";
this.getRecordsList();
},
// //
subOrder(row) { subOrder(row) {
let query_ = [row] let query_ = [row]
@ -222,6 +243,30 @@ export default {
this.$refs.BetLoading.hide(); this.$refs.BetLoading.hide();
}) })
}, },
//
sendOrders() {
this.sendOrdersShow = true
},
//
sendOrdersConfirm(e) {
console.log(44444,e);
//
},
//
getRepairPersons(){
this.$u.api.getRepairPersons().then(res=>{
if(res.code == 200){
let data_ = res.data
data_.forEach(i=>{
this.sendOrdersList.push({...i,label:i.name})
})
}
})
},
// //
goPage(item, type) { goPage(item, type) {
if (type == 'details') { if (type == 'details') {

@ -0,0 +1,107 @@
<template>
<view class="sp-pop">
<u-popup
:mode="mode"
border-radius="10"
:mask-close-able="false"
v-model="show"
:closeable="!hideClose"
@close="closePop"
>
<view class="pop-content" :style="{width: width}">
<view class="pop-title" v-if="title">{{ title }}</view>
<view class="pop-icon" v-if="icon">
<u-image
:width="iconSize"
mode="widthFix"
:src="`/static/img/betone-sp-component/pop/${icon}.svg`"
></u-image>
</view>
<slot></slot>
</view>
</u-popup>
</view>
</template>
<script>
export default {
name: "spPop",
model: {
prop: "value",
event: "changeShow",
},
props: {
value: {
type: Boolean,
default: false,
},
icon: {
type: String,
default: "",
},
iconSize: {
type: String | Number,
default: 120,
},
title: {
type: String,
default: "",
},
hideClose: {
type: Boolean,
default: false,
},
mode: {
type: String,
default: 'bottom',
},
width: {
type: String,
default: '',
}
},
watch: {
value(show) {
this.show = show;
},
},
data() {
return {
show: false,
};
},
created() {
// this.show = true;
},
methods: {
closePop() {
this.show = false;
this.$emit("changeShow", false);
this.$emit("close");
},
},
};
</script>
<style lang="scss" scoped>
.sp-pop {
.pop-content {
padding: 20rpx 32rpx;
min-height: 300rpx;
box-sizing: border-box;
max-height: 88vh;
.pop-icon {
display: flex;
align-items: center;
justify-content: center;
padding: 48rpx 0;
}
.pop-title {
color: #333;
text-align: center;
font-size: 32rpx;
font-style: normal;
font-weight: 500;
line-height: 1.5; /* 150% */
}
}
}
</style>

@ -81,6 +81,20 @@
} }
} }
}, },
{
"path": "pages/submission/materialSelect",
"style": {
"navigationBarTitleText": "物料选择",
"enablePullDownRefresh": false,
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "rgba(248,248,248,1)",
"app-plus": {
"titleNView": {
}
}
}
},
{ {
"path": "pages/submission/evaluate", "path": "pages/submission/evaluate",
"style": { "style": {

@ -41,7 +41,7 @@
注册 注册
</u-button> </u-button>
</view> </view>
<betone-dialog v-model="mapInfo.showMapSelect" :maskClose="true"> <betone-dialog v-model="mapInfo.showMapSelect" :maskClose="true" :mode="'bottom'">
<map-Point @commitCheck="commitCheck" :mapKey='mapInfo.mapKey' :Radius='mapInfo.Radius' <map-Point @commitCheck="commitCheck" :mapKey='mapInfo.mapKey' :Radius='mapInfo.Radius'
:showResetting='mapInfo.showResetting' :listIco='mapInfo.listIco' :orientationIco='mapInfo.orientationIco' :showResetting='mapInfo.showResetting' :listIco='mapInfo.listIco' :orientationIco='mapInfo.orientationIco'
:resettingIco='mapInfo.resettingIco'></map-Point> :resettingIco='mapInfo.resettingIco'></map-Point>

@ -0,0 +1,78 @@
<template>
<view class="page-css">
<view class="search-box">
<betone-new-input v-model="searchInfo.name" placeholder="搜索物品名称" icon="search" style="margin-bottom: 32rpx"
@changevalue="searchData()" />
</view>
<view class="material-box">
</view>
<view class="evaluate_box">
<!-- <view class="evaluate_btn">
确定
</view> -->
<u-button class="evaluate_btn" size="medium" type="primary">确定</u-button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
searchInfo: {
name: '',
}
}
},
methods: {
searchData() {
//
}
}
}
</script>
<style lang="scss" scoped>
.page-css {
padding: 0;
display: flex;
flex-direction: column;
.search-box {
background: rgba(248, 248, 248, 1);
height: 140rpx;
padding: 0 32rpx 0;
}
.material-box{
flex: 1;
background: #fff;
margin: 24rpx 24rpx 178rpx 24rpx;
border-radius: 20rpx;
overflow: auto;
}
.evaluate_box {
width: 100%;
height: 154rpx;
bottom: 0;
position: fixed;
background: #fff;
display: flex;
align-items: center;
justify-content: flex-end;
.evaluate_btn {
width: 160rpx;
height: 60rpx;
border-radius: 8rpx;
background-color: rgba(255, 255, 255, 1);
color: rgba(58, 98, 215, 1);
font-size: 24rpx;
text-align: center;
font-family: PingFangSC-regular;
border: 2rpx solid rgba(58, 98, 215, 1);
margin-right: 26rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
}
</style>

@ -1,9 +1,9 @@
<template> <template>
<view class="pages-css"> <view class="pages-css">
<view class=""> <view class="">
<view class="status_box"> <view class="status_box" v-if="detailForm.status != 2">
<view class="status_top"> <view class="status_top">
<text class="status_txt">{{detailForm.status == 0 ? '待接单' : '维修完成'}}</text> <text class="status_txt">{{ detailForm.status == 0 ? '待接单' : '维修完成' }}</text>
<view class="load_more"> <view class="load_more">
<text class="load_more_txt">查看更多</text> <text class="load_more_txt">查看更多</text>
<img style="transform: rotate(90deg)" src="../../static/images/loadmore.png" alt="" /> <img style="transform: rotate(90deg)" src="../../static/images/loadmore.png" alt="" />
@ -11,7 +11,7 @@
</view> </view>
<view class="status_bottom"> <view class="status_bottom">
<text class="status_tip"> <text class="status_tip">
{{detailForm.status == 0 ? '【待接单】当前工单等待接单中' : '【维修完成】维修完成,请尽快完成评价'}} {{ detailForm.status == 0 ? '【待接单】当前工单等待接单中' : '【维修完成】维修完成,请尽快完成评价' }}
</text> </text>
<!-- <text class="status_date">{{detailForm.createTime.substring(0,10)}}</text> --> <!-- <text class="status_date">{{detailForm.createTime.substring(0,10)}}</text> -->
</view> </view>
@ -21,26 +21,26 @@
<view class="repair_title">故障详情</view> <view class="repair_title">故障详情</view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">故障描述</text> <text class="item_left_txt">故障描述</text>
<text class="item_right_txt reason">{{detailForm.faultDescribe}}</text> <text class="item_right_txt reason">{{ detailForm.faultDescribe }}</text>
</view> </view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">故障位置</text> <text class="item_left_txt">故障位置</text>
<text class="item_right_txt">{{detailForm.faultLocation}}</text> <text class="item_right_txt">{{ detailForm.faultLocation }}</text>
</view> </view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">设备名称</text> <text class="item_left_txt">设备名称</text>
<text class="item_right_txt">{{detailForm.deviceName}}</text> <text class="item_right_txt">{{ detailForm.deviceName }}</text>
</view> </view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">故障类别</text> <text class="item_left_txt">故障类别</text>
<text class="item_right_txt">{{detailForm.faultType}}</text> <text class="item_right_txt">{{ detailForm.faultType }}</text>
</view> </view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">故障视频</text> <text class="item_left_txt">故障视频</text>
<view class="item_right_txt video"> <view class="item_right_txt video">
<!-- http://124.221.142.15:9000/laboratory/upload/20241112/45fb049735d6225f7efdcf0faece6477.mp4 --> <video v-if="detailForm.videoAttaches && detailForm.videoAttaches.length > 0"
<video v-show="detailForm.videoAttaches && detailForm.videoAttaches.length > 0" :src="detailForm.videoAttaches[0].link" style="width: 148px; height: 148px" :src="detailForm.videoAttaches[0].link" style="width: 148px; height: 148px"
controls></video> controls></video>
</view> </view>
</view> </view>
<view class="detail_item"> <view class="detail_item">
@ -48,7 +48,7 @@
<text class="item_right_txt imgs">故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述</text> <text class="item_right_txt imgs">故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述故障描述</text>
</view> </view>
</view> </view>
<view class="repair_detail"> <view class="repair_detail" v-if="detailForm.status != 2">
<view class="repair_title">维修详情</view> <view class="repair_title">维修详情</view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">维修人</text> <text class="item_left_txt">维修人</text>
@ -74,25 +74,25 @@
<view class="table_txt right">金额</view> <view class="table_txt right">金额</view>
</view> </view>
<view class="table_box table_item" v-for="item in tableList" :key="item.id"> <view class="table_box table_item" v-for="item in tableList" :key="item.id">
<view class="table_txt left">{{item.goodsName}}</view> <view class="table_txt left">{{ item.goodsName }}</view>
<view class="table_txt right">{{item.goodsPrice}}</view> <view class="table_txt right">{{ item.goodsPrice }}</view>
</view> </view>
<view class="table_box table_sub"> <view class="table_box table_sub">
<view class="table_txt left">合计</view> <view class="table_txt left">合计</view>
<view class="table_txt right">{{totalPrice}}</view> <view class="table_txt right">{{ totalPrice }}</view>
</view> </view>
<view class="table_box table_sub"> <view class="table_box table_sub">
<view class="table_txt left">折扣</view> <view class="table_txt left">折扣</view>
<view class="table_txt right">{{discount}}</view> <view class="table_txt right">{{ discount }}</view>
</view> </view>
<view class="table_box table_sub"> <view class="table_box table_sub">
<view class="table_txt left">折后价格</view> <view class="table_txt left">折后价格</view>
<view class="table_txt right">{{discountPrice}}</view> <view class="table_txt right">{{ discountPrice }}</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="repair_detail"> <view class="repair_detail" v-if="detailForm.status != 2">
<view class="repair_title">其他信息</view> <view class="repair_title">其他信息</view>
<view class="detail_item"> <view class="detail_item">
<text class="item_left_txt">提报人</text> <text class="item_left_txt">提报人</text>
@ -115,8 +115,50 @@
<text class="item_right_txt">2024-10-12 08:45</text> <text class="item_right_txt">2024-10-12 08:45</text>
</view> </view>
</view> </view>
<!-- 维修按钮 并且是维修人员角色 进来显示 -->
<view class="repair_detail" v-if="detailForm.status == 2 && dataTypes == 4">
<view class="repair_title">处理情况</view>
<view class="detail_item">
<text class="item_left_txt">接单时间</text>
<text class="item_right_txt reason">2024/8/20 9:25:30</text>
</view>
</view>
<view class="repair_detail" v-if="detailForm.status == 2 && dataTypes == 4">
<view class="repair_title">维修详情</view>
<u-form labelPosition="left" :rules="rules" :ref="`repairDetailsForm`" :model="repairDetails"
:label-width="140" class="repair_form">
<u-form-item label="填报人:" prop="reportPeople" :border-bottom="false">
<betone-new-input label="" v-model="repairDetails.reportPeople" placeholder="请输入" />
</u-form-item>
<u-form-item label="设备名称:" prop="deviceName" :border-bottom="false">
<betone-new-input label="" v-model="repairDetails.deviceName" placeholder="请输入" />
</u-form-item>
<u-form-item label="故障原因:" prop="faultReason" :border-bottom="false">
<betone-new-input label="" v-model="repairDetails.faultReason" placeholder="请输入"
type="textarea" />
</u-form-item>
<u-form-item label="处理方法:" prop="dealMethods" :border-bottom="false">
<betone-new-input label="" v-model="repairDetails.dealMethods" placeholder="请输入"
type="textarea" />
</u-form-item>
<u-form-item label="是否申领物料:" prop="isMaterial" :border-bottom="false" :label-width="200">
<uni-data-checkbox v-model="repairDetails.isMaterial"
:localdata="isMaterialList"></uni-data-checkbox>
</u-form-item>
<u-form-item label="维修材料:" prop="materialTable" :border-bottom="false"
v-if="repairDetails.isMaterial == 1">
<u-button size="medium" :plain="true" style="margin-right: 32rpx;width:100%" type="primary"
@click="goPage('/pages/submission/materialSelect')">添加</u-button>
</u-form-item>
</u-form>
</view>
<view class="repair-btn" style="margin-right: 32rpx;width:100%">
<!-- <u-button size="medium">保存</u-button> -->
<u-button size="medium" type="primary" @clcik="repairSubmit()">提交</u-button>
</view>
</view> </view>
<view class="evaluate_box"> <view class="evaluate_box" v-if="detailForm.status == 5">
<view class="evaluate_btn"> <view class="evaluate_btn">
评价 评价
</view> </view>
@ -124,239 +166,295 @@
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { computed: {
return { dataTypes() {
tableList: [ return this.$store.state.dataType
{
id:'001',
goodsName: '物料1',
goodsPrice: '1000.00'
},
{
id:'002',
goodsName: '物料2',
goodsPrice: '59.00'
},
{
id:'003',
goodsName: '物料3',
goodsPrice: '25.00'
},
],
totalPrice:'1084.00',
discount:'9',
discountPrice:'975.60',
detailId:'',
detailForm:{}
}
}, },
onLoad(options){ },
console.log('options==========>',options) data() {
this.detailId = options.id return {
this.getDetail() tableList: [
}, {
mounted() { id: '001',
goodsName: '物料1',
}, goodsPrice: '1000.00'
methods:{ },
getDetail(){ {
let query_ = { id: '002',
id: this.detailId goodsName: '物料2',
goodsPrice: '59.00'
},
{
id: '003',
goodsName: '物料3',
goodsPrice: '25.00'
},
],
totalPrice: '1084.00',
discount: '9',
discountPrice: '975.60',
detailId: '',
detailForm: {},
isMaterialList: [
{
text: '是',
value: 1
},
{
text: '否',
value: 0
} }
this.$u.api.getBreakdownInfo(query_).then(res => { ],
this.detailForm = res.data repairDetails: {
console.log('detailForm----------->',this.detailForm) reportPeople: '',//
}) deviceName: '',//
faultReason: '',//
dealMethods: '',//
isMaterial: '',//
materialTable: [],//
}, },
rules: [
]
}
},
onLoad(options) {
this.detailId = options.id
this.getDetail()
},
mounted() {
},
methods: {
//
getDetail() {
let query_ = {
id: this.detailId
}
this.$u.api.getBreakdownInfo(query_).then(res => {
if (res.code == 200) {
this.detailForm = res.data
}
})
},
//
repairSubmit() {
},
goPage(path) {
uni.navigateTo({
url: path,
});
} }
} }
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.pages-css { .pages-css {
width: 100%;
padding: 0;
background: rgba(239, 239, 239, 1);
padding-top: 26rpx;
padding-bottom: 180rpx;
.status_box {
margin: 0 24rpx 20rpx;
height: 180rpx;
border-radius: 20rpx;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 36rpx;
text-align: left;
font-family: -bold;
.status_top { width: 100%;
width: 100%; padding: 0;
padding: 40rpx 20rpx 30rpx 30rpx; background: rgba(239, 239, 239, 1);
// background-color: red; padding-top: 26rpx;
display: flex; padding-bottom: 180rpx;
justify-content: space-between;
align-items: center;
.status_txt { .status_box {
color: rgba(0, 0, 0, 1); margin: 0 24rpx 20rpx;
font-size: 36rpx; height: 180rpx;
text-align: left; border-radius: 20rpx;
font-family: SourceHanSansSC-bold; background-color: rgba(255, 255, 255, 1);
font-weight: bold; color: rgba(16, 16, 16, 1);
} font-size: 36rpx;
text-align: left;
font-family: -bold;
.load_more { .status_top {
color: rgba(108, 108, 108, 1); width: 100%;
font-size: 28rpx; padding: 40rpx 20rpx 30rpx 30rpx;
text-align: left; // background-color: red;
font-family: SourceHanSansSC-regular; display: flex;
display: flex; justify-content: space-between;
align-items: center; align-items: center;
}
.status_txt {
color: rgba(0, 0, 0, 1);
font-size: 36rpx;
text-align: left;
font-family: SourceHanSansSC-bold;
font-weight: bold;
} }
.status_bottom { .load_more {
display: flex; color: rgba(108, 108, 108, 1);
justify-content: space-between;
align-items: center;
color: rgba(190, 190, 190, 1);
font-size: 28rpx; font-size: 28rpx;
text-align: left; text-align: left;
font-family: SourceHanSansSC-regular; font-family: SourceHanSansSC-regular;
display: flex;
align-items: center;
}
}
.status_date { .status_bottom {
margin-right: 22rpx; display: flex;
} justify-content: space-between;
align-items: center;
color: rgba(190, 190, 190, 1);
font-size: 28rpx;
text-align: left;
font-family: SourceHanSansSC-regular;
.status_date {
margin-right: 22rpx;
} }
} }
}
.fault_detail { .fault_detail {
margin: 0 24rpx 20rpx; margin: 0 24rpx 20rpx;
height: 180rpx; height: 180rpx;
border-radius: 20rpx; border-radius: 20rpx;
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
}
.repair_detail {
margin: 0 24rpx 20rpx;
border-radius: 20rpx;
background-color: rgba(255, 255, 255, 1);
padding: 6rpx 0 34rpx;
.repair_title {
line-height: 60rpx;
color: rgba(0, 0, 0, 1);
font-size: 32rpx;
text-align: left;
font-family: SourceHanSansSC-bold;
margin: 18rpx 0 0rpx 20rpx;
font-weight: bold;
} }
.repair_detail { .detail_item {
margin: 0 24rpx 20rpx; padding: 4rpx 20rpx 0;
border-radius: 20rpx;
background-color: rgba(255, 255, 255, 1);
padding:6rpx 0 34rpx;
.repair_title { display: flex;
line-height: 60rpx; align-items: center;
color: rgba(0, 0, 0, 1); justify-content: space-between;
font-size: 32rpx;
.item_left_txt {
color: rgba(108, 108, 108, 1);
font-size: 14px;
text-align: left; text-align: left;
font-family: SourceHanSansSC-bold; font-family: SourceHanSansSC-regular;
margin: 18rpx 0 0rpx 20rpx; width: 200rpx;
font-weight: bold; margin-right: 20rpx;
line-height: 60rpx;
} }
.detail_item { .item_right_txt {
padding: 4rpx 20rpx 0; max-width: calc(100% - 220rpx);
color: rgba(0, 0, 0, 1);
font-size: 28rpx;
// text-align: left;
text-align: justify;
font-family: SourceHanSansSC-regular;
}
display: flex; .item_right_table {
align-items: center; width: calc(100% - 220rpx);
justify-content: space-between; margin-top: 10rpx;
.item_left_txt { .table_box {
color: rgba(108, 108, 108, 1); width: 100%;
height: 60rpx;
background-color: #e8e8e8;
border: 1px solid #bbbbbb;
font-size: 14px; font-size: 14px;
text-align: left; color: #101010;
font-family: SourceHanSansSC-regular;
width: 200rpx;
margin-right: 20rpx;
line-height: 60rpx; line-height: 60rpx;
} display: flex;
.item_right_txt {
max-width: calc(100% - 220rpx);
color: rgba(0, 0, 0, 1);
font-size: 28rpx;
// text-align: left;
text-align: justify;
font-family: SourceHanSansSC-regular;
}
.item_right_table { .left {
width: calc(100% - 220rpx); width: 72%;
margin-top: 10rpx; height: 100%;
text-align: center;
.table_box { border-right: 2rpx solid #bbbbbb;
width: 100%;
height: 60rpx;
background-color: #e8e8e8;
border: 1px solid #bbbbbb;
font-size: 14px;
color: #101010;
line-height: 60rpx;
display: flex;
.left {
width: 72%;
height: 100%;
text-align: center;
border-right: 2rpx solid #bbbbbb;
}
.right {
width: 28%;
height: 100%;
text-align: center;
}
}
.table_item{
background-color: #fff;
border-top: none;
} }
.table_sub{
border-top: none; .right {
background-color: #fff; width: 28%;
height: 100%;
text-align: center;
} }
} }
.reason { .table_item {
word-wrap: warp; background-color: #fff;
text-overflow: ellipsis; border-top: none;
display: -webkit-box; }
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; .table_sub {
/* 定义显示的行数 */ border-top: none;
overflow: hidden; background-color: #fff;
text-overflow: ellipsis;
} }
} }
.reason {
word-wrap: warp;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
/* 定义显示的行数 */
overflow: hidden;
text-overflow: ellipsis;
}
} }
}
.evaluate_box { .evaluate_box {
width: 100%; width: 100%;
height: 154rpx; height: 154rpx;
bottom: 0; bottom: 0;
position: fixed; position: fixed;
background: #fff; background: #fff;
display: flex;
align-items: center;
justify-content: flex-end;
.evaluate_btn {
width: 160rpx;
height: 60rpx;
border-radius: 8rpx;
background-color: rgba(255, 255, 255, 1);
color: rgba(58, 98, 215, 1);
font-size: 24rpx;
text-align: center;
font-family: PingFangSC-regular;
border: 2rpx solid rgba(58, 98, 215, 1);
margin-right: 26rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: center;
}
.evaluate_btn { }
width: 160rpx;
height: 60rpx; .repair_form {
border-radius: 8rpx; padding: 0 32rpx;
background-color: rgba(255, 255, 255, 1); }
color: rgba(58, 98, 215, 1);
font-size: 24rpx; .repair-btn {
text-align: center; width: 100%;
font-family: PingFangSC-regular; display: flex;
border: 2rpx solid rgba(58, 98, 215, 1); justify-content: space-around;
margin-right: 26rpx; /* 水平均匀分布 */
display: flex; margin-top: 32rpx;
align-items: center; padding: 0 32rpx;
justify-content: center;
} /deep/.u-btn {
width: 100%;
} }
} }
}
</style> </style>

@ -19,6 +19,7 @@ const store = new Vuex.Store({
维修负责人 1839537055389515777 维修负责人 1839537055389515777
维修人员 1839552581620793346 维修人员 1839552581620793346
*/ */
// console.log(66666666666,role_id)
if(role_id == "1123598816738675201"||role_id == "1846419477876510721"){ if(role_id == "1123598816738675201"||role_id == "1846419477876510721"){
commit('updateDatatype', 1) //客户 commit('updateDatatype', 1) //客户
} }

Loading…
Cancel
Save