uu
This commit is contained in:
parent
207ca1c03e
commit
600ecbb5b3
@ -42,8 +42,8 @@ export const parseAddress = (data = {})=> {
|
||||
return coreRequest(url.parseAddress, data, {}, "GET")
|
||||
}
|
||||
|
||||
export const getAppHomeStatData = (data = {})=> {
|
||||
return coreRequest(url.getAppHomeStatData, data, {}, "GET")
|
||||
export const getCustOrderStatData = (data = {})=> {
|
||||
return coreRequest(url.getCustOrderStatData, data, {}, "GET")
|
||||
}
|
||||
|
||||
// 获取下单隐私协议
|
||||
@ -75,3 +75,19 @@ export const getIdVerification = (data = {})=> {
|
||||
export const idVerification = (data = {})=> {
|
||||
return coreRequest(url.idVerification, data, {})
|
||||
}
|
||||
|
||||
|
||||
// 投诉列表
|
||||
export const getComplaintsList = (data = {})=> {
|
||||
return coreRequest(url.getComplaintsList, data, {}, 'get')
|
||||
}
|
||||
|
||||
// 新增投诉
|
||||
export const addComplaints = (data = {})=> {
|
||||
return coreRequest(url.addComplaints, data, {})
|
||||
}
|
||||
|
||||
// 投诉详情
|
||||
export const getComplainInfo = (data = {})=> {
|
||||
return coreRequest(url.getComplainInfo, data, {}, 'get')
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ export default {
|
||||
getEmisCountry: `/oms2c/emisCountry/listSimple`, // 获取国家列表 -- DONE
|
||||
getEmisRegion: `/oms2c/emisRegion/listSimple`,// 获取省市区列表 -- DONE
|
||||
getDicDataJson: `/common/getDicDataJson`, // 获取枚举字段 -- DONE
|
||||
getAppHomeStatData: `/oms2c/commonTools/getAppHomeStatData`,// 首页统计数据
|
||||
getCustOrderStatData: `/oms2c/emisWaybill/getCustOrderStatData`,// 我的收寄件信息统计 -- DONE
|
||||
getCustomerUserAddressList: `/oms2c/emisCustomerAddress/listSimple`, // 获取客户地址列表 -- DONE
|
||||
setDefaultAddressById: `/oms2c/emisCustomerAddress/setDefaultAddressById`, // 设置默认地址 -- DONE
|
||||
deleteAddressById: `/oms2c/emisCustomerAddress/deleteAddressById`, // 删除地址 -- DONE
|
||||
@ -46,12 +46,15 @@ export default {
|
||||
deleteBindSalemen: `/oms2c/emisWaybill/deleteBindSalemen`, // 删除绑定快递员 -- DONE
|
||||
setDefaultBindSalesmen: `/oms2c/emisWaybill/setDefaultBindSalesmen`, // 设置默认快递员 -- DONE
|
||||
queryWaybillTraceInfo: `/oms2c/emisTmsScanRecord/queryWaybillTraceInfo`, // 物流轨迹 -- DONE
|
||||
|
||||
queryArticleList: `/oms2c/emisArticle/listSimple`, // 信息速递列表 -- DONE
|
||||
queryArticleDetail: `/oms2c/emisArticle/getDetail`, // 获取文档详情 -- DONE
|
||||
articleGiveLike: `/oms2c/emisArticle/giveLike`, // 文章点赞 -- DONE
|
||||
getIdVerification: `/oms2c/emisCustomerUser/getIdVerification`, // 获取实名认证信息 -- DONE
|
||||
idVerification: `/oms2c/emisCustomerUser/idVerification`, // 提交实名认证 -- DONE
|
||||
|
||||
getComplaintsList: `/oms2c/emisWaybillComplaints/listSimple`, // 投诉列表 -- DONE
|
||||
addComplaints: `/oms2c/emisWaybillComplaints/addComplaints`, // 新增投诉 -- DONE
|
||||
getComplainInfo: `/oms2c/emisWaybillComplaints/getInfoById`, // 投诉详情 -- DONE
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,81 +1,101 @@
|
||||
<template>
|
||||
<tpx-layout>
|
||||
<tpx-page>
|
||||
<tpx-layout>
|
||||
<template v-slot:body>
|
||||
<view class="pos-abt-all">
|
||||
<tpx-scroll-view v-model:resObject="resData" :searchParam="searchParam" :getListFun="getListFun"
|
||||
ref="listRef"
|
||||
>
|
||||
<view v-for="(item) in resData.list" class="com-jianju" style="padding-top: 30rpx;">
|
||||
<view class="com-radius" style="background-color: #fff;padding: 26rpx 30rpx;">
|
||||
<u-row justify="between">
|
||||
<u-text size="30" color="#0E0708" :bold="true" text="T7080123982301"></u-text>
|
||||
</u-row>
|
||||
<u-line color="#D9D9D9" margin="26rpx 0"></u-line>
|
||||
|
||||
<template v-slot:body>
|
||||
<view class="com-jianju" style="padding-top: 30rpx;">
|
||||
<view class="com-radius" style="background-color: #fff;padding: 26rpx 30rpx;">
|
||||
<u-row justify="between">
|
||||
<u-text size="30" color="#0E0708" :bold="true" text="T7080123982301"></u-text>
|
||||
</u-row>
|
||||
<u-line color="#D9D9D9" margin="26rpx 0"></u-line>
|
||||
<u-row align="top">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉原因:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="×××"></u-text>
|
||||
</u-row>
|
||||
|
||||
<u-row align="top">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉原因:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="×××"></u-text>
|
||||
</u-row>
|
||||
<u-row align="top" custom-style="margin-top:30rpx;">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉描述:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="×××"></u-text>
|
||||
</u-row>
|
||||
<u-row align="top" custom-style="margin-top:30rpx;">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉时间:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="2023-11-20 13:28:56"></u-text>
|
||||
</u-row>
|
||||
|
||||
<u-row align="top" custom-style="margin-top:30rpx;">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉描述:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="×××"></u-text>
|
||||
</u-row>
|
||||
<u-row align="top" custom-style="margin-top:30rpx;">
|
||||
<view class="mr-10">
|
||||
<u-text size="28" color="#333" :bold="true" text="投诉时间:"></u-text>
|
||||
</view>
|
||||
<u-text size="26" color="#999" text="2023-11-20 13:28:56"></u-text>
|
||||
</u-row>
|
||||
<view @click="goto(`complaint/edit`)" style="padding-top:20rpx;margin-top: 20rpx;border-top: 2rpx solid #D9D9D9">
|
||||
<u-row justify="between">
|
||||
<u-text align="left" size="28" text="查看详情"></u-text>
|
||||
<view>
|
||||
<u-icon name="arrow-right" size="" color=""></u-icon>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
<view @click="handleEditItem()" style="padding-top:20rpx;margin-top: 20rpx;border-top: 2rpx solid #D9D9D9">
|
||||
<u-row justify="between">
|
||||
<u-text align="left" size="28" text="查看详情"></u-text>
|
||||
<view>
|
||||
<u-icon name="arrow-right" size="" color=""></u-icon>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</tpx-scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius">
|
||||
<u-button @click="handleEditItem()" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;"
|
||||
>新增</u-button>
|
||||
</view>
|
||||
</template>
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius">
|
||||
<u-button @click="goto(`complaint/edit`)" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;"
|
||||
>新增</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
</tpx-layout>
|
||||
</tpx-page>
|
||||
|
||||
</tpx-layout>
|
||||
</template>
|
||||
<script>
|
||||
import getCdnUrl from "@/common/getCdnUrl"
|
||||
import { goto, goBack, setClipboardData, confirmModal, showLoading } from "@/common/untool"
|
||||
import * as apiService from "@/common/api"
|
||||
export default {
|
||||
props: {
|
||||
// hasLeftWin: {
|
||||
// type: Boolean
|
||||
// }
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
searchParam: {
|
||||
},
|
||||
resData: { list: [] },
|
||||
queryOption: {},
|
||||
}
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return {
|
||||
// title: '',
|
||||
// path: 'TODO'
|
||||
}
|
||||
onShow(){
|
||||
this.triggerListReload()
|
||||
this.initData()
|
||||
},
|
||||
onLoad(queryOption) {
|
||||
this.queryOption = queryOption
|
||||
this.initData();
|
||||
},
|
||||
onUnload() {
|
||||
},
|
||||
methods: {
|
||||
getCdnUrl,
|
||||
handleEditItem(item={}) {
|
||||
goto(`complaint/edit?id=${item.id}`)
|
||||
getListFun: apiService.getComplaintsList,
|
||||
initData(){
|
||||
|
||||
},
|
||||
triggerListReload(){
|
||||
this?.$refs?.listRef?.getDataList?.(true) // 重置到第一页数据
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,50 +1,55 @@
|
||||
<template>
|
||||
<tpx-layout>
|
||||
<template v-slot:body>
|
||||
<view class="com-jianju pos-rlt pb-30" style="padding-top: 2rpx;">
|
||||
<tpx-page>
|
||||
<tpx-layout>
|
||||
<template v-slot:body>
|
||||
<view class="com-jianju pos-rlt pb-30" style="padding-top: 2rpx;">
|
||||
|
||||
<view class="blcok-white radius-20">
|
||||
<view class="">
|
||||
<view class="blcok-white radius-20">
|
||||
<view class="">
|
||||
|
||||
<view class="mt-10">
|
||||
<tpx-input v-model:value="submitParam.billCode" placeholder="运单号"></tpx-input>
|
||||
</view>
|
||||
<view class="mt-30">
|
||||
<tpx-select
|
||||
v-model:value="submitParam.cpSiteCode" v-model:text="submitParam.siteName" v-model:resObject="wayRes"
|
||||
:getListFun="getSendSiteList" :transKeyVal="{valKey: 'siteName',titleKey: 'siteName'}"
|
||||
:searchParam="siteSearchParam" placeholder="请选择投诉网点"
|
||||
></tpx-select>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="mt-30">
|
||||
<tpx-select placeholder="投诉原因" v-model:value="submitParam.cpReason" :list="dicData.emis_complaints_type" mode="drop"
|
||||
></tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="mt-30">
|
||||
<tpx-textarea v-model:value="submitParam.remark" placeholder="投诉描述"></tpx-textarea>
|
||||
</view>
|
||||
|
||||
<view class="mt-10">
|
||||
<tpx-input v-model:value="submitParam.danhao" placeholder="运单号"></tpx-input>
|
||||
</view>
|
||||
<view class="mt-30">
|
||||
<tpx-select placeholder="投诉网点" v-model:value="country" :list="[]"
|
||||
></tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="mt-30">
|
||||
<tpx-select placeholder="投诉原因" v-model:value="country" :list="[]"
|
||||
></tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="mt-30">
|
||||
<tpx-textarea v-model:value="submitParam.desc" placeholder="投诉描述"></tpx-textarea>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius">
|
||||
<u-button @click="handleSubmit()" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;"
|
||||
>确定</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</tpx-layout>
|
||||
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius">
|
||||
<u-button @click="handleSubmit()" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;"
|
||||
>确定</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</tpx-layout>
|
||||
</tpx-page>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import getCdnUrl from "@/common/getCdnUrl"
|
||||
import {
|
||||
goto, goBack
|
||||
} from "@/common/untool"
|
||||
import * as apiService from "@/common/api"
|
||||
import { checkParams } from "@/common/validate"
|
||||
//
|
||||
|
||||
export default {
|
||||
props: {
|
||||
// hasLeftWin: {
|
||||
@ -52,46 +57,58 @@
|
||||
// }
|
||||
},
|
||||
computed: {
|
||||
|
||||
dicData() {
|
||||
return this.$store.getters.dicData
|
||||
},
|
||||
siteSearchParam() {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
||||
return {
|
||||
queryOption: {
|
||||
cmpId: ''
|
||||
},
|
||||
// 基础表单数据
|
||||
submitParam: {
|
||||
type: 1,
|
||||
otherDes: ''
|
||||
}
|
||||
idType: this.$store.getters.dicData?.emis_complaints_type?.[0]?.value,
|
||||
},
|
||||
submitValidConfig: {
|
||||
billCode: { required: true, requiredMsg: '运单号不能为空' },
|
||||
cpSiteCode: { required: true, requiredMsg: '投诉网点不能为空' },
|
||||
cpReason: { required: true, requiredMsg: '投诉原因不能为空' },
|
||||
},
|
||||
}
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return {
|
||||
// title: '',
|
||||
// path: 'TODO'
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
onLoad(queryOption) {
|
||||
this.queryOption = queryOption
|
||||
this.initData();
|
||||
},
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
getCdnUrl,
|
||||
|
||||
getSendSiteList: apiService.getSendSiteList,
|
||||
initData() {
|
||||
// uni.showLoading({
|
||||
// title: '加载中'
|
||||
// });
|
||||
this.queryOption.cmpId && this.getDetailData()
|
||||
},
|
||||
handleAnsText(){
|
||||
async getDetailData(){
|
||||
let res = apiService.getComplainInfo({id: ''})
|
||||
res.data && (this.submitParam = res.data)
|
||||
},
|
||||
handleFormChange() {
|
||||
|
||||
},
|
||||
handleFormChange(){
|
||||
|
||||
},
|
||||
handleSubmit() {
|
||||
goBack()
|
||||
async handleSubmit() {
|
||||
let params = { ...this.submitParam }
|
||||
await checkParams(params, this.submitValidConfig)
|
||||
let res = await apiService.addComplaints(params)
|
||||
this.showToast('提交成功')
|
||||
this.goBack()
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
<view class="com-jianju" style="margin-top: 50rpx;">
|
||||
<u-row justify="between">
|
||||
<u-col v-for="(mbItem, mIndex) in mainBtnlist" span="5.8"
|
||||
<u-col v-for="(mbItem, mIndex) in staticDataList" span="5.8"
|
||||
customStyle="background: linear-gradient(0deg, #1D1818 0%, #0E0708 100%);border-radius: 20rpx;padding: 30rpx;"
|
||||
>
|
||||
<u-row justify="center">
|
||||
@ -71,7 +71,15 @@
|
||||
computed: {
|
||||
userInfo() {
|
||||
return this.$store.getters.userInfo
|
||||
}
|
||||
},
|
||||
staticDataList(){
|
||||
let { recieveNum, sendNum } = this.staticInfo
|
||||
let list = [
|
||||
{ title: `${sendNum || 0}单`, subTitle: "寄件", icon: getCdnUrl(`mine/jijian.png`), url: '' },
|
||||
{ title: `${recieveNum || 0}单`, subTitle: "收件", icon: getCdnUrl(`mine/shjian.png`), url: '' }
|
||||
]
|
||||
return list
|
||||
},
|
||||
},
|
||||
props: {
|
||||
// hasLeftWin: {
|
||||
@ -81,13 +89,7 @@
|
||||
data() {
|
||||
return {
|
||||
staticInfo: {
|
||||
commStat: {},
|
||||
orderStat: {},
|
||||
},
|
||||
mainBtnlist: [
|
||||
{ title: '0单', subTitle: "寄件", icon: getCdnUrl(`mine/jijian.png`), url: '' },
|
||||
{ title: '0单', subTitle: "收件", icon: getCdnUrl(`mine/shjian.png`), url: '' }
|
||||
],
|
||||
toolBtnlist: [
|
||||
{ title: '运单列表', subTitle: "", icon: getCdnUrl(`mine/ydlib.png`), url: 'tabBar/search/search' },
|
||||
{ title: '进仓单', subTitle: "", icon: getCdnUrl(`mine/jcdan.png`), url: 'warehousing/list' },
|
||||
@ -118,15 +120,15 @@
|
||||
}
|
||||
},
|
||||
async initData(){
|
||||
this.getAppHomeStatData()
|
||||
this.getOrderStatData()
|
||||
this.getPrivateRuleData()
|
||||
},
|
||||
async getPrivateRuleData(){
|
||||
let res = await apiService.getAgreementTxt()
|
||||
this.privacyModal.content = res?.data || ''
|
||||
},
|
||||
async getAppHomeStatData(){
|
||||
let res = await apiService.getAppHomeStatData()
|
||||
async getOrderStatData(){
|
||||
let res = await apiService.getCustOrderStatData()
|
||||
this.staticInfo = res.data
|
||||
},
|
||||
async handleUnlogin() {
|
||||
|
||||
@ -43,8 +43,8 @@
|
||||
|
||||
<template v-slot:footer>
|
||||
<view class="blcok-white-noradius">
|
||||
<u-button @click="handleSubmit()" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;">提交实名</u-button>
|
||||
<u-button @click="handleSubmit()" :disabled="submitParam.idVerifyStatus == 1" type="primary" size="large" shape="circle"
|
||||
custom-style="height:80rpx;font-size: 30rpx;">{{submitParam.idVerifyStatus == 1 ?'已实名':'提交实名'}}</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</tpx-layout>
|
||||
@ -71,7 +71,8 @@
|
||||
return {
|
||||
// 基础表单数据
|
||||
submitParam: {
|
||||
idType: this.$store.getters.dicData?.emis_id_type?.[0]?.value
|
||||
idType: this.$store.getters.dicData?.emis_id_type?.[0]?.value,
|
||||
// "idVerifyStatus": "1-已实名 0-未实名"
|
||||
},
|
||||
submitValidConfig: {
|
||||
realName: { required: true, requiredMsg: '姓名不能为空' },
|
||||
|
||||
@ -37,7 +37,7 @@ export default {
|
||||
let key = Object.keys(item).filter(i=> i != 'desc')[0]
|
||||
if(key) {
|
||||
let list = []
|
||||
if(['emis_signs_remark', 'emis_express_code', 'emis_order_remark_list'].indexOf(key) > -1) {
|
||||
if(['emis_signs_remark', 'emis_express_code', 'emis_order_remark_list', 'emis_complaints_type'].indexOf(key) > -1) {
|
||||
// 特殊枚举值, label、value一致
|
||||
list = transListKeyTitle({ valKey:'label', titleKey: 'label', list: item[key] })
|
||||
} else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user