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,11 +5,11 @@ const UNI_APP = {
// banshou: 'https://m.banshou.com', //扳手app
},
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端域名请求头
},
qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
qn_asset_url: 'http://deudn.c.pp.cc/',
qn_base_url: 'https://qn-static.banshouhui.com/self-support/',
qn_asset_url: 'http://deudn.c.pp.cc/',
argoDebugMode: 1
}
module.exports = UNI_APP;
......@@ -2,7 +2,7 @@
(function () {
let NODE_ENV = 'test'; // dev:开发环境 | test:测试环境 | prod:生产环境
let ENV_VAR = null;
let VERSION_NUMBER = '1.3.1';//版本号
let VERSION_NUMBER = '1.3.2';//版本号
//小程序是否审核通过,参数配置在ucenter库version表,对应版本号的is_audit设置为1,将显示学习视频
if (process.env.NODE_ENV === "development") {
if (NODE_ENV === 'dev') {
......
......@@ -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 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){
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 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 = {
listByRecommendOrder,
......@@ -212,7 +221,10 @@ let orderApiFun = function(vm){
workerApplyPay,
allowLogin,
otherUser,
checkAddCustomer
checkAddCustomer,
fileLabel,
fileList,
completeNextStep
}
return orderApi
}
......
......@@ -88,7 +88,8 @@ const install = (Vue, vm) => {
// return result;
case 200:
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,
message:msg
};
......
......@@ -9,38 +9,49 @@
mode="center"
width="690rpx">
<view class="slot-content">
<view class="check-status">
<u-image width="224rpx" height="224rpx" :src="statusImage"></u-image>
<text :class="['status-txt', { 'pass-color': pass }]">{{statusTxt}}</text>
</view>
<view class="check-list">
<view class="u-flex u-row-between list-title">
<view class="left-txt">验证项</view>
<view>已提交/需提交</view>
<view class="right-txt">结果</view>
<view v-if="confirmButtonText !== '确定'">
<view class="check-status">
<u-image width="224rpx" height="224rpx" :src="statusImage"></u-image>
<text :class="['status-txt', { 'pass-color': pass }]">{{statusTxt}}</text>
</view>
<view class="u-flex u-row-between list-item"
v-for="(item, index) in listData" :key="index">
<view class="item-txt left-txt" style="width: 160rpx;text-align: left;">
<u-icon
:name="item.pass ? passIcon : noPassIcon"
:label="item.label"
margin-left="12"
label-color="#333333"
label-size="28"
size="32"></u-icon>
<view class="check-list">
<view class="u-flex u-row-between list-title">
<view class="left-txt">验证项</view>
<view>已提交/需提交</view>
<view class="right-txt">结果</view>
</view>
<view class="item-txt">{{item.submitted}}/{{item.required}}</view>
<view
:class="['item-txt', 'right-txt', item.pass ? 'pass-color' : 'no-pass-color']"
style="width: 160rpx;text-align: right;">
{{item.pass ? "通过" : "未通过"}}
<view class="u-flex u-row-between list-item"
v-for="(item, index) in listData" :key="index">
<view class="item-txt left-txt" style="width: 200rpx;text-align: left;">
<u-icon
:name="item.pass ? passIcon : noPassIcon"
:label="item.label"
margin-left="12"
label-color="#333333"
label-size="28"
size="32"></u-icon>
</view>
<view class="item-txt">{{item.submitted}}/{{item.required}}</view>
<view
:class="['item-txt', 'right-txt', item.pass ? 'pass-color' : 'no-pass-color']"
style="width: 160rpx;text-align: right;">
{{item.pass ? "通过" : "未通过"}}
</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="button cancel" v-show="!pass" @tap="cancel">取消</view>
<view class="button confirm" @tap="confirm">{{confirmText}}</view>
<view class="button cancel" v-show="cancelButtonText !== ''" @tap="cancel">{{ cancelButtonText }}</view>
<view class="button confirm" @tap="confirm">{{ confirmButtonText }}</view>
</view>
</view>
</u-popup>
......@@ -79,6 +90,14 @@
{label: '安装信息', submitted: 15, required: 20, pass: false}
]
}
},
confirmButtonText: {
type: String,
default: '确定'
},
cancelButtonText: {
type: String,
default: ''
}
},
data() {
......@@ -104,9 +123,6 @@
statusTxt() {
return this.pass ? "完工校验已通过" : "完工校验未通过"
},
confirmText() {
return this.pass ? "确定" : "去处理"
},
passIcon() { return process.uniEnv.qn_base_url + 'icon/pass.png'},
noPassIcon() { return process.uniEnv.qn_base_url + 'icon/no-pass.png'},
},
......@@ -115,14 +131,7 @@
this.$emit('close')
},
confirm() {
if(this.pass) {
this.$emit('change')
} else {
let data = this.listData.find((item, index) => {
return item.pass == false;
})
this.$emit('handle', data)
}
this.$emit('confirm')
}
},
......@@ -161,6 +170,15 @@
margin-bottom: 40rpx;
}
}
.no-install {
justify-content: center;
align-items: center;
height: 200rpx;
border-top: 2rpx solid #F4F5F7;
.tips {
font-size: 28rpx;
}
}
.check-bottom {
display: flex;
justify-content: center;
......@@ -194,7 +212,7 @@
line-height: 32rpx;
}
.left-txt {
width: 160rpx;
width: 200rpx;
text-align: left;
}
.right-txt {
......
......@@ -61,7 +61,7 @@
display: flex;
flex-wrap: wrap;
line-height: 50rpx;
max-width: 46%;
max-width: 46%;
align-items: center;
&.active{
background-color: #2272FF;
......
......@@ -4,7 +4,7 @@
<view class="file-box">
<view class="pics u-flex u-flex-wrap">
<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"></view>
<view class="icon-del rotate"></view>
......
......@@ -2,7 +2,10 @@
<template>
<view :style="{'width': fieldsWidth}">
<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>
</template>
......@@ -26,42 +29,18 @@
type: {
type: String,
default: 'text'
},
slotContent: {
type: String,
default: ''
}
// width: { // 例如:454rpx
// type: String,
// default: '100%'
// }
},
data() {
return {
inputType: 'text',
// type: 'text'
inputType: 'text'
}
},
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() {
return this.type == 'digit' ? 9 : 140
},
......@@ -89,6 +68,9 @@
},
backgroundColor() {
return this.textarea ? 'transparent' : '#F4F5F7'
},
isDisabled() {
return this.item.fieldsId === 254 || this.disabled ? true : false
}
},
watch: {},
......@@ -97,8 +79,16 @@
}
</script>
<style scoped>
<style lang="scss" scoped>
.input-item{
background: #F4F5F7;
}
.content {
padding-top: 20rpx;
line-height: 45rpx;
.txt {
font-size: 24rpx;
color: #999;
}
}
</style>
......@@ -25,6 +25,7 @@
mounted() {},
methods: {
setValue(txt){
if (this.disabled) return
this.dataValue = txt
this.valueChange(txt)
}
......@@ -44,7 +45,7 @@
display: flex;
flex-wrap: wrap;
line-height: 50rpx;
max-width: 46%;
max-width: 46%;
align-items: center;
&.active{
background-color: #2272FF;
......
......@@ -326,10 +326,10 @@
{
"path": "document",
"style": {
"navigationBarTitleText": "资料文件",
"navigationBarTitleText": "安装文件",
"navigationStyle": "custom",
"enablePullDownRefresh": false
// "disableScroll": true
"enablePullDownRefresh": false,
"disableScroll": true
}
}
]
......
......@@ -949,7 +949,7 @@ export default {
/* position: absolute; */
position: relative;
border-radius: 12rpx;
margin-top: 60rpx;
margin-top: 80rpx;
}
.title {
......
......@@ -301,6 +301,7 @@
+ "&inGuaranteePeriod=" + item.inGuaranteePeriod
+ "&partnerCompanyId=" + item.partnerCompanyId
+ "&auditResultsId=" + (item.auditResults?Object.keys(item.auditResults)[Object.keys(item.auditResults).length - 1]:'')
+ "&maintainStep=" + item.maintainStep
})
},
// handleAction(item) {
......
This diff is collapsed.
......@@ -682,7 +682,7 @@
},
// 去业务材料页面
handleClickFile() {
this.$u.route({url: 'pages/order/document'})
this.$u.route({url: 'pages/order/document' + '?partnerCompanyId=' + this.order.partnerCompanyId + '&brandId=' + this.order.lianbaoBrandId})
},
trackOrder() {
// 接单成功事件,签到成功事件
......@@ -722,6 +722,7 @@
+ "&inGuaranteePeriod=" + this.order.inGuaranteePeriod
+ "&partnerCompanyId=" + this.order.partnerCompanyId
+ '&partnerCompanyName=' + this.order.partnerCompanyName
+ '&maintainStep=' + this.order.maintainStep
})
},
rejectOrder() { // 拒单
......
This diff is collapsed.
......@@ -246,16 +246,17 @@
},
async closeTake(img) {
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 value = await this.saveToTask(files)
if (!this.currentItemDate.orderImages) this.currentItemDate.orderImages = []
// 复制一份 用于保存
let saveList = this.currentItemDate.orderImages.concat();
value.map(item =>{
// step1 添加缓存图片 到显示
this.currentItemDate.orderImages.push(item.path)
// 文件key添加保存数组中
saveList.push(item.key)
// step1 添加缓存图片 到显示
this.currentItemDate.orderImages.push(item.path)
})
// step2 保存图片
var data={
......@@ -263,6 +264,7 @@
images : Array.from(saveList),
fieldsName:this.currentItemDate.fieldName
}
console.log("data", data)
this.$u.api.saveImage(data,this.orderId).then((res) => {
if (res.code == 200) {
} 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