修改首页解决方案,微信端兼容性,修改引导页跳转问题,修改详情图片处理、修改列表无更多处理

master
chen 2022-04-22 18:39:36 +08:00
parent 49899aa8ed
commit 33575542f5
25 changed files with 317 additions and 311 deletions

View File

@ -4,7 +4,7 @@
projectname:'', //
lat:'', //
lng:'' ,//
hostapi:'' //
hostapi:'https://7and5.cn' //
},
// show
onLaunch: function() {

View File

@ -1,17 +1,6 @@
// 判断当前环境
const ENV = process.env.NODE_ENV;
console.log(ENV,'当前环境'); // development开发环境 test测试环境 production生产环境
// 配置全局域名
// #ifdef APP-PLUS
const hostapi = 'https://7and5.cn';
// #endif
// #ifdef MP-WEIXIN
const hostapi = 'https://7and5.cn';
// #endif
// #ifdef H5
const hostapi = '/web';
// const hostapi = 'https://7and5.cn';
// #endif
// 清理所有缓存并前往授权页
const goLogin = () => {
uni.clearStorageSync();
@ -90,7 +79,7 @@ const request = (method, url, options) => {
// params.token = uni.getStorageSync('token');
return new Promise((resolve, reject) => {
uni.request({
url: `${hostapi}${url}`,
url: `${getApp().globalData.hostapi}${url}`,
method: methods,
data: params,
header: headers,
@ -122,7 +111,7 @@ const uploadFile = (url, options) => {
let tempData = options || {}
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${hostapi}${url}`,
url: `${getApp().globalData.hostapi}${url}`,
filePath: tempData.path,
name: 'file',
fileType:'image',

View File

@ -651,8 +651,10 @@ const tools = {
return arrEntities[t];
})
.replace('<section', '<div')
.replace(/\<img/g, '<img @tap="pre" style="max-width:100%!important;height:auto" ')
.replace(/src=\"/g,'src="https://oss.hmzfyy.cn');
// .replace(/\<img/g, '<img style="max-width:100%!important;width:100%!important;height:auto" mode="widthFix" ')
.replace(/\<img/g, '<img mode="widthFix" ')
.replace(/src=\"/g,'src="https://7and5.cn')
.replace(/style="[^\"]*?"/g,'style="max-width:100%!important;width:100%!important;height:auto" ');
},
// 检查网络状态
networkStatus(){

View File

@ -42,6 +42,11 @@
"ios" : {
"privacyDescription" : {
"NSLocationWhenInUseUsageDescription" : ""
},
"capabilities" : {
"entitlements" : {
"com.apple.developer.associated-domains" : [ "applinks:static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com" ]
}
}
},
/* ios */
@ -56,7 +61,7 @@
"weixin" : {
"__platform__" : [ "ios", "android" ],
"appid" : "wx2654bc27c419ada6",
"UniversalLinks" : ""
"UniversalLinks" : "https://static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com/uni-universallinks/__UNI__25FB71A/"
}
},
"push" : {},
@ -78,7 +83,7 @@
"share" : {
"weixin" : {
"appid" : "wx2654bc27c419ada6",
"UniversalLinks" : ""
"UniversalLinks" : "https://static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com/uni-universallinks/__UNI__25FB71A/"
}
},
"ad" : {}
@ -132,5 +137,6 @@
},
"mp-baidu" : {
"appid" : "24346353"
}
},
"_spaceID" : "c27fa8d7-ef72-4327-ab9b-d4787a747ee3"
}

View File

@ -1,15 +1,15 @@
<template>
<view class="content">
<view>
<statusNav returnColor="#c2c2c2" navBarTitle="客户(查询结果列表)"></statusNav>
<container-subgroup-two>
<view class="client-content" slot="content" style="margin: -20rpx -30rpx 0;">
<view @tap="goDetail(item.id)" class="li" v-for="(item,index) in dataList" :key="index">
<view class="client-content" slot="content" style="margin: 0rpx -30rpx 0;">
<view @tap="goDetail(item.id)" class="li mar-x20 animated fadeIn" v-for="(item,index) in dataList" :key="index">
<view class="li-content">
<view class="">
<view class="title">{{item.name}}</view>
<view class="code">编号{{item.code}}</view>
<view class="label-content" >
<view class="label" v-for="(key,index) in item.icon">{{key}}</view>
<view class="label-content fw" >
<view :class="key ? 'label' : ''" v-for="(key,index) in item.icon">{{key}}</view>
</view>
</view>
<view class="icon">{{item.num}}</view>
@ -19,7 +19,7 @@
<view class="text">{{item.address}}</view>
</view>
</view>
<pitera v-if="total==dataList.length" textStr="暂无更多客户列表数据"></pitera>
<pitera v-if="total==dataList.length && !ifLoging" textStr="暂无更多客户列表数据"></pitera>
</view>
</container-subgroup-two>
</view>
@ -47,10 +47,11 @@
// address:"1091205"
// }
],
list_rows:20,
list_rows:10,
page:1,
total:0,
key_word:''//
key_word:'',//
ifLoging:true
}
},
onReachBottom() {
@ -75,6 +76,10 @@
},
//
queryFunEv(keyword){
uni.showLoading({
title:'加载中...',
mask:true
})
let params = {
type_id:1,
keyword,
@ -91,7 +96,7 @@
id:item.member_id,//id
name:item.name,//
code:item.serial_number,//
icon:["弱电安防","弱电安防","弱电安防"],
icon:[item.industry_name,item.member_level,item.member_type],
num:item.project_count,//
address:item.address//
}
@ -101,6 +106,8 @@
} else {
this.$toolAll.tools.showToast(res.msg);
}
uni.hideLoading();
this.ifLoging = false;
})
}
}
@ -111,7 +118,6 @@
<style>
.client-content .li {
background-color: #FFFFFF;
margin-top: 20rpx;
padding: 30rpx 34rpx 30rpx 53rpx;
}
@ -139,6 +145,7 @@
color: #999999;
font-size: 24rpx;
border-radius: 5rpx;
margin-top: 10rpx;
}
.client-content .li .li-content {

View File

@ -4,70 +4,23 @@
<container-subgroup-two>
<view class="dataQuery-content" slot="content" style="margin: 0 -30rpx;">
<view class="li">
<view class="title mar-y120 clips1">项目名称湖南工业大学生化学院三楼会议室湖南工业大学生化学院三楼会议室</view>
<view class="li animated fadeIn" v-for="(item,index) in dataList" :key="index">
<view class="title mar-y120 clips1">项目名称{{item.name}}</view>
<view class="text-content">
<view class="left">
<view class="text clips1">核心品牌海康威视</view>
<view class="text clips1">规格型号DS-CK18FI-H</view>
<view class="text clips1"> 2210122</view>
<view class="text clips1">核心品牌{{item.brand}}</view>
<view class="text clips1">规格型号{{item.model}}</view>
<view class="text clips1"> {{item.batch_number}}</view>
</view>
<view class="rigth">
<view class="text">备品数量<text class="cor">3</text></view>
<view class="text cor1">备品尺寸320*160</view>
<view class="text cor1">入库时间2021-04-06 16:45:45</view>
<view class="text">备品数量<text class="cor">{{item.quantity}}</text></view>
<view class="text cor1">备品尺寸{{item.size}}</view>
<view class="text cor1">入库时间{{item.time}}</view>
</view>
</view>
<view class="icon" v-if="true">
<text class="icon-text">正常</text>
<view class="icon1" :class="['icon','icon1']"><text class="icon-text">{{['正常','待维保'][item.status]}}</text></view>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维保</text>
</view>
</view>
<view class="li">
<view class="title">项目名称湖南工业大学生化学院三楼会议室</view>
<view class="text-content">
<view class="left">
<view class="text">核心品牌海康威视</view>
<view class="text">规格型号DS-CK18FI-H</view>
<view class="text"> 2210122</view>
</view>
<view class="rigth">
<view class="text">备品数量<text class="cor">3</text></view>
<view class="text cor1">备品尺寸320*160</view>
<view class="text cor1">入库时间2021-04-06 16:45:45</view>
</view>
</view>
<view class="icon" v-if="true">
<text class="icon-text">正常</text>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维保</text>
</view>
</view>
<view class="li">
<view class="title">项目名称湖南工业大学生化学院三楼会议室</view>
<view class="text-content">
<view class="left">
<view class="text">核心品牌海康威视</view>
<view class="text">规格型号DS-CK18FI-H</view>
<view class="text"> 2210122</view>
</view>
<view class="rigth">
<view class="text">备品数量<text class="cor">3</text></view>
<view class="text cor1">备品尺寸320*160</view>
<view class="text cor1">入库时间2021-04-06 16:45:45</view>
</view>
</view>
<view class="icon" v-if="false">
<text class="icon-text">正常</text>
</view>
<view class="icon1" v-else>
<text class="icon-text">待维保</text>
</view>
</view>
<pitera v-if="total==dataList.length" textStr="暂无更多备品列表数据"></pitera>
<pitera v-if="total==dataList.length && !ifLoading" textStr="查询数据加载完毕~" textFontSize="30rpx" textColor="#b5b2b2"></pitera>
</view>
</container-subgroup-two>
</view>
@ -88,11 +41,24 @@
},
data() {
return {
dataList: [],
dataList: [
// {
// id:1,
// name:'',//
// brand:'',//
// quantity: 0,//
// model:'DS-CK18FI-H',//
// size:'320*160',//
// batch_number:'2210122',//
// time:'2021-04-06 16:45:45',//
// status:0
// },
],
list_rows: 20,
page: 1,
total: 0,
key_word: '' //
key_word: '' ,//
ifLoading:true
}
},
onReachBottom() {
@ -111,6 +77,10 @@
methods: {
// ()
queryFunEv() {
uni.showLoading({
title:'加载中...',
mask:true
})
let params = {
type_id: 3,
keyword: this.key_word,
@ -121,22 +91,27 @@
if (res.code) {
this.total = res.data.total; //
if (this.page == 1) this.dataList = [];
// if(res.data.data.length) {
// res.data.data.forEach(item=>{
// let obj = {
// id:item.member_id,//id
// name:item.name,//
// code:item.serial_number,//
// icon:["","",""],
// num:item.project_count,//
// address:item.address//
// }
// this.projectQuery.push(obj);
// })
// }
if(res.data.data.length) {
res.data.data.forEach(item=>{
let obj = {
id:item.spare_id,
name:item.name,//
brand:item.brand,//
quantity: item.quantity,//
model:item.model,//
size:item.size,//
batch_number:item.batch_number,//
time:item.time,//
status:item.status //0 1
}
this.dataList.push(obj);
})
}
} else {
this.$toolAll.tools.showToast(res.msg);
}
uni.hideLoading();
this.ifLoading = false;
})
}
}

View File

@ -4,29 +4,39 @@
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="project-list">
<view class="li" @click="projectDetailsFun(item.id)" v-for="(item,index) in projectQuery" :key="index">
<view class="li animated fadeIn" @click="projectDetailsFun(item.id)" v-for="(item,index) in projectQuery" :key="index">
<view class="message pad-s10">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
<!-- 项目图片 -->
<image class="img" :src="item.img" mode="aspectFill" lazy-load></image>
<view class="text">
<view class="title">{{item.name}}</view>
<view class="serial-number">项目编号{{item.code}}</view>
<view class="specification">规格型号{{item.model}}</view>
<view class="specification">产品尺寸{{item.size}}</view>
<view class="installation-site">安装位置{{item.installationSite}}</view>
<view class="specification" v-if="item.model">{{item.model}}</view>
<view class="specification" v-if="item.size">{{item.size}}</view>
<view class="installation-site" v-if="item.installationSite">{{item.installationSite}}</view>
</view>
</view>
<view class="project-list-address">
<view class="project-list-address disjbac">
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image>
<image class="img flexs" src="../../static/iocn/im.png" mode="" lazy-load></image>
<!-- 地址 -->
<view class="text">{{item.address}}</view>
</view>
<view class="date">{{item.date}}</view>
<!-- 时间 -->
<view class="date col6">{{item.date}}</view>
</view>
<view class="icon iconBer" v-if="item.state==0"></view>
<!-- 状态 -->
<view class="icon" :style="{backgroundColor: item.statusStyle.color}">
<view class="posir disac" style="width: 135rpx;height: 40rpx;">
<span class="posia" :style="{border: `6rpx solid ${item.statusStyle.color}`,borderBottom: `6rpx solid transparent`,borderRight: `6rpx solid transparent`}" style="display: block;width: 0;height: 0;transform: rotate(45deg);right: -4rpx;top: 2rpx;"></span>
<span class="posia width100">{{item.statusStyle.text}}</span>
</view>
</view>
<!-- <view class="icon iconBer" v-if="item.state==0"></view>
<view class="icon iconBera" v-if="item.state==1"></view>
<view class="icon iconBerb" v-if="item.state==2"></view>
<view class="icon iconBerb" v-if="item.state==2"></view> -->
</view>
<pitera v-if="total==projectQuery.length" textStr="暂无更多项目列表数据"></pitera>
<pitera v-if="total==projectQuery.length && !ifLoading" textStr="查询数据加载完毕~" textFontSize="30rpx" textColor="#b5b2b2"></pitera>
</view>
</view>
</container-subgroup-two>
@ -48,24 +58,24 @@
return {
projectQuery: [
{
id:1,
name: "湖南工业大学化工学院会议室P2.5全彩LED显示屏",
img: "../../static/del/img001.png",
code: "20220108-1001",
model: "DS-CK25FI/H",
size: "3.94*2.02",
installationSite: "xxx综合楼2楼会议室",
address: "湖南省长沙市高新开发区谷园路109号像素大厦1205",
date: "2022/01/08",
state: 1
}
// {
// id:1,
// name: "P2.5LED",
// img: "../../static/del/img001.png",
// code: "20220108-1001",
// model: "DS-CK25FI/H",
// size: "3.94*2.02",
// installationSite: "xxx2",
// address: "1091205",
// date: "2022/01/08",
// state: 1
// }
],
list_rows:20,
page:1,
total:0,
key_word:''//
key_word:'',//
ifLoading:true
}
},
onReachBottom() {
@ -89,6 +99,10 @@
},
// ()
queryFunEv(){
uni.showLoading({
title:'加载中...',
mask:true
})
let params = {
type_id:2,
keyword:this.key_word,
@ -99,22 +113,32 @@
if(res.code) {
this.total = res.data.total;//
if(this.page==1) this.projectQuery = [];
// if(res.data.data.length) {
// res.data.data.forEach(item=>{
// let obj = {
// id:item.member_id,//id
// name:item.name,//
// code:item.serial_number,//
// icon:["","",""],
// num:item.project_count,//
// address:item.address//
// }
// this.projectQuery.push(obj);
// })
// }
if(res.data.data.length) {
res.data.data.forEach(item=>{
let newTime = item.joint_starting_times.slice(0,10).split('-');
newTime = newTime.join('/');
let obj = {
id:item.project_id,
name: item.project_name,//
img: item.completed_img,//
code: item.project_number,//
model: item.product_model,//
size: item.product_size,//
installationSite: item.installation_location,//
address: item.address,//
date: newTime,
state: 1,
statusStyle:item.attributes//
}
this.projectQuery.push(obj);
})
}
} else {
this.$toolAll.tools.showToast(res.msg);
}
uni.hideLoading();
this.ifLoading = false;
})
},
bindPickerChange(data){
@ -230,19 +254,7 @@
text-align: center;
background-size: 100% 100%;
top: 0rpx;
}
.project-list .li .iconBer {
background-image: url(../../static/iocn/za.png);
}
.project-list .li .iconBera {
background-image: url(../../static/iocn/zac.png);
}
.project-list .li .iconBerb {
background-image: url(../../static/iocn/lsxm.png);
border-radius: 6rpx 0 6rpx 6rpx;
}
.project-list .li .message {
display: flex;
@ -309,8 +321,6 @@
.project-list-address .date {
font-size: 24rpx;
text-align: right;
margin-left: 20rpx;
margin-top: 12rpx;
}
.project-list-address .img {

View File

@ -17,44 +17,47 @@
methods: {
//
checkContext(){
// #ifdef APP-PLUS
if(uni.getSystemInfoSync().platform != "devtools"){//devtools iosandroidmac3.1.10+windows3.1.10+linux3.1.10+
console.log = () =>{}
}
setTimeout(()=>{
uni.reLaunch({
url:'/pages/login/login'
})
},3000)
// #ifdef APP-PLUS
// if(uni.getSystemInfoSync().platform != "devtools"){//devtools iosandroidmac3.1.10+windows3.1.10+linux3.1.10+
// console.log = () =>{}
// }
// setTimeout(()=>{
// uni.reLaunch({
// url:'/pages/login/login'
// })
// },3000)
// #endif
// #ifdef H5
if(uni.getSystemInfoSync().platform != "development"){//devtools iosandroidmac3.1.10+windows3.1.10+linux3.1.10+
console.log = () =>{}
}
setTimeout(()=>{
uni.reLaunch({
url:'/pages/login/login'
})
},3000)
// if(uni.getSystemInfoSync().platform != "development"){//devtools iosandroidmac3.1.10+windows3.1.10+linux3.1.10+
// console.log = () =>{}
// }
// setTimeout(()=>{
// uni.reLaunch({
// url:'/pages/login/login'
// })
// },3000)
// #endif
// API
// #ifdef MP-WEIXIN
let hInfo = wx.getAccountInfoSync();
// console.log(hInfo.envVersion);//develop: trial release
if(hInfo.miniProgram.envVersion == "develop" || hInfo.miniProgram.envVersion == "trial"){
// (,)-
// uni.setStorageSync('hostapi','https://hengmei.scdxtc.cn/api/');
} else {
//
console.log = () =>{};
// -
// uni.setStorageSync('hostapi','https://hm.hmzfyy.cn/api/');
}
setTimeout(()=>{
uni.reLaunch({
url:'/pages/tabbar/pagehome/pagehome'
})
},3000)
// let hInfo = wx.getAccountInfoSync();
// // console.log(hInfo.envVersion);//develop: trial release
// if(hInfo.miniProgram.envVersion == "develop" || hInfo.miniProgram.envVersion == "trial"){
// // (,)-
// } else {
// //
// console.log = () =>{};
// // -
// }
// setTimeout(()=>{
// uni.reLaunch({
// url:'/pages/tabbar/pagehome/pagehome'
// })
// },3000)
// #endif
}
}

View File

@ -5,21 +5,21 @@
<view slot="content" style="margin: -26rpx -25rpx 0rpx" :style="{paddingTop:statusBarHeight + 'px'}">
<view class="mountingsList-input" :style="{top:statusBarHeight + 'px'}">
<input type="text" class="int fon24" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image>
<image class="search" src="../../static/iocn/ss.png" mode="" lazy-load></image>
<view class="xian"></view>
</view>
<view class="mountings-list">
<view class="li radius10" v-for="(item,index) in dataList.data" :key="index">
<view class="li radius10 animated fadeIn" v-for="(item,index) in dataList.data" :key="index">
<view class="textCon" style="padding: 0rpx 16rpx;">
<view class="imgCon">
<image :src="item.images" class="img radius10" mode="aspectFill"></image>
<image :src="item.images" class="img radius10" mode="aspectFill" lazy-load></image>
<!-- <image src="/static/del/img001.png" class="img radius10" mode="aspectFill"></image> -->
</view>
<view class="text" style="104rpx">
<view class="title disjbac posir">
<view class="clips1 mar-y40 bold fon24">{{item.name}}</view>
<view class="ispitchOn" @click="ispitchOnFun(item)" style="position: absolute;right: 0;">
<image v-if="item.isJob" src="../../static/iocn/pxz.png" class="icon1" mode=""></image>
<image v-if="item.isJob" src="../../static/iocn/pxz.png" class="icon1" mode="" lazy-load></image>
<view v-else class="icon"></view>
</view>
</view>
@ -40,8 +40,10 @@
<view class="sum fon24 bold flexs">费用合计¥{{item.sum}}</view>
</view>
</view>
<pitera v-if="dataList.data.length" textStr="暂无更多配件列表数据"></pitera>
<nothing-page v-if="dataList.data.length==0 && !ifLoading"></nothing-page>
</view>
<button class="submit-button" @tap="submitEv" type="default">确认提交</button>
<button v-show="dbtn" class="submit-button" @tap="submitEv" type="default"></button>
</view>
</container-subgroup-two>
</view>
@ -50,10 +52,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 {
@ -61,9 +65,18 @@
dataList: {
list_rows: 10,
page: 1,
data:{},
data:[],
},
temporaryList:[] //
total:0,
temporaryList:[] ,//
ifLoading:true,
dbtn:false
}
},
onReachBottom() {
if(this.total!=this.dataList.data.length) {
this.dataList.page++;
this.getData();
}
},
onLoad() {
@ -85,7 +98,8 @@
this.temporaryList.push(item);
}
})
uni.setStorageSync('partsList',this.temporaryList)
uni.setStorageSync('partsList',this.temporaryList);
this.temporaryList.length ? this.dbtn = true : this.dbtn = false;
},
//
addDelEv(item,index) {
@ -105,6 +119,10 @@
},
//
getData() {
uni.showLoading({
title:'加载中...',
mask:true
})
this.$requst.post('/universal/api.accessory/accessory_list', {
list_rows: this.dataList.list_rows,
page: this.dataList.page,
@ -134,12 +152,14 @@
newList.splice(index,1)
}
})
//
this.temporaryEv();
}
})
}
} else {
}
uni.hideLoading();
this.ifLoading = false;
})
},
//
@ -154,7 +174,6 @@
<style>
.content {
padding-top: 70rpx;
padding-bottom: 80rpx;
}
.mountingsList-input .xian {
width: 3rpx;
@ -167,13 +186,17 @@
margin-top: -14rpx;
}
.submit-button {
position: fixed;
bottom: 20rpx;
left: 50%;
transform: translateX(-50%);
width: 686rpx;
border-radius: 50rpx;
margin-top: 60rpx;
height: 90rpx;
background-color: #02A2ea;
line-height: 90rpx;
color: #FFFFFF;
margin-top: 60rpx;
text-align: center;
font-size: 30rpx;
}

View File

@ -32,7 +32,7 @@
</view>
</view>
<view class="project-list">
<view class="li" @click="projectDetailsFun(item.project_id)" v-for="(item,index) in dataList.data" :key="index">
<view class="li animated fadeIn" @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;">
@ -47,10 +47,8 @@
</view>
<view class="project-list-address col6 mar-s20 disjbac">
<view class="address">
<image class="img flexs" src="../../static/iocn/im.png" mode="scaleToFill" lazy-load>
</image>
<view class="text scal09" style="margin-left: -26rpx;">{{item.address}}
</view>
<image class="img flexs" src="../../static/iocn/im.png" mode="scaleToFill" lazy-load></image>
<view class="text scal09" style="margin-left: -26rpx;">{{item.address}}</view>
</view>
<view class="date scal09 flexs">{{item.joint_starting_times}}</view>
</view>
@ -59,7 +57,7 @@
</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>
<nothing-page v-if="dataList.data.length==0 && !ifLoading" content="暂无更多项目列表数据"></nothing-page>
</view>
</container-subgroup-two>
<footTabOne :current="1"></footTabOne>
@ -99,7 +97,8 @@
},
productType:'',//id
completion_time:'',//
total:''//
total:'',//
ifLoading:true
}
},
onReachBottom() {
@ -120,6 +119,10 @@
},
//
getData() {
uni.showLoading({
mask:true,
title:'加载中...'
})
if(this.dataList.page==1) this.dataList.data = [];
this.$requst.get('/universal/api.project/project_list', {
product_type:this.productType,
@ -133,6 +136,8 @@
this.total = res.data.total;
this.dataList.data = [...this.dataList.data,...res.data.data];
}
uni.hideLoading();
this.ifLoading = false;
})
},
projectDetailsFun(id) {

View File

@ -194,7 +194,7 @@
</view>
<view class="mar-s30">
<scroll-view scroll-x>
<view :class="solutionList.length == 4 ? 'disjbac' : 'disac'">
<view :class="[solutionList.length == 4 ? 'disjbac' : 'disac']">
<view @tap="goDetail(0,item.id)" class="posir flexs" v-for="(item,index) in solutionList" :key="index" style="width: 23%;height: 110px;" :style="{marginRight: solutionList.length != 4 ? '20rpx' : ''}">
<image style="width: 100%;height: 110px;" class="radius10 " :src="item.imgsrc" mode="aspectFill"></image>
<view class="posia solution-title clips1">{{item.title}}</view>
@ -271,10 +271,10 @@
],
//
solutionList:[
{imgsrc:'/static/deleteImg/flying-img01.png',title:'控制室解决方案'},
{imgsrc:'/static/deleteImg/flying-img02.png',title:'户外屏解决方案'},
{imgsrc:'/static/deleteImg/flying-img03.png',title:'会议室解决方案'},
{imgsrc:'/static/deleteImg/flying-img04.png',title:'实体店解决方案'},
{imgsrc:'',title:'控制室解决方案'},
{imgsrc:'',title:'户外屏解决方案'},
{imgsrc:'',title:'会议室解决方案'},
{imgsrc:'',title:'实体店解决方案'},
],
//
projectRepairList:[

View File

@ -48,7 +48,7 @@
</view>
<view class="li">
<view class="title">维保说明</view>
<textarea style="max-height: 260rpx;overflow: hidden;overflow-y: scroll;" disabled class="input" :value="detailObj.failure_description" />
<textarea style="overflow: hidden;overflow-y: scroll;height: auto;max-height: 200rpx;" disabled class="input" :value="detailObj.failure_description" />
</view>
<view class="li">
<view class="title">维保图片</view>
@ -129,7 +129,7 @@
</view>
<view class="li">
<view class="title">工作描述</view>
<textarea style="max-height: 260rpx;overflow: hidden;overflow-y: scroll;" disabled class="input " :value="handleDetail.work_explanation"/>
<textarea style="overflow: hidden;overflow-y: scroll;height: auto;max-height: 200rpx;" disabled class="input " :value="handleDetail.work_explanation"/>
</view>
<view class="li">
<view class="title">维保图片</view>

View File

@ -169,15 +169,15 @@ var qqmapsdk = new QQMapWX({
maintenancePersonnel:''//
},
productTypeList:[
{id:1,name:'产品1'},{id:2,name:'产品2'},
{id:1,name:'不显示'}
],//
productIndex:0,//
faultTypeList:[
{id:1,name:'产品1'},{id:2,name:'产品2'},
{id:2,name:'参数错误'}
],//
faultIndex:0,//
serviceModeList:[
{id:1,name:'上门服务'},{id:2,name:'线上服务'},
{id:1,name:'上门服务'}
],//
serviceModeIndex:0,//
flag:true,
@ -299,57 +299,6 @@ var qqmapsdk = new QQMapWX({
break;
}
},
//
getProductType() {
getProductType().then(res=>{
if(res.code) {
this.productTypeList = res.data;
if(this.productTypeList.length) {
// this.productIndex = this.productTypeList.findIndex(item=>{return item.name==this.targetObj.productType});
//
this.productTypeList.forEach((item,index)=>{
if(item.name==this.targetObj.productType) {
this.productIndex = index;
}
})
}
}
})
},
//
getFaultType() {
getFaultType().then(res=>{
if(res.code) {
this.faultTypeList = res.data;
if(this.faultTypeList.length) {
// this.faultIndex = this.faultTypeList.findIndex(item=>{return item.name==this.targetObj.faultType});
//
this.faultTypeList.forEach((item,index)=>{
if(item.name==this.targetObj.faultType) {
this.faultIndex = index;
}
})
}
}
})
},
//
getServiceMode() {
getServiceMode().then(res=>{
if(res.code) {
this.serviceModeList = res.data;
if(this.serviceModeList.length) {
// this.serviceModeIndex = this.serviceModeList.findIndex(item=>{return item.name==this.targetObj.serviceMode});
//
this.serviceModeList.forEach((item,index)=>{
if(item.name==this.targetObj.serviceMode) {
this.serviceModeIndex = index;
}
})
}
}
})
},
//
handleWorkOrderGet(id){
let params = {
@ -362,21 +311,45 @@ var qqmapsdk = new QQMapWX({
this.targetObj.workOrderNo = dataObj.order_number;//
this.targetObj.projectNo = dataObj.project_number;//
this.targetObj.projectName = dataObj.project_name;//
this.targetObj.productType = dataObj.product_type;//
this.targetObj.installLocation = dataObj.installation_location;//
this.targetObj.faultType = dataObj.fault_type;//
this.targetObj.faultExplain = dataObj.failure_description;//
this.targetObj.urgentDegree = dataObj.emergency_level_view;//
this.targetObj.reporter = dataObj.order_contact;//
this.targetObj.declarationTime = dataObj.order_times;//
this.targetObj.serviceMode = dataObj.service_method_view;//
// this.targetObj.address = dataObj.order_times;//
//
this.getProductType();
//
this.getFaultType();
//
// this.getServiceMode()
//
if(dataObj.form.product_type.length) {
this.productTypeList = [];
dataObj.form.product_type.forEach((item,index)=>{
this.productTypeList.push(item);
if(item.id==dataObj.product_type) {
this.productIndex = index;
this.targetObj.productType = item.name;//
}
})
}
//
if(dataObj.form.fault_type.length) {
this.faultTypeList = [];
dataObj.form.fault_type.forEach((item,index)=>{
this.faultTypeList.push(item);
if(item.id==dataObj.fault_type) {
this.faultIndex = index;
this.targetObj.faultType = item.name;//
}
})
}
//
if(dataObj.form.service_method.length) {
this.serviceModeList = [];
dataObj.form.service_method.forEach((item,index)=>{
this.serviceModeList.push(item);
if(item.id==dataObj.service_method) {
this.serviceModeIndex = index;
this.targetObj.serviceMode = item.name;//
}
})
}
}
})
},
@ -429,18 +402,12 @@ var qqmapsdk = new QQMapWX({
//
checkEmpty(){
let result = false;
if(!this.targetObj.productType) {
this.$toolAll.tools.showToast('请填写产品类型');
} else if(!this.targetObj.installLocation) {
if(!this.targetObj.installLocation) {
this.$toolAll.tools.showToast('请填写安装位置');
} else if(!this.targetObj.faultType) {
this.$toolAll.tools.showToast('请填写维保类型');
} else if(!this.targetObj.faultExplain) {
this.$toolAll.tools.showToast('请填写维保说明');
} else if(this.targetObj.faultImgList.length==0) {
this.$toolAll.tools.showToast('请添加维保图片');
} else if(!this.targetObj.serviceMode) {
this.$toolAll.tools.showToast('请填写服务方式');
} else {
result = true;
}

View File

@ -6,7 +6,7 @@
<view slot="content" style="margin: -25rpx -25rpx -0rpx;">
<view class="project-list-input" :style="{top:statusBarHeight + 'px'}">
<input type="text" @keydown.enter="getDatalist" @confirm="getDatalist" class="int" v-model="dataPage.keyword" value="" placeholder="请输入关键字" />
<image @click="getDatalist" class="search" src="../../static/iocn/ss.png" mode=""></image>
<image @click="getDatalist" class="search" src="../../static/iocn/ss.png" mode="" lazy-load></image>
<view class="xian"></view>
</view>
<view class="screen">
@ -15,27 +15,27 @@
<view class="li">
<view class="text" v-if="workeOrderStatus!=''">{{workeOrderStatus}}</view>
<view class="text" v-else>{{array[workeOrderStatusIndex].name}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
<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" v-if="dataPage.order_times==''"></view>
<view class="text" v-else>{{dataPage.order_times}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill" lazy-load></image>
</view>
</picker>
<view class="li width30 disjcac">
<view class="text">筛选</view>
<image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill"></image>
<image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill" lazy-load></image>
</view>
</view>
<view class="project-list">
<!-- 列表循环体 -->
<view class="li" @click="projectDetailsFun(item.order_status,item.order_id,item.btn.attributes.text,item.btn.attributes.color)" v-for="(item,index) in dataList" :key="index">
<view class="li animated fadeIn" @click="projectDetailsFun(item.order_status,item.order_id,item.btn.attributes.text,item.btn.attributes.color)" v-for="(item,index) in dataList" :key="index">
<view class="work-order-code">工单编号{{item.order_number}}</view>
<view class="message">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
<image class="img" src="../../static/del/img001.png" mode="aspectFill" lazy-load></image>
<view class="text disjb fc" style="height: 180rpx;">
<view class="title flexs">
<view class="text clips1">{{item.project_name}}</view>
@ -56,18 +56,18 @@
</view>
<view class="project-list-address">
<view class="address clips2">
<image class="img" src="../../static/iocn/dz2.png" mode="aspectFill"></image>
<image class="img" src="../../static/iocn/dz2.png" mode="aspectFill" lazy-load></image>
<view class="text">{{item.address}}</view>
</view>
<!-- 订单不等于已完成和待回访并且访问人不是工程师 -->
<view @tap.stop="hurryUpEv(item.id)" class="date" v-if="item.status!=8 && item.status!=9 && role!=4">
催一催 <image class="img" src="../../static/iocn/ld.png" mode=""></image>
催一催 <image class="img" src="../../static/iocn/ld.png" mode="" lazy-load></image>
</view>
</view>
</view>
<pitera v-if="total==dataList.length && dataList.length!=0" textStr="暂无更多列表数据"></pitera>
</view>
<nothing-page v-if="dataList.length==0" content="暂无更多列表数据" currentType="0"></nothing-page>
<nothing-page v-if="dataList.length==0 && !ifLoading" content="暂无更多列表数据" currentType="0"></nothing-page>
</view>
</container-subgroup-two>
@ -95,9 +95,7 @@
role: uni.getStorageSync('type_id'), // 1 2: 3: 4
date: currentDate,
workeOrderStatus:'工单状态',
array: [
],
array: [],
workeOrderStatusIndex: 0,
dataPage:{
list_rows:10,
@ -108,14 +106,22 @@
},
total:0,
dataList:[],
statusId:0
statusId:0,
ifLoading:true
}
},
onReachBottom() {
if(this.total!=this.dataList.length) {
this.dataPage.page++;
this.getDatalist();
}
},
onShow() {
//
this.getType();
},
onLoad(op) {
if(op.statusId!=undefined) this.statusId = op.statusId;
//
this.getType();
},
methods: {
//
@ -135,15 +141,20 @@
},
//
getDatalist(){
uni.showLoading({
mask:true,
title:'加载中...'
})
this.$requst.get('/universal/api.order/order_list',this.dataPage).then(res => {
if (res.code==1) {
this.total = res.data.total;
this.dataList = res.data.data;
console.log(this.dataList,"---------1" )
if(this.dataPage.page==1) this.dataList = [];
this.dataList = [...this.dataList,...res.data.data];
}else{
this.dataList = [];
console.log(this.dataList,"---------2" )
}
uni.hideLoading();
this.ifLoading = false;
})
},
//

View File

@ -149,7 +149,6 @@
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import {base64ToPath} from '@/jsFile/base64-src.js';
import {handleWorkOrderGet,handleWorkOrderSubmit,uploadImg} from '../../jsFile/public-api.js';
var content = null;
var touchs = [];
var canvasw = 0;
@ -250,6 +249,7 @@
this.priceEv();
}
this.handleWorkOrderGet();
},
methods: {
//

View File

@ -12,7 +12,8 @@
<!-- 封面图 -->
<image :src="dataObj.cover_img" mode="widthFix" style="width: 100%;"></image>
<!-- 详情 -->
<rich-text :nodes="rich_text"></rich-text>
<!-- <rich-text :nodes="rich_text"></rich-text> -->
<view v-html="rich_text"></view>
</view>
</view>
</view>

View File

@ -25,7 +25,7 @@
<pitera v-if="total==dataList.length && dataList.length" textStr="暂无更多列表数据"></pitera>
</view>
</container-subgroup>
<nothing-page v-if="dataList.length==0" content="暂无更多列表数据"></nothing-page>
<nothing-page v-if="dataList.length==0 && !ifLogin" content="暂无更多列表数据"></nothing-page>
</view>
</template>
@ -46,7 +46,8 @@
page:1,
total:0,
type_id:'',//id
dataList:[]
dataList:[],
ifLogin:true
}
},
onReachBottom() {
@ -85,6 +86,10 @@
page:this.page
}
]
uni.showLoading({
title:'加载中...',
mask:true
})
//
this.$requst.get(url[this.current],params[this.current]).then(res=>{
if(res.code==1) {
@ -101,6 +106,8 @@
this.dataList.push(obj);
})
}
uni.hideLoading();
this.ifLogin = false;
})
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB