Commit d464455b authored by 高铭波's avatar 高铭波

Merge branch 'dev' of https://git.banshouhui.com/lijundan/self-support into dev

# Conflicts:
#	src/pages/order/document.vue
parents 9212b6f8 d20fe5d0
...@@ -5,7 +5,7 @@ const UNI_APP = { ...@@ -5,7 +5,7 @@ const UNI_APP = {
// banshou: 'https://m.banshou.com', //扳手app // banshou: 'https://m.banshou.com', //扳手app
}, },
systemUrl: { systemUrl: {
apiUrl: 'http://192.168.1.22', //java端域名请求头 apiUrl: 'http://192.168.0.62:37080', //java端域名请求头
// apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头 // apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
}, },
qn_base_url: 'https://qn-static.banshouhui.com/self-support/', qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
(function () { (function () {
let NODE_ENV = 'test'; // dev:开发环境 | test:测试环境 | prod:生产环境 let NODE_ENV = 'test'; // dev:开发环境 | test:测试环境 | prod:生产环境
let ENV_VAR = null; let ENV_VAR = null;
let VERSION_NUMBER = '1.3.1';//版本号 let VERSION_NUMBER = '1.3.2';//版本号
//小程序是否审核通过,参数配置在ucenter库version表,对应版本号的is_audit设置为1,将显示学习视频 //小程序是否审核通过,参数配置在ucenter库version表,对应版本号的is_audit设置为1,将显示学习视频
if (process.env.NODE_ENV === "development") { if (process.env.NODE_ENV === "development") {
if (NODE_ENV === 'dev') { if (NODE_ENV === 'dev') {
......
...@@ -119,6 +119,11 @@ let orderApiFun = function(vm){ ...@@ -119,6 +119,11 @@ let orderApiFun = function(vm){
*/ */
let getCompleteConfigAndData= async (orderId) => await vm.$u.get(prefix + vm.vuex_token+'/order/'+ orderId +'/maintain/info'); let getCompleteConfigAndData= async (orderId) => await vm.$u.get(prefix + vm.vuex_token+'/order/'+ orderId +'/maintain/info');
/**
* 完工项阶段下一步
*/
let completeNextStep= async (params = {}, orderId) => await vm.$u.post(prefix + vm.vuex_token+'/order/'+ orderId +'/maintain/nextStep', params);
/** /**
* 查询措施 * 查询措施
*/ */
...@@ -172,6 +177,10 @@ let orderApiFun = function(vm){ ...@@ -172,6 +177,10 @@ let orderApiFun = function(vm){
let otherUser = async (params = {}) => await vm.$u.get(prefix + 'other/auth/' + vm.vuex_token + '/other/user', params); let otherUser = async (params = {}) => await vm.$u.get(prefix + 'other/auth/' + vm.vuex_token + '/other/user', params);
// 是否添加客服 // 是否添加客服
let checkAddCustomer = async (params = {}) => await vm.$u.get(prefix + 'order/revision/' + vm.vuex_token + '/checkAddCustomer', params); let checkAddCustomer = async (params = {}) => await vm.$u.get(prefix + 'order/revision/' + vm.vuex_token + '/checkAddCustomer', params);
// 工单文件标签
let fileLabel = async (params = {}) => await vm.$u.get(prefix + 'config/' + vm.vuex_token + '/finish/file/lable/', params);
// 工单文件列表
let fileList = async (params = {}) => await vm.$u.get(prefix + 'config/' + vm.vuex_token + '/finish/file', params);
const orderApi = { const orderApi = {
listByRecommendOrder, listByRecommendOrder,
...@@ -212,7 +221,10 @@ let orderApiFun = function(vm){ ...@@ -212,7 +221,10 @@ let orderApiFun = function(vm){
workerApplyPay, workerApplyPay,
allowLogin, allowLogin,
otherUser, otherUser,
checkAddCustomer checkAddCustomer,
fileLabel,
fileList,
completeNextStep
} }
return orderApi return orderApi
} }
......
...@@ -88,7 +88,8 @@ const install = (Vue, vm) => { ...@@ -88,7 +88,8 @@ const install = (Vue, vm) => {
// return result; // return result;
case 200: case 200:
return { return {
data:result.data == null ? result : result.data, // result.data的值为0, false, ''的时候也要算有值 // data:result.data == null ? result : result.data, // result.data的值为0, false, ''的时候也要算有值
data:result.data,
code:code, code:code,
message:msg message:msg
}; };
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
mode="center" mode="center"
width="690rpx"> width="690rpx">
<view class="slot-content"> <view class="slot-content">
<view v-if="confirmButtonText !== '确定'">
<view class="check-status"> <view class="check-status">
<u-image width="224rpx" height="224rpx" :src="statusImage"></u-image> <u-image width="224rpx" height="224rpx" :src="statusImage"></u-image>
<text :class="['status-txt', { 'pass-color': pass }]">{{statusTxt}}</text> <text :class="['status-txt', { 'pass-color': pass }]">{{statusTxt}}</text>
...@@ -21,7 +22,7 @@ ...@@ -21,7 +22,7 @@
</view> </view>
<view class="u-flex u-row-between list-item" <view class="u-flex u-row-between list-item"
v-for="(item, index) in listData" :key="index"> v-for="(item, index) in listData" :key="index">
<view class="item-txt left-txt" style="width: 160rpx;text-align: left;"> <view class="item-txt left-txt" style="width: 200rpx;text-align: left;">
<u-icon <u-icon
:name="item.pass ? passIcon : noPassIcon" :name="item.pass ? passIcon : noPassIcon"
:label="item.label" :label="item.label"
...@@ -38,9 +39,19 @@ ...@@ -38,9 +39,19 @@
</view> </view>
</view> </view>
</view> </view>
</view>
<view v-else>
<view class="check-status">
<text class='status-txt' style="color: #333;">确认安装结果</text>
</view>
<view class="u-flex no-install">
<text class="tips">提交信息,确认安装结论为不安装</text>
</view>
</view>
<view class="check-bottom"> <view class="check-bottom">
<view class="button cancel" v-show="!pass" @tap="cancel">取消</view> <view class="button cancel" v-show="cancelButtonText !== ''" @tap="cancel">{{ cancelButtonText }}</view>
<view class="button confirm" @tap="confirm">{{confirmText}}</view> <view class="button confirm" @tap="confirm">{{ confirmButtonText }}</view>
</view> </view>
</view> </view>
</u-popup> </u-popup>
...@@ -79,6 +90,14 @@ ...@@ -79,6 +90,14 @@
{label: '安装信息', submitted: 15, required: 20, pass: false} {label: '安装信息', submitted: 15, required: 20, pass: false}
] ]
} }
},
confirmButtonText: {
type: String,
default: '确定'
},
cancelButtonText: {
type: String,
default: ''
} }
}, },
data() { data() {
...@@ -104,9 +123,6 @@ ...@@ -104,9 +123,6 @@
statusTxt() { statusTxt() {
return this.pass ? "完工校验已通过" : "完工校验未通过" return this.pass ? "完工校验已通过" : "完工校验未通过"
}, },
confirmText() {
return this.pass ? "确定" : "去处理"
},
passIcon() { return process.uniEnv.qn_base_url + 'icon/pass.png'}, passIcon() { return process.uniEnv.qn_base_url + 'icon/pass.png'},
noPassIcon() { return process.uniEnv.qn_base_url + 'icon/no-pass.png'}, noPassIcon() { return process.uniEnv.qn_base_url + 'icon/no-pass.png'},
}, },
...@@ -115,14 +131,7 @@ ...@@ -115,14 +131,7 @@
this.$emit('close') this.$emit('close')
}, },
confirm() { confirm() {
if(this.pass) { this.$emit('confirm')
this.$emit('change')
} else {
let data = this.listData.find((item, index) => {
return item.pass == false;
})
this.$emit('handle', data)
}
} }
}, },
...@@ -161,6 +170,15 @@ ...@@ -161,6 +170,15 @@
margin-bottom: 40rpx; margin-bottom: 40rpx;
} }
} }
.no-install {
justify-content: center;
align-items: center;
height: 200rpx;
border-top: 2rpx solid #F4F5F7;
.tips {
font-size: 28rpx;
}
}
.check-bottom { .check-bottom {
display: flex; display: flex;
justify-content: center; justify-content: center;
...@@ -194,7 +212,7 @@ ...@@ -194,7 +212,7 @@
line-height: 32rpx; line-height: 32rpx;
} }
.left-txt { .left-txt {
width: 160rpx; width: 200rpx;
text-align: left; text-align: left;
} }
.right-txt { .right-txt {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<view class="file-box"> <view class="file-box">
<view class="pics u-flex u-flex-wrap"> <view class="pics u-flex u-flex-wrap">
<view class="img-list" v-for="(item,index) in imgList" :key="index"> <view class="img-list" v-for="(item,index) in imgList" :key="index">
<u-image class="pic" width="160" height="160" :src="item.path ? item.path : item.src + '?imageView2/1/w/100/h/100/q/75'" :border-radius="10" @click.stop="prviewImage(item,index)"></u-image> <u-image class="pic" width="160" height="160" :src="item.path ? item.path : item.src + '?imageView2/1/w/100/h/100/q/75'" :border-radius="10" @click.stop="prviewImage(item,index)" fade lazy-load ></u-image>
<view class="icon-del-box" @click.stop="delFile(index)"> <view class="icon-del-box" @click.stop="delFile(index)">
<view class="icon-del"></view> <view class="icon-del"></view>
<view class="icon-del rotate"></view> <view class="icon-del rotate"></view>
......
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
<template> <template>
<view :style="{'width': fieldsWidth}"> <view :style="{'width': fieldsWidth}">
<u-input :type="type" class="input-item" v-model="dataValue" @input="valueChange" :placeholder="placeholder" :placeholder-style="placeholderStyle" <u-input :type="type" class="input-item" v-model="dataValue" @input="valueChange" :placeholder="placeholder" :placeholder-style="placeholderStyle"
:custom-style="customStyle" :clearable="false" :border="border" border-color="#ECECEC" :maxlength="maxlength" :cursor-spacing="10" hold-keyboard/> :custom-style="customStyle" :clearable="false" :border="border" border-color="#ECECEC" :maxlength="maxlength" :cursor-spacing="10" :disabled="isDisabled" hold-keyboard/>
<view class="content" v-if="slotContent">
<text class="txt">{{ slotContent }}</text>
</view>
</view> </view>
</template> </template>
...@@ -26,42 +29,18 @@ ...@@ -26,42 +29,18 @@
type: { type: {
type: String, type: String,
default: 'text' default: 'text'
},
slotContent: {
type: String,
default: ''
} }
// width: { // 例如:454rpx
// type: String,
// default: '100%'
// }
}, },
data() { data() {
return { return {
inputType: 'text', inputType: 'text'
// type: 'text'
} }
}, },
computed: { computed: {
// type() {
// if (this.item) {
// let ty = this.item.fieldsType.toLocaleLowerCase()
// switch (ty) {
// case 'text':
// return 'textarea'
// case 'password':
// return this.item.fieldsType
// case 'decimal':
// case 'number':
// case 'double':
// case 'integer':
// this.maxlength = 9
// return 'digit'
// case 'textarea':
// default:
// return 'text'
// }
// } else {
// return 'text'
// }
// },
maxlength() { maxlength() {
return this.type == 'digit' ? 9 : 140 return this.type == 'digit' ? 9 : 140
}, },
...@@ -89,6 +68,9 @@ ...@@ -89,6 +68,9 @@
}, },
backgroundColor() { backgroundColor() {
return this.textarea ? 'transparent' : '#F4F5F7' return this.textarea ? 'transparent' : '#F4F5F7'
},
isDisabled() {
return this.item.fieldsId === 254 || this.disabled ? true : false
} }
}, },
watch: {}, watch: {},
...@@ -97,8 +79,16 @@ ...@@ -97,8 +79,16 @@
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.input-item{ .input-item{
background: #F4F5F7; background: #F4F5F7;
} }
.content {
padding-top: 20rpx;
line-height: 45rpx;
.txt {
font-size: 24rpx;
color: #999;
}
}
</style> </style>
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
mounted() {}, mounted() {},
methods: { methods: {
setValue(txt){ setValue(txt){
if (this.disabled) return
this.dataValue = txt this.dataValue = txt
this.valueChange(txt) this.valueChange(txt)
} }
......
...@@ -326,10 +326,10 @@ ...@@ -326,10 +326,10 @@
{ {
"path": "document", "path": "document",
"style": { "style": {
"navigationBarTitleText": "资料文件", "navigationBarTitleText": "安装文件",
"navigationStyle": "custom", "navigationStyle": "custom",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
// "disableScroll": true "disableScroll": true
} }
} }
] ]
......
...@@ -949,7 +949,7 @@ export default { ...@@ -949,7 +949,7 @@ export default {
/* position: absolute; */ /* position: absolute; */
position: relative; position: relative;
border-radius: 12rpx; border-radius: 12rpx;
margin-top: 60rpx; margin-top: 80rpx;
} }
.title { .title {
......
...@@ -301,6 +301,7 @@ ...@@ -301,6 +301,7 @@
+ "&inGuaranteePeriod=" + item.inGuaranteePeriod + "&inGuaranteePeriod=" + item.inGuaranteePeriod
+ "&partnerCompanyId=" + item.partnerCompanyId + "&partnerCompanyId=" + item.partnerCompanyId
+ "&auditResultsId=" + (item.auditResults?Object.keys(item.auditResults)[Object.keys(item.auditResults).length - 1]:'') + "&auditResultsId=" + (item.auditResults?Object.keys(item.auditResults)[Object.keys(item.auditResults).length - 1]:'')
+ "&maintainStep=" + item.maintainStep
}) })
}, },
// handleAction(item) { // handleAction(item) {
......
This diff is collapsed.
...@@ -682,7 +682,7 @@ ...@@ -682,7 +682,7 @@
}, },
// 去业务材料页面 // 去业务材料页面
handleClickFile() { handleClickFile() {
this.$u.route({url: 'pages/order/document'}) this.$u.route({url: 'pages/order/document' + '?partnerCompanyId=' + this.order.partnerCompanyId + '&brandId=' + this.order.lianbaoBrandId})
}, },
trackOrder() { trackOrder() {
// 接单成功事件,签到成功事件 // 接单成功事件,签到成功事件
...@@ -722,6 +722,7 @@ ...@@ -722,6 +722,7 @@
+ "&inGuaranteePeriod=" + this.order.inGuaranteePeriod + "&inGuaranteePeriod=" + this.order.inGuaranteePeriod
+ "&partnerCompanyId=" + this.order.partnerCompanyId + "&partnerCompanyId=" + this.order.partnerCompanyId
+ '&partnerCompanyName=' + this.order.partnerCompanyName + '&partnerCompanyName=' + this.order.partnerCompanyName
+ '&maintainStep=' + this.order.maintainStep
}) })
}, },
rejectOrder() { // 拒单 rejectOrder() { // 拒单
......
This diff is collapsed.
...@@ -246,16 +246,17 @@ ...@@ -246,16 +246,17 @@
}, },
async closeTake(img) { async closeTake(img) {
if(img !==undefined){ if(img !==undefined){
// 复制一份 用于保存
if (!this.currentItemDate.orderImages) this.currentItemDate.orderImages = []
let saveList = JSON.parse(JSON.stringify(this.currentItemDate.orderImages))
const files = img.map(v => v.path) const files = img.map(v => v.path)
const value = await this.saveToTask(files) const value = await this.saveToTask(files)
if (!this.currentItemDate.orderImages) this.currentItemDate.orderImages = []
// 复制一份 用于保存
let saveList = this.currentItemDate.orderImages.concat();
value.map(item =>{ value.map(item =>{
// step1 添加缓存图片 到显示
this.currentItemDate.orderImages.push(item.path)
// 文件key添加保存数组中 // 文件key添加保存数组中
saveList.push(item.key) saveList.push(item.key)
// step1 添加缓存图片 到显示
this.currentItemDate.orderImages.push(item.path)
}) })
// step2 保存图片 // step2 保存图片
var data={ var data={
...@@ -263,6 +264,7 @@ ...@@ -263,6 +264,7 @@
images : Array.from(saveList), images : Array.from(saveList),
fieldsName:this.currentItemDate.fieldName fieldsName:this.currentItemDate.fieldName
} }
console.log("data", data)
this.$u.api.saveImage(data,this.orderId).then((res) => { this.$u.api.saveImage(data,this.orderId).then((res) => {
if (res.code == 200) { if (res.code == 200) {
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment