Commit 37caa8cc authored by 李超鹏's avatar 李超鹏

update:add、update

scope:self-support
body:完工页面交互调试
parent 02d04def
...@@ -73,6 +73,21 @@ let orderApiFun = function(vm){ ...@@ -73,6 +73,21 @@ let orderApiFun = function(vm){
*/ */
let getWatermark= async (params = {}) => await vm.$u.get('wxh-worker-rest/rest/'+ vm.vuex_token+'/photo/watermark', params); let getWatermark= async (params = {}) => await vm.$u.get('wxh-worker-rest/rest/'+ vm.vuex_token+'/photo/watermark', params);
/**
* 获取订单的完工项目(配置+数据)
*/
let getCompleteConfigAndData= async (orderId) => await vm.$u.get('wxh-worker-rest/rest/'+ vm.vuex_token+'/order/'+ orderId +'/maintain/info');
/**
* 查询措施
*/
let getMeasure= async (params = {}) => await vm.$u.get('wxh-worker-rest/rest/service/'+ vm.vuex_token+'/measure/queryMeasureItems', params);
/**
* 保存售后记录
*/
let saveCompleteData = async (params = {},orderId) => await vm.$u.post('wxh-worker-rest/rest/'+ vm.vuex_token+'/order/'+ orderId +'/maintain/saveMaintainInfoV2', params);
const orderApi = { const orderApi = {
listByRecommendOrder, listByRecommendOrder,
listOrderCount, listOrderCount,
...@@ -84,13 +99,15 @@ let orderApiFun = function(vm){ ...@@ -84,13 +99,15 @@ let orderApiFun = function(vm){
listOrderRecord, listOrderRecord,
orderAccept, orderAccept,
orderGan, orderGan,
maintainWorkerCheckin,
feedbackConfig, feedbackConfig,
traceAndAppointment, traceAndAppointment,
rejectOrder, rejectOrder,
orderStandard, orderStandard,
saveImage, saveImage,
getWatermark getWatermark,
getCompleteConfigAndData,
getMeasure,
saveCompleteData
} }
return orderApi return orderApi
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<template> <template>
<view class="list"> <view class="list">
<view v-for="(item,index) in settings" :key="index" <view v-for="(item,index) in settings" :key="index"
:class="{'txt':true,'active':checkStatus(item)}" @click="setValue(item)">{{item}} :class="{'txt':true,'active':checkStatus(item.key)}" @click="setValue(item.key)">{{item.label}}
</view> </view>
</view> </view>
</template> </template>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
}, },
computed: { computed: {
settings() { settings() {
return this.item.settings || [] return this.item.fieldsOptions || []
} }
}, },
watch: {}, watch: {},
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<view class="icon-del rotate"></view> <view class="icon-del rotate"></view>
</view> </view>
</view> </view>
<view class="img-list" @click="choose"> <view class="img-list">
<u-image class="pic" width="170rpx" height="170" @click="selectUpload" src="https://gitee.com/xuqu/uView/blob/master/static/uview/example/min_button.png"></u-image> <u-image class="pic" width="170rpx" height="170" @click="selectUpload" src="https://gitee.com/xuqu/uView/blob/master/static/uview/example/min_button.png"></u-image>
</view> </view>
<!-- <u-image class="pic" v-for="item in 6" width="170rpx" height="170" src="'https://cdn.uviewui.com/uview/example/fade.jpg"></u-image> --> <!-- <u-image class="pic" v-for="item in 6" width="170rpx" height="170" src="'https://cdn.uviewui.com/uview/example/fade.jpg"></u-image> -->
...@@ -23,12 +23,12 @@ ...@@ -23,12 +23,12 @@
</template> </template>
<script> <script>
import objMixin from './objMixin' import arrMixin from './arrMixin'
import baseFile from '@/components/upload/index'; import baseFile from '@/components/upload/index';
export default { export default {
name: 'XhFiles', name: 'XhFiles',
components: {}, components: {},
mixins: [objMixin,baseFile], mixins: [arrMixin,baseFile],
props: { props: {
files: { files: {
type: Array, type: Array,
...@@ -60,17 +60,37 @@ ...@@ -60,17 +60,37 @@
}, },
'files': { // 处理相机拍照返回的图片 'files': { // 处理相机拍照返回的图片
handler (val) { handler (val) {
this.imgList = val.map(v => { if(val && val.length > 0){
v.path = v.src val.forEach((item,index,array)=>{
return v item.path = item.src
this.imgList.push(item)
}) })
// this.imgList = val.map(v => {
// v.path = v.src
// return v
// })
this.setValue() this.setValue()
}
}, },
deep:true, deep:true,
immediate: true, immediate: true,
},
// 'value'(val, oldVal){
// if(val){
// this.imgList = val.map(img =>{
// return {path:img}
// })
// }
// }
},
mounted() {
if(this.value){
this.imgList = this.value.map(img =>{
return {path: img}
})
} }
this.setValue()
}, },
mounted() {},
methods: { methods: {
selectUpload(){ selectUpload(){
// 弹窗展示 // 弹窗展示
...@@ -90,7 +110,7 @@ ...@@ -90,7 +110,7 @@
let config = { let config = {
options:{ options:{
sourceType:['album'],//['album', 'camera'] sourceType:['album'],//['album', 'camera']
count: 5, count: 10,
sizeType: ['compressed'] sizeType: ['compressed']
} }
} }
...@@ -104,9 +124,8 @@ ...@@ -104,9 +124,8 @@
setValue() { setValue() {
const dataValue = [] const dataValue = []
this.imgList.map(item=>{ this.imgList.map(item=>{
dataValue.push(item.key) dataValue.push(item.src)
}) })
console.log(this.imgList)
this.valueChange(dataValue) this.valueChange(dataValue)
}, },
prviewImage(url, index) { prviewImage(url, index) {
...@@ -117,14 +136,15 @@ ...@@ -117,14 +136,15 @@
}, },
delFile(index) { delFile(index) {
this.imgList.splice(index, 1) this.imgList.splice(index, 1)
this.setValue()
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.pic{ .pic{
margin-right: 15rpx; // margin-right: 15rpx;
margin-bottom: 15rpx; // margin-bottom: 15rpx;
&:nth-child(3n){ &:nth-child(3n){
margin-right: 0; margin-right: 0;
} }
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
}, },
computed: { computed: {
type() { type() {
console.log(this.item)
if (this.item && this.item.fieldsType == 'password' || this.item.fieldsType == 'textarea') { if (this.item && this.item.fieldsType == 'password' || this.item.fieldsType == 'textarea') {
return this.item.fieldsType return this.item.fieldsType
} else { } else {
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
<view class="list u-flex u-row-between"> <view class="list u-flex u-row-between">
<image class="item-image" :src="mixingImage" v-if="item.required"></image> <image class="item-image" :src="mixingImage" v-if="item.required"></image>
<view class="u-m-r-20">{{item.fieldsTitle}}</view> <view class="u-m-r-20">{{item.fieldsTitle}}</view>
<!-- <u-button type="primary" size="mini" @click="$u.debounce(getLocation,1000)">自动定位</u-button> -->
<view class="u-flex-1 location-name"> <view class="u-flex-1 location-name">
<u-icon name="map" color="#2979ff" size="30"></u-icon>自动定位 <u-icon name="map" color="#2979ff" size="30"></u-icon>自动定位
</view> </view>
...@@ -14,11 +13,11 @@ ...@@ -14,11 +13,11 @@
</template> </template>
<script> <script>
import objMixin from './objMixin' import arrMixin from './arrMixin'
export default { export default {
name: 'XhLocation', name: 'XhLocation',
components: {}, components: {},
mixins: [objMixin], mixins: [arrMixin],
props: {}, props: {},
filters:{}, filters:{},
data() { data() {
......
<!-- ******************* 单级/多级 选择 ******************* --> <!-- ******************* 服务措施 ******************* -->
<template> <template>
<view class="picker-box"> <view class="picker-box">
<view class="u-flex u-row-between" @click="openPicker"> <view class="u-flex u-row-between" @click="openPicker">
......
<!-- ******************* 单选框 ******************* --> <!-- ******************* 单选框 ******************* -->
<template> <template>
<view class="list"> <view class="list">
<view v-for="(item,index) in settings" :key="index" :class="{'txt':true,'active':item===dataValue}" <view v-for="(item,index) in settings" :key="index" :class="{'txt':true,'active':item.key===dataValue}"
@click="setValue(item)">{{item}}</view> @click="setValue(item.key)">{{item.label}}</view>
</view> </view>
</template> </template>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
}, },
computed: { computed: {
settings(){ settings(){
return this.item.settings || [] return this.item.fieldsOptions || []
} }
}, },
watch: {}, watch: {},
......
<!-- ******************* 单个下拉选择 ******************* --> <!-- ******************* 单个下拉选择 ******************* -->
<template> <template>
<view> <view>
<u-input v-model="dataValue" readOnly @click="show=true" type="select" /> <u-input :value="text" readOnly @click="show=true" type="select" />
<u-action-sheet :list="settings" v-model="show" @click="actionSheetCallback"></u-action-sheet> <u-action-sheet :list="settings" v-model="show" @click="actionSheetCallback"></u-action-sheet>
</view> </view>
</template> </template>
...@@ -28,22 +28,27 @@ ...@@ -28,22 +28,27 @@
}, },
settings() { settings() {
let result = [] let result = []
let settings = this.item.settings || [] let settings = this.item.fieldsOptions || []
result = settings.map(item => { result = settings.map(item => {
return { return {
text: item text: item.label,
id: item.key
} }
}) })
return result return result
},
text(){
let option = this.item.fieldsOptions.find(a=>{return a.key === this.dataValue})
return option?option.label:''
} }
}, },
watch: {}, watch: {},
mounted() {}, mounted() {},
methods: { methods: {
actionSheetCallback(index) { actionSheetCallback(index) {
let txt = this.settings[index].text; let id = this.settings[index].id;
this.dataValue = txt this.dataValue = id
this.valueChange(txt) this.valueChange(id)
} }
} }
} }
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<template> <template>
<view class="picker-box"> <view class="picker-box">
<view class="u-flex u-row-between" @click="openPicker"> <view class="u-flex u-row-between" @click="openPicker">
<view class="txt">{{item.fieldsTitle}}</view> <!-- <view class="txt">{{item.fieldsTitle}}</view> -->
<view class="txt u-flex-1">{{dataValue}}</view> <view class="txt u-flex-1">{{dataValue||'请选择时间'}}</view>
<u-icon name="arrow-right" color="#666" size="28"></u-icon> <u-icon name="arrow-right" color="#666" size="28"></u-icon>
</view> </view>
<u-picker :params="params" v-model="showPicker" mode="time" @confirm="pickerConfirm"></u-picker> <u-picker :params="params" v-model="showPicker" mode="time" @confirm="pickerConfirm"></u-picker>
...@@ -25,10 +25,9 @@ ...@@ -25,10 +25,9 @@
year: true, year: true,
month: true, month: true,
day: true, day: true,
hour: true, hour: false,
minute: true, minute: false,
second: true, second: false,
// 选择时间的时间戳
timestamp: true, timestamp: true,
} }
} }
...@@ -49,11 +48,8 @@ ...@@ -49,11 +48,8 @@
this.showPicker = true this.showPicker = true
}, },
pickerConfirm(data) { pickerConfirm(data) {
console.log(data, 'DATA')
let result = [] let result = []
let dataValue = data.year + '-' + data.month + '-' + data.day + ' ' + data.hour + ':' + data.minute + let dataValue = data.year + '-' + data.month + '-' + data.day
':' + data.second
console.log(dataValue, 'dataValue')
this.dataValue = dataValue this.dataValue = dataValue
this.valueChange(dataValue) this.valueChange(dataValue)
}, },
......
This diff is collapsed.
...@@ -378,6 +378,8 @@ ...@@ -378,6 +378,8 @@
// 去完工 // 去完工
uni.navigateTo({ uni.navigateTo({
url: 'pages/order/complete?orderId='+this.order.orderId url: 'pages/order/complete?orderId='+this.order.orderId
+ "&categoryId=" + this.order.categoryId
+ "&orderServiceType=" + this.order.orderServiceType
}) })
}, },
/** /**
......
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