消息列表接口完毕,客户提的修改完毕(涉及故障--->维保,维修--->维保,实时故障--->实时工单,个人信息页面身份证正反面拆分为两个单独字段)、项目详情接口90%、巡检记录接口完毕、项目列表接口80%

master
chen 2022-04-12 08:50:56 +08:00
parent d63756e6be
commit 487c8099a9
16 changed files with 213 additions and 169 deletions

View File

@ -361,9 +361,11 @@ uni-radio .uni-radio-input {border: 1rpx solid #444444;}
margin-top: 10rpx;
}
/* 消息中心 */
.message-circle{display: flex;align-items: center;}
.message-circle::before {
content: '';
display: flex;
flex-shrink: 0;
width: 24rpx;
height: 24rpx;
background-color: #6f91ff;
@ -378,4 +380,7 @@ uni-radio .uni-radio-input {border: 1rpx solid #444444;}
}
.system-notification::before {
background-color: #2cfc3b;
}
.server-message::before {
background-color: #FF0000;
}

View File

@ -37,7 +37,7 @@
<text class="icon-text">正常</text>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维</text>
<text class="icon-text">待维</text>
</view>
</view>
<view class="li">
@ -73,7 +73,7 @@
<text class="icon-text">正常</text>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维</text>
<text class="icon-text">待维</text>
</view>
</view>
<view class="li">
@ -109,7 +109,7 @@
<text class="icon-text">正常</text>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维</text>
<text class="icon-text">待维</text>
</view>
</view>
</view>

View File

@ -49,7 +49,7 @@
<view class="last-date-content">
<image class="icon" src="../../static/iocn/gzzt.png" mode=""></image>
<view class="text">
最近一次故障时间2021-11-18 170016
最近一次维保时间2021-11-18 170016
</view>
</view>
</view>
@ -232,7 +232,7 @@
<view class="list">
<view class="li pad-z40 fon27 col9" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in 10" :key="index">
<view class="disac fw line-h60">
<view class="text">部分模组不显示故障陈志远已处理</view>
<view class="text">部分模组不显示维保陈志远已处理</view>
<view class="date">2020-05-15 16:00</view>
</view>
</view>
@ -260,7 +260,7 @@
interval: 3000,
index: 1,
recordState: [{
title: '维记录',
title: '维记录',
state: true
},
{

View File

@ -1,6 +1,6 @@
<template>
<view class="content">
<statusNav navBarTitle="故障统计" returnColor="#c2c2c2"></statusNav>
<statusNav navBarTitle="维保统计" returnColor="#c2c2c2"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="faultStatistics-nav">
@ -33,7 +33,7 @@
</view>
</view>
<view class="fault-type">
<view class="settlement-type-title">故障类型</view>
<view class="settlement-type-title">维保类型</view>
<view class="charts-box">
<qiun-data-charts type="ring" :chartData="chartData" background="none" />
</view>

View File

@ -54,7 +54,7 @@
</view>
<view class="date-con-li">
<view class="text">
项目故障
项目维保
</view>
<view class="single-amount">
0
@ -87,7 +87,7 @@
</view>
<view class="date-con-li">
<view class="text">
项目故障
项目维保
</view>
<view class="single-amount">
0
@ -120,7 +120,7 @@
</view>
<view class="date-con-li">
<view class="text">
项目故障
项目维保
</view>
<view class="single-amount">
0

View File

@ -7,35 +7,25 @@
<view class="details-head">
<view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval" circular>
<swiper-item>
<swiper-item v-for="(item,index) in projectObj.completed_img" :key="index">
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
<image class="img" :src="item" mode="aspectFill"></image>
</view>
</swiper-item>
</swiper>
<view class="indication-point fon24 disjcac">{{index}}/3</view>
<view class="indication-point fon24 disjcac">{{index}}/{{projectObj.completed_img.length}}</view>
</view>
<view class="title">湖南工业大学生化学院会议室P2.5全彩LED显示屏</view>
<view class="code">XM20220108-1001</view>
<view class="title">{{projectObj.project_name}}</view>
<view class="code">{{projectObj.project_number}}</view>
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode=""></image>
<view class="text">湖南省长沙市高新开发区谷园路109号像素大厦1205</view>
<view class="text">{{projectObj.address}}</view>
</view>
</view>
<view class="last-date">
<view class="last-date-content">
<image class="icon" src="../../static/iocn/gzzt.png" mode=""></image>
<view class="text">最近一次故障时间2021-11-18 170016</view>
<view class="text">最近一次维保时间{{projectObj.downtime}}</view>
</view>
</view>
</view>
@ -44,26 +34,26 @@
<view class="text">项目概况</view>
</view>
<view class="project-message-content">
<view class="li">
<view class="li" v-if="projectObj.product_brand">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">海康威视</view>
<view class="text">{{projectObj.product_brand}}</view>
</view>
<view class="li">
<view class="li" v-if="projectObj.product_model">
<view class="title-one">
<text></text>
<text></text>
<text></text>
</view>
<view class="text">DS-CK25FI/H</view>
<view class="text">{{projectObj.product_model}}</view>
</view>
<view class="li">
<view class="li" v-if="projectObj.product_size">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">3.94*2.02m</view>
<view class="text">{{projectObj.product_size}}</view>
</view>
<view class="li">
<view class="title">安装位置</view>
@ -81,14 +71,15 @@
</view>
</view>
<view class="record-content">
<view class="title">追踪</view>
<view class="title">追踪</view>
<view class="list">
<view class="li pad-z40 fon27 col9" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in 10" :key="index">
<view class="li pad-z40 fon27 col9" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in recordList" :key="index">
<view class="disac fw line-h60">
<view class="text">部分模组不显示故障陈志远已处理</view>
<view class="date">2020-05-15 16:00</view>
<view class="text">{{item.time_line}}</view>
<!-- <view class="date">2020-05-15 16:00</view> -->
</view>
</view>
<pitera v-if="recordList.length==0" :textStr="nomoreText"></pitera>
</view>
</view>
</view>
@ -99,10 +90,12 @@
<script>
import statusNav from "../../components/status-nav.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import pitera from '@/components/nothing/pitera.vue';
export default {
components: {
statusNav,
containerSubgroupTwo
containerSubgroupTwo,
pitera
},
data() {
return {
@ -111,7 +104,7 @@
index: 1,
projectId: "",
recordState: [{
title: '维记录',
title: '维记录',
state: true
},
{
@ -122,35 +115,66 @@
title: '巡检记录',
state: false
},
]
],
projectObj:'',
typeId:1,// 1 2: 3:
list_rows:200,
page:1,
recordList:[],//
nomoreText:''
}
},
onLoad(option) {
this.projectId = option.id
this.getData()
onLoad(op) {
this.projectId = op.id
this.getData(this.projectId);
this.getRecord();
},
methods: {
//
getRecord(){
let params = {
project_id: this.projectId,
type_id: this.typeId, // 1 2: 3:
list_rows: this.list_rows,
page:this.page
}
this.$requst.get('/universal/api.project/recording',params).then(res=>{
if(res.code) {
/**
* {
* time_line:''
* }
*/
this.recordList = res.data.data;
} else {
this.nomoreText = res.msg;
}
})
},
changeAutoplay(data) {
console.log()
this.index = data.detail.current - 0 + 1
},
getData() {
getData(id) {
this.$requst.get('/universal/api.project/project_info', {
id: this.projectId,
project_id: id,
}).then(res => {
if (res.code == 1) {
console.log(res.data.data)
if (res.code) {
this.projectObj = res.data;
console.log(this.projectObj);
} else {
}
})
},
recordNav(index) {
if(index==0) this.typeId = 1;
if(index==1) this.typeId = 2;
if(index==2) this.typeId = 3;
for (var i = 0; i < this.recordState.length; i++) {
this.recordState[i].state = false
}
this.recordState[index].state = true
this.getRecord();
}
}
}

View File

@ -12,18 +12,17 @@
</view>
</view>
<view class="screen bbot mar-sx20">
<picker class="width30 disjcac" @change="bindPickerChange" :value="index" :range="array" :range-key="'title'">
<picker class="width30 disjcac" @change="bindPickerChange" :value="index" :range="array" :range-key="'name'">
<view class="li">
<view v-if="initial_value!=''" class="text">{{initial_value}}</view>
<view v-else class="text">{{array[index].title}}</view>
<view v-else class="text clips1">{{array[index].name}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load></image>
</view>
</picker>
<picker class="width30 disjcac" mode="date" :value="date" @change="bindDateChange">
<view class="li">
<view class="text">竣工日期</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load>
</image>
<view class="text">{{completion_time || '竣工日期'}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load></image>
</view>
</picker>
<view class="li width30 disjcac">
@ -33,17 +32,16 @@
</view>
</view>
<view class="project-list">
<view class="li" @click="projectDetailsFun(item.id)" v-for="(item,index) in dataList.data" :key="index">
<view class="li" @click="projectDetailsFun(item.project_id)" v-for="(item,index) in dataList.data" :key="index">
<view class="message">
<image class="img" src="../../static/del/img001.png" mode="aspectFill" lazy-load></image>
<view class="text disjb fc" style="height: 180rpx;">
<view class="clips1 fon24 bold">{{item.project_name}}</view>
<view class="disjb fc" style="margin-left: -20rpx;height: 80%;">
<view class="serial-number scal09">项目编号{{item.projectCode}}</view>
<view class="specification scal09">规格型号{{item.project_number}}</view>
<view class="specification scal09">产品尺寸{{item.size}}</view>
<view class="installation-site scal09">安装位置{{item.installation_location}}
</view>
<view class="line-h38" style="margin-left: -20rpx;height: 80%;">
<view class="serial-number scal09" v-if="item.project_number">{{item.project_number}}</view>
<view class="specification scal09" v-if="item.product_model">{{item.product_model}}</view>
<view class="specification scal09" v-if="item.product_size">{{item.product_size}}</view>
<view class="installation-site scal09" v-if="item.installation_location">{{item.installation_location}}</view>
</view>
</view>
</view>
@ -54,12 +52,14 @@
<view class="text scal09" style="margin-left: -26rpx;">{{item.address}}
</view>
</view>
<view class="date scal09">{{item.date}}</view>
<view class="date scal09 flexs">{{item.joint_starting_times}}</view>
</view>
<view v-if="item.warranty_time==1" class="icon iconBera"></view>
<view v-else class="icon iconBer">质保到期</view>
</view>
<pitera v-if="total==dataList.data.length && dataList.data.length" textStr="暂无更多项目列表数据"></pitera>
</view>
<nothing-page v-if="dataList.data.length==0" content="暂无更多项目列表数据"></nothing-page>
</view>
</container-subgroup-two>
<footTabOne :current="1"></footTabOne>
@ -70,11 +70,13 @@
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import pitera from '@/components/nothing/pitera.vue';
export default {
components: {
footTabOne,
statusNav,
containerSubgroupTwo
containerSubgroupTwo,
pitera
},
data() {
const currentDate = this.getDate({
@ -85,15 +87,7 @@
inputData: "",
date: currentDate,
initial_value:'产品类型',
array: [{
title: "质保中",
key: 0,
}, {
title: "质保到期",
key: 1
}, ],
array: [],
index: 0,
statusHeight: uni.getSystemInfoSync().statusBarHeight + 40,
dataList: {
@ -101,27 +95,37 @@
page: 1,
data: [
]
}
},
productType:'',//id
completion_time:'',//
total:''//
}
},
onReachBottom() {
if(this.total!=this.dataList.data.length) {
this.dataList.page++;
this.getData();
}
},
onLoad() {
this.getData()
//
this.getProjectType();
},
methods: {
//
getData() {
if(this.dataList.page==1) this.dataList.data = [];
this.$requst.get('/universal/api.project/project_list', {
product_type:this.productType,
completion_time:this.completion_time,
list_rows: this.dataList.list_rows,
page: this.dataList.page,
page: this.dataList.page
}).then(res => {
// this.$toolAll.tools.showToast(res.msg);
console.log(res.data.data)
if (res.code == 1) {
this.dataList.data = res.data.data
} else {
if (res.code) {
//
this.total = res.data.total;
this.dataList.data = [...this.dataList.data,...res.data.data];
}
})
},
@ -130,30 +134,31 @@
url: `/pages/project/details?id=${id}`
})
},
//
inquireProject() {
this.$requst.post('/universal/api.project/project_list', {
list_rows: this.dataList.list_rows,
page: this.dataList.page,
value: this.inputData,
}).then(res => {
// this.$toolAll.tools.showToast(res.msg);
if (res.code == 0) {
console.log(res.data.data)
// this.dataList = res.data.data
} else {
}
})
},
//
getProjectType(){
this.$requst.get('/universal/api.project/project_type').then(res=>{
if(res.code) {
this.array = res.data;
}
})
},
bindPickerChange(data) {
console.log(data)
// console.log(data)
this.initial_value = '';
this.index = data.detail.value;
this.dataList.page = 1;
// id
this.productType = this.array[this.index].id;
//
this.getData();
},
bindDateChange(date) {
console.log(date)
// console.log(date)
this.dataList.page = 1;
//
this.completion_time = date.detail.value;
//
this.getData();
},
getDate(type) {
const date = new Date();

View File

@ -12,10 +12,10 @@
<view class="repairs-hint padding">
<image class="icon" src="../../static/iocn/lp.png" mode="aspectFill"></image>
<view class="text">
请务必拍好故障照片或视频上传,便于技术工程师作为判断依据,带齐 相关维保设备高效为您提供服务
请务必拍好维保照片或视频上传,便于技术工程师作为判断依据,带齐 相关维保设备高效为您提供服务
</view>
</view>
<view class="fault-type-title padding">故障类型</view>
<view class="fault-type-title padding">维保类型</view>
<view class="padding fault-type-content">
<view class="li" @click="repairsTypeFun(index)" :class="index==indexType?'on':''"
v-for="(item,index) in faultTypeData">
@ -33,10 +33,10 @@
mode="aspectFill"></image>
<view class="fault-pictures-con" v-else>
<image class="img" src="../../static/iocn/gz.png" lazy-load mode="aspectFill"></image>
<view class="text">添加故障图片</view>
<view class="text">添加维保图片</view>
</view>
</view>
<textarea v-model="data.fault_describe" class="fault-description radius10" placeholder="故障情况描述"
<textarea v-model="data.fault_describe" class="fault-description radius10" placeholder="维保情况描述"
placeholder-class="fault-description-text" />
<view class="detailed-address inputCss">
<input type="text" v-model="data.service_address" class="fon26 width100"
@ -52,7 +52,7 @@
placeholder="请选择上门时间" placeholder-class="inputCss-input" />
<yy-mm-dd-hh-ss ref="myPicker" @submit="handleSubmit" :start-year="2022" :end-year="2122">
</yy-mm-dd-hh-ss>
<button class="submit-button" @click="submitButton()" type="default">提交故障申报</button>
<button class="submit-button" @click="submitButton()" type="default">提交维保申报</button>
</view>
</view>
</container-subgroup>
@ -105,7 +105,7 @@
},
methods: {
//
//
getType() {
// /universal/api.order/fault_type
this.$requst.post('/universal/api.work_order/fault_type').then(res => {

View File

@ -41,7 +41,7 @@
</view>
<view class="bleft" style="height: 90rpx;"></view>
<view class="disjcac fc width50">
<view class="fon26 col9">实时故障</view>
<view class="fon26 col9">实时工单</view>
<view class="fon60 bold">116</view>
</view>
</view>
@ -91,9 +91,9 @@
</view>
<!-- 工程师可见 -->
<view v-if="role==4 || role==3">
<!-- 项目维 -->
<!-- 项目维 -->
<view class="home-fun-box" v-if="role==4">
<view class="fun-title col3 fon28 disac bold">项目维</view>
<view class="fun-title col3 fon28 disac bold">项目维</view>
<view class="disac mar-s40">
<view @tap="stayEv(item.title,item.id)" class="disjcac fc width25" v-for="(item,index) in projectRepairList" :key="index">
<view class="posir" style="height: 58rpx;">
@ -250,7 +250,7 @@
role: uni.getStorageSync('type_id'), // 1 2: 3: 4
statusHeight: uni.getSystemInfoSync().statusBarHeight + 50,
messageNumber: 16 ,//
noticeList:[{id:1,title:'2021年11月06日公司团建服务暂停一天服务暂停一天服务暂停一天。一天服务暂停一天服务暂停一天。'}],//
noticeList:[{id:1,title:'2021年11月06日公司团建服务暂停一天服务暂停一天服务暂停一天。一天服务暂停一天服务暂停一天。'}],//
//
repairList:[
{imgsrc:'/static/public/icon-home-repair.png',title:'报修'},
@ -266,7 +266,7 @@
],
//
otherList:[
{imgsrc:'/static/public/icon-home-largeScreen.png',title:'故障统计'},
{imgsrc:'/static/public/icon-home-largeScreen.png',title:'维保统计'},
{imgsrc:'/static/public/icon-home-reportForm.png',title:'数据看板'},
{imgsrc:'/static/public/icon-home-product.png',title:'新产品'},
],
@ -277,11 +277,11 @@
{imgsrc:'/static/deleteImg/flying-img03.png',title:'会议室解决方案'},
{imgsrc:'/static/deleteImg/flying-img04.png',title:'实体店解决方案'},
],
//
//
projectRepairList:[
{imgsrc:'/static/public/icon-home-staySingle.png',title:'待接单',num:0,id:2},
{imgsrc:'/static/public/icon-home-stayImplement.png',title:'待执行',num:99,id:0},
{imgsrc:'/static/public/icon-home-repairIng.png',title:'维中',num:6,id:4},
{imgsrc:'/static/public/icon-home-repairIng.png',title:'维中',num:6,id:4},
],
//
workOrderList:[
@ -300,7 +300,7 @@
stayWorkOrderList:[
{imgsrc:'/static/public/icon-home-stayImplement.png',title:'待受理',num:0,id:0},
{imgsrc:'/static/public/icon-home-stayAssign.png',title:'待指派',num:6,id:0},
{imgsrc:'/static/public/icon-home-stayRepair.png',title:'待维',num:6,id:3},
{imgsrc:'/static/public/icon-home-stayRepair.png',title:'待维',num:6,id:3},
{imgsrc:'/static/public/icon-home-returnVisit.png',title:'待回访',num:0,id:8},
],
//

View File

@ -38,7 +38,7 @@
<input type="text" disabled class="input" placeholder="" value="详细地址+某某栋11楼会议室" />
</view>
<view class="li">
<view class="title">故障类型</view>
<view class="title">维保类型</view>
<input type="text" class="input" placeholder="" value="供电不足" />
</view>
<view class="li">
@ -46,13 +46,13 @@
<input type="text" disabled class="input" placeholder="" value="紧急" />
</view>
<view class="li">
<view class="title">故障说明</view>
<view class="title">维保说明</view>
<textarea auto-height disabled class="input"
value="*********************************************************************************************************"
placeholder="" />
</view>
<view class="li">
<view class="title">故障图片</view>
<view class="title">维保图片</view>
<view class="input">
<image class="img" src="../../static/del/img001.png" mode="aspectFill" lazy-load></image>
<image class="img" src="../../static/del/img001.png" mode="aspectFill" lazy-load></image>
@ -142,7 +142,7 @@
</view>
</view>
<view class="li">
<view class="title">故障原因</view>
<view class="title">维保原因</view>
<textarea auto-height disabled class="input "
value="*********************************************************************************************************"
placeholder="" />
@ -220,7 +220,7 @@
<view class="list">
<view class="li pad-z40 fon27 col9 pad-x20" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in 10" :key="index">
<view class="disac fw line-h40">
<view class="text">部分模组不显示故障陈志远已处理</view>
<view class="text">部分模组不显示维保陈志远已处理</view>
<view class="date">2020-05-15 16:00</view>
</view>
</view>

View File

@ -39,19 +39,19 @@
<input type="text" class="input" v-model="targetObj.installLocation" placeholder="请填写安装位置(例:详细地址+某某栋11楼会议室)" :style="{color: targetObj.installLocation!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">故障类型</view>
<input type="text" class="input" v-model="targetObj.faultType" placeholder="请填写故障类型(例:供电不足)" :style="{color: targetObj.faultType!='' ? '#000' : ''}" />
<view class="title flexs">维保类型</view>
<input type="text" class="input" v-model="targetObj.faultType" placeholder="请填写维保类型(例:供电不足)" :style="{color: targetObj.faultType!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">紧急程度</view>
<input type="text" disabled class="input" placeholder="" :value="targetObj.urgentDegree" />
</view>
<view class="li">
<view class="title flexs"> 故障说明</view>
<textarea class="input line-h36" v-model="targetObj.faultExplain" style="height: 110rpx;" placeholder="请输入故障说明" :style="{color: targetObj.faultExplain!='' ? '#000' : ''}" />
<view class="title flexs"> 维保说明</view>
<textarea class="input line-h36" v-model="targetObj.faultExplain" style="height: 110rpx;" placeholder="请输入维保说明" :style="{color: targetObj.faultExplain!='' ? '#000' : ''}" />
</view>
<view class="li">
<view class="title flexs">故障图片</view>
<view class="title flexs">维保图片</view>
<view class="input">
<view v-for="(item,index) in targetObj.faultImgList" :key="index" v-if="targetObj.faultImgList.length!=0">
<image class="img" :src="item" mode="aspectFill" ></image>
@ -104,10 +104,10 @@
projectName:'湖南省林业科学院11楼会议室P2.5', //
productType:'一拳超人', //
installLocation:'手臂', //
faultType:'脱节', //
faultType:'脱节', //
urgentDegree:'紧急', //
faultExplain:'摔了一跤', //
faultImgList:[], //
faultExplain:'摔了一跤', //
faultImgList:[], //
reporter:'林某', //
declarationTime:'2022/3/31 12:01:00', //
serviceMode: '手把手' ,//
@ -120,7 +120,7 @@
ifParts:false,//
workDescribe:'',//
maintenanceImgList:[],//
faultReason:'',//
faultReason:'',//
maintenancePersonnel:''//
},
flag:true
@ -177,11 +177,11 @@
} else if(!this.targetObj.installLocation) {
this.$toolAll.tools.showToast('请填写安装位置');
} else if(!this.targetObj.faultType) {
this.$toolAll.tools.showToast('请填写故障类型');
this.$toolAll.tools.showToast('请填写维保类型');
} else if(!this.targetObj.faultExplain) {
this.$toolAll.tools.showToast('请填写故障说明');
this.$toolAll.tools.showToast('请填写维保说明');
} else if(this.targetObj.faultImgList.length==0) {
this.$toolAll.tools.showToast('请添加故障图片');
this.$toolAll.tools.showToast('请添加维保图片');
} else if(!this.targetObj.serviceMode) {
this.$toolAll.tools.showToast('请填写服务方式');
} else {

View File

@ -50,7 +50,7 @@
紧急程度<view class="text"> {{item.emergency_level_view}}</view>
</view>
<view class="specification scal09">主负责人{{item.principal}}</view>
<view class="installation-site scal09 clips1">故障描述{{item.failure_description}}</view>
<view class="installation-site scal09 clips1">维保描述{{item.failure_description}}</view>
</view>
</view>
</view>

View File

@ -39,7 +39,7 @@
<input type="text" class="input input-black" disabled :value="targetObj.installLocation" />
</view>
<view class="li">
<view class="title">故障类型</view>
<view class="title">维保类型</view>
<input type="text" class="input input-black" disabled :value="targetObj.faultType" />
</view>
<view class="li">
@ -47,11 +47,11 @@
<input type="text" class="input input-black" disabled :value="targetObj.serviceMode" />
</view>
<view class="li">
<view class="title">故障说明</view>
<view class="title">维保说明</view>
<textarea auto-height disabled class="input input-black" :value="targetObj.faultExplain" />
</view>
<view class="li">
<view class="title">故障图片</view>
<view class="title">维保图片</view>
<view class="input add-display">
<view class="">
<image class="img" v-for="(item,index) in targetObj.faultImgList" :src="item" mode="aspectFill" lazy-load></image>
@ -122,8 +122,8 @@
</view>
</view>
<view class="li">
<view class="title">故障原因</view>
<textarea maxlength="-1" v-model="targetObj.faultReason" class="input input-black line-h36" placeholder="请填写故障原因" style="height: 110rpx;" />
<view class="title">维保原因</view>
<textarea maxlength="-1" v-model="targetObj.faultReason" class="input input-black line-h36" placeholder="请填写维保原因" style="height: 110rpx;" />
</view>
<view class="li">
<view class="title">维保人员</view>
@ -235,7 +235,7 @@
} else if(this.targetObj.maintenanceImgList.length==0) {
this.$toolAll.tools.showToast('请上传维保图片');
} else if(!this.targetObj.faultReason) {
this.$toolAll.tools.showToast('请填写故障原因');
this.$toolAll.tools.showToast('请填写维保原因');
} else if(!this.targetObj.maintenancePersonnel) {
this.$toolAll.tools.showToast('请填写维保人员');
} else {

View File

@ -7,10 +7,11 @@
</view>
<container-subgroup>
<view slot="content">
<view @longtap.stop="longTap(index)" @tap="chooseDel(index,item.id)" class="mar-x10 bacf" :style="{backgroundColor: (ifDel && item.status) ? '#dddddd' :''}" v-for="(item,index) in dataList" :key="index">
<!-- <view @longtap.stop="longTap(index)" @tap="chooseDel(index,item.id)" class="mar-x10 bacf" :style="{backgroundColor: (ifDel && item.status) ? '#dddddd' :''}" v-for="(item,index) in dataList" :key="index"> -->
<view class="mar-x10 bacf" :style="{backgroundColor: (ifDel && item.status) ? '#dddddd' :''}" v-for="(item,index) in dataList" :key="index">
<view class="pad-sx30 pad-zy20 disjbac">
<view class="fon30 message-circle disac" :class="['activity-message','audit-failed','system-notification'][index]">{{item.title}}{{item.id}}</view>
<view class="fon26 col9">{{item.time}}</view>
<view class="fon30 message-circle disac" :class="['','system-notification','activity-message','server-message','audit-failed'][item.message_type]"><view class="clips1 mar-y20">{{item.title}}</view></view>
<view class="fon26 col9 flexs">{{item.time}}</view>
</view>
<view class="bbot"></view>
<view class="fon27 line-h46 pad-zy20 pad-sx30" style="color: #737373;">{{item.content}}</view>
@ -34,20 +35,7 @@
newTop: uni.getSystemInfoSync().statusBarHeight + 40,
ifDel:false,
total:12,
dataList:[
{id:1,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:2,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:3,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:4,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:5,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:6,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:7,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:8,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:9,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:10,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:11,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
{id:12,title:'活动消息',time:'2020.06.17 18:30',content:'恭喜您成为第99位会员我们将赠送您一张优惠 券您可以享受8折优惠购买....',status:false},
],
dataList:[],
delArrId:[]
}
},
@ -58,7 +46,22 @@
//
getMessageList(){
this.$requst.get('/universal/api.message/message_list',{page: 1,list_rows: 200}).then(res=>{
if(res.code) {
if(res.data.data.length) {
res.data.data.forEach(item=>{
let obj = {
id:item.message_id,
title:item.title,
content:item.content,
time:item.create_time,
is_read:item.is_read,
message_type:item.message_type,
status:false
}
this.dataList.push(obj);
})
}
}
})
},
//

View File

@ -66,7 +66,7 @@
</view>
<view class="fon24 disjbac mar-sx10">
<view class="col9">工单编号{{item.number}}</view>
<view style="color: #00a2e9;">故障类型{{item.type}}</view>
<view style="color: #00a2e9;">维保类型{{item.type}}</view>
</view>
<view class="fon24">
<view class="col9 disac width100">
@ -110,10 +110,10 @@
{prices:'1088',workOrderNum:'GD20220112-1001',way:'现金',date:'2019-7-24'},
],
unsettledList:[
{id:1,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组故障',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:2,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组故障',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:3,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组故障',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:4,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组故障',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:1,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组维保',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:2,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组维保',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:3,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组维保',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
{id:4,title:'株洲市XXX项目名称',name:'林小雨',number:'GD20220112-1001',date:'2022-01-12 13:25:16',type:'模组维保',status:'维保已完成',address:'湖南省长沙市xx区1001栋6-12',priceo:'260.0'},
],
ifDetail:false
}

View File

@ -48,33 +48,40 @@
</view>
</view>
<view class="bacf pad-sx30 pad-zy40 disac bbot">
<view class="bold width30 flexs">身份证正</view>
<view class="bold width30 flexs">身份证正</view>
<view style="color: #f26803;" class="width100 disjbac">
<text @tap="previewImageEv(0)"></text>
<image @tap="uploadImgEv(0)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
</view>
</view>
<view class="bacf pad-sx30 pad-zy40 disac bbot">
<view class="bold width30 flexs">意外险材料</view>
<view class="bold width30 flexs">身份证反面</view>
<view style="color: #f26803;" class="width100 disjbac">
<text @tap="previewImageEv(1)"></text>
<image @tap="uploadImgEv(1)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
</view>
</view>
<view class="bacf pad-sx30 pad-zy40 disac bbot">
<view class="bold flexs mar-y40">签署工程师合作协议</view>
<view class="bold width30 flexs">意外险材料</view>
<view style="color: #f26803;" class="width100 disjbac">
<text @tap="previewImageEv(2)"></text>
<image @tap="uploadImgEv(2)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
</view>
</view>
<view class="bacf pad-sx30 pad-zy40 disac bbot">
<view class="bold width30 flexs">技能证书</view>
<view class="bold flexs mar-y40">签署工程师合作协议</view>
<view style="color: #f26803;" class="width100 disjbac">
<text @tap="previewImageEv(3)"></text>
<image @tap="uploadImgEv(3)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
</view>
</view>
<view class="bacf pad-sx30 pad-zy40 disac bbot">
<view class="bold width30 flexs">技能证书</view>
<view style="color: #f26803;" class="width100 disjbac">
<text @tap="previewImageEv(4)"></text>
<image @tap="uploadImgEv(4)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
</view>
</view>
</view>
<view class="person-btn" @tap="sumbmitData"></view>
</view>