Commit 8791c116 authored by chuan.liu's avatar chuan.liu

线索查询详情界面+联调

parent 1f445b2b
......@@ -100,22 +100,28 @@
"port": "8080",
"disableHostCheck": true,
"proxy": {
// "": {
// "target": "http://221.10.127.60:5000",
// "changeOrigin": true
// }
"/sap": {
// "target": "http://10.0.135.139/wlySap",
"target": "http://10.0.134.182:8000",
"target": "http://221.10.127.60:5000/wlySap",
// "target": "http://10.0.134.182:8000",
"changeOrigin": true
},
"/crm-app": {
"target": "http://10.0.135.61",
// "target": "http://10.0.135.61",
// "target": "http://10.0.135.139",
// "target": "http://221.10.127.60:5000",
"target": "http://221.10.127.60:5000",
"changeOrigin": true
},
"/wmdpwebservices": {
"target": "https://10.0.134.182:9002",
"target": "http://221.10.127.60:5000/sczx",
// "target": "https://10.0.134.182:9002",
"changeOrigin": true
},
"/adapter": {
// "target": "http://221.10.127.60:5000/cyj",
"target": "http://api.c0331.dev.guanyingyun.com",
"changeOrigin": true
}
......
......@@ -742,6 +742,22 @@
}
}
},
{
"path": "pages/breakwords-clue-detail/breakwords-clue-detail",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "transparent",
"titleText": "违约线索明细",
"autoBackButton": true
},
"bounce": "none"
}
}
},
{
"path": "pages/breakwords-market/breakwords-market",
"style": {
......
......@@ -7,30 +7,33 @@
<view class="main">
<view class="middle view">
<view class="text-block">
<text class="middle-date">匿名提报</text>
<text class="middle-date">状态</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'SubmitMethod')"
range-key='name' mode="selector" :value="condition.submitMethodName"
:range="selectDataOptions.SubmitMethod">
<text class="uni-input">{{condition.submitMethodName}}</text>
</picker>
<text class="uni-input">{{clueDetail.statusName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
<text class="middle-date">匿名口令</text>
<text class="middle-date">线索编号</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.pwdInfo"
placeholder="请输入匿名提报口令,后期查询使用" />
<text class="uni-input">{{clueDetail.id}}</text>
</view>
</view>
</view>
</view>
<view class="text-block">
<text class="middle-date">匿名提报</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<text class="uni-input">{{clueDetail.submitMethodName}}</text>
</view>
</view>
<!-- <image class="icon-arrow icon-search" src="@/static/image/search_b@3x.png" mode=""></image> -->
</view>
</view>
<view class="text-block">
......@@ -38,14 +41,9 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'ViolationType')"
range-key='name' mode="selector" :value="condition.viloationTypeName"
:range="selectDataOptions.ViolationType">
<text class="uni-input">{{condition.viloationTypeName}}</text>
</picker>
<text class="uni-input">{{clueDetail.viloationTypeName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -53,14 +51,9 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'ChildType')"
range-key='name' mode="selector" :value="condition.childTypeName"
:range="selectDataOptions.ChildType">
<text class="uni-input">{{condition.childTypeName}}</text>
</picker>
<text class="uni-input">{{clueDetail.childTypeName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -68,14 +61,9 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'ChannelType')"
range-key='name' mode="selector" :value="condition.happenChannelIdName"
:range="selectDataOptions.ChannelType">
<text class="uni-input">{{condition.happenChannelIdName}}</text>
</picker>
<text class="uni-input">{{clueDetail.happenChannelName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -83,14 +71,9 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'SupplyType')"
range-key='name' mode="selector" :value="condition.supplyTypeName"
:range="selectDataOptions.SupplyType">
<text class="uni-input">{{condition.supplyTypeName}}</text>
</picker>
<text class="uni-input">{{clueDetail.supplyTypeName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -98,14 +81,9 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'provincecode')"
range-key='description' mode="selector" :value="condition.provinceName"
:range="selectDataOptions.provincecode">
<text class="uni-input">{{condition.provinceName}}</text>
</picker>
<text class="uni-input">{{clueDetail.provinceName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -113,91 +91,73 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'citycode')"
range-key='description' mode="selector" :value="condition.cityName"
:range="selectDataOptions.citycode">
<text class="uni-input">{{condition.cityName}}</text>
</picker>
<text class="uni-input">{{clueDetail.cityName}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='MARKET'">
<view class="text-block" v-if="clueDetail.supplyType==='MARKET'">
<text class="middle-date">市场名称</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.marketName"
placeholder="" />
<text class="uni-input">{{clueDetail.marketName}}</text>
</view>
</view>
<!-- <image class="icon-arrow icon-search" src="@/static/image/search_b@3x.png" mode=""></image> -->
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='PLATFORM'">
<text class="middle-date">平台名称</text>
<view class="text-block" v-if="clueDetail.supplyType==='TERMINAL' || clueDetail.supplyType==='MARKET' ">
<text class="middle-date">终端名称</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.platformName"
placeholder="" />
<text class="uni-input">{{clueDetail.terminalName}}</text>
</view>
</view>
<!-- <image class="icon-arrow icon-search" src="@/static/image/search_b@3x.png" mode=""></image> -->
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='PLATFORM'">
<text class="middle-date">商家名称</text>
<view class="text-block" v-if="clueDetail.supplyType==='TERMINAL' || clueDetail.supplyType==='MARKET' ">
<text class="middle-date">终端地址</text>
<input class="middle-date-des" type="text" v-model="clueDetail.terminalAddress" placeholder="" />
</view>
<view class="text-block" v-if="clueDetail.supplyType==='PLATFORM'">
<text class="middle-date">平台名称</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.storeName"
placeholder="" />
<text class="uni-input">{{clueDetail.platformName}}</text>
</view>
</view>
<!-- <image class="icon-arrow icon-search" src="@/static/image/search_b@3x.png" mode=""></image> -->
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='PLATFORM'">
<text class="middle-date">网址</text>
<view class="text-block" v-if="clueDetail.supplyType==='PLATFORM'">
<text class="middle-date">商家名称</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.storeAddress"
placeholder="" />
<text class="uni-input">{{clueDetail.storeName}}</text>
</view>
</view>
<!-- <image class="icon-arrow icon-search" src="@/static/image/search_b@3x.png" mode=""></image> -->
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='TERMINAL' || condition.supplyType==='MARKET' ">
<text class="middle-date">终端名称</text>
<view class="text-block" v-if="clueDetail.supplyType==='PLATFORM'">
<text class="middle-date">网址</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.terminalName"
placeholder="请填写" />
<text class="uni-input">{{clueDetail.storeAddress}}</text>
</view>
</view>
<image class="icon-arrow icon-search" @click="selectClueTerminal"
src="@/static/image/search_b@3x.png" mode=""></image>
</view>
</view>
<view class="text-block" v-if="condition.supplyType==='TERMINAL' || condition.supplyType==='MARKET' ">
<text class="middle-date">终端地址</text>
<input class="middle-date-des" type="text" v-model="condition.terminalAddress" placeholder="" />
</view>
<view class="text-block">
<text class="middle-date">银行账户</text>
<view class="middle-date-des uni-list picker-year" @click="selectSalesAreaAccountInfo">
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.salesAreaAccountPk"
placeholder="请填写" />
<text class="uni-input">{{clueDetail.salesAreaAccountPk}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
......@@ -205,32 +165,24 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerChange($event,'date')" mode="date"
:value="condition.auditTime" fields='day'>
<text class="uni-input">{{condition.auditTime}}</text>
</picker>
<text class="uni-input">{{clueDetail.auditTime}}</text>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block text-block-last">
<text class="middle-date">稽查说明</text>
</view>
<view class="remark">
<textarea class="remark-text" v-model="condition.auditNotes" />
<textarea class="remark-text" v-model="clueDetail.auditNotes" />
</view>
</view>
<view class="middle view">
<view class="text-block">
<text class="middle-date">物流码</text>
<input class="middle-date-des" type="text" v-model="condition.barcode" placeholder="请输入" />
</view>
<view class="text-block">
<text class="middle-date">物流码行项目</text>
<view class="middle-date-des middle-date-buttons">
<!-- <view class="middle-date-des middle-date-buttons">
<button class="diy-entry" type="default" @click="handleScan">
<image class="diy-icon" src="@/static/image/scan@3x.png" mode="">
</image>
......@@ -246,19 +198,15 @@
</image>
<text class="diy-entry-text">删除</text>
</button>
</view>
</view> -->
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @click="addProductByBarcode">
<text class="btn-text">查询</text>
</button>
</view>
<view class="middle view planout-block-item">
<view class="middle view planout-block-item" v-for="(productByBarcode,index2) in clueDetail.entries"
:key="index2">
<view class="text-block">
<text class="middle-date">产品名称</text>
<text class="middle-date-des">{{productByBarcode.productId}}</text>
<text class="middle-date-des">{{productByBarcode.productName}}</text>
</view>
<view class="text-block">
<text class="middle-date">物流码</text>
......@@ -276,23 +224,39 @@
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<input class="middle-date-des" type="text" v-model="condition.receiveAmount"
<input class="middle-date-des" type="text" v-model="clueDetail.receiveAmount"
placeholder="请输入收货金额,保留2位小数" />
</view>
</view>
</view>
</view>
<view class="text-block no-border">
<text class="middle-date">事发战区及货源相关信息</text>
<text class="middle-date-des"></text>
</view>
<view class="text-block no-border">
<text class="middle-date">事发战区</text>
<text class="middle-date-des">{{distributerByBarcode.productDisSalesAreaName}}</text>
<text class="middle-date-des">{{clueDetail.productDisSalesAreaName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">事发基地</text>
<text class="middle-date-des">{{distributerByBarcode.productDisSubSalesAreaName}}</text>
<text class="middle-date-des">{{clueDetail.productDisSubSalesAreaName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">货源渠道</text>
<text class="middle-date-des">{{clueDetail.productChannelName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">货源经销商战区</text>
<text class="middle-date-des">{{clueDetail.productDisSalesAreaName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">货源经销商基地</text>
<text class="middle-date-des">{{clueDetail.productDisSubSalesAreaName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">货源经销商</text>
<text class="middle-date-des">{{clueDetail.productDistributerName}}</text>
</view>
<view class="text-block no-border">
<text class="middle-date">货源经销商渠道经理</text>
<text class="middle-date-des">{{clueDetail.productDisChaManagerName}}</text>
</view>
</view>
......@@ -300,33 +264,24 @@
<view class="upload-area view">
<text class="title">门头照片</text>
<view class="pic-lists">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success"
@fail='fail'>
<text>+</text>
</uni-file-picker>
<image class="swiper-item-img" :src="clueDetail.doorPicUrl" mode="widthFix">
</image>
</view>
<text class="des">(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)</text>
</view>
<view class="upload-area view">
<text class="title">产品照片</text>
<view class="pic-lists">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success"
@fail='fail'>
<text>+</text>
</uni-file-picker>
<image class="swiper-item-img" :src="clueDetail.productPicUrl" mode="widthFix">
</image>
</view>
<text class="des">(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)</text>
</view>
<view class="upload-area view">
<text class="title">发票/收据照片</text>
<view class="pic-lists">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success"
@fail='fail'>
<text>+</text>
</uni-file-picker>
<image class="swiper-item-img" :src="clueDetail.receiptPicUrl" mode="widthFix">
</image>
</view>
<text class="des">(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)</text>
</view>
......@@ -335,12 +290,6 @@
</view>
<view class="bottom-area"></view>
<view class="bottom">
<button class="btn" type="default" @tap="submit">
<text class="btn-text">提交</text>
</button>
</view>
</view>
</view>
</template>
......@@ -351,300 +300,52 @@
} from 'vuex'
import {
apiGetDictionary,
apiClueSubmit,
apiGetClueProduct,
apiGetClueDistributer
apiGetClueInfo,
} from '@/servers/breakwords.js'
import {
apiGetProvinceCode
} from '@/servers/common.js'
import timeFormat from '@/uview-ui/libs/function/timeFormat.js'
export default {
data() {
return {
condition: {
submitMethod: '',
submitMethodName: '',
pwdInfo: '',
viloationType: '',
viloationTypeName: '',
childType: '',
childTypeName: '',
happenChannelId: '',
happenChannelIdName: '',
productChannelId: '',
productChannelName: '',
supplyType: '',
supplyTypeName: '',
provinceCode: '',
provinceName: '',
cityCode: '',
cityName: '',
terminalId: '',
terminalName: '',
terminalAddress: '',
platformName: '',
storeName: '',
storeAddress: '',
marketName: '',
salesAreaAccountPk: '',
auditTime: '',
auditNotes: '',
barcode: '',
receiveAmount: '',
doorPicUrl: 'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF',
productPicUrl: 'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF',
invoicePicUrl: 'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF',
receiptPicUrl: 'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF',
},
pickerIndexs: {
submitMethodIndex: 0
id: ''
},
fileList: [],
selectDataOptions: {
'SubmitMethod': [],
'ViolationType': [],
'ChildType': [],
'ChannelType': [],
'provincecode': [],
'citycode': [],
},
productByBarcode: {},
distributerByBarcode: {},
clueDetail: {},
}
},
computed: {
...mapState(['sysinfo', 'userInfo']),
...mapState(['sysinfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
imageStyles() {
return {
width: 64,
height: 64,
border: {
radius: '10%'
}
}
},
},
created() {
this.condition.auditTime = timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss')
// 提交方式
this.getDictionary('SubmitMethod')
// 违规类型
this.getDictionary('ViolationType')
// 细分类型
this.getDictionary('ChildType')
// 事发渠道
this.getDictionary('ChannelType')
// 取证地
this.getDictionary('SupplyType')
// 事发渠道
this.getDictionary('ChannelType')
this.getProvinceCode('provincecode')
},
mounted() {
console.log('监听到事件来自 update');
let _this = this
uni.$on('selectClueTerminal', function(data) {
console.log('监听到事件来自 selectClueTerminal ,携带参数 msg 为:', data);
_this.condition.terminalName = data.selectedClueTerminal.name
_this.condition.terminalId = data.selectedClueTerminal.id
_this.condition.terminalAddress = data.selectedClueTerminal.address
})
uni.$on('selectSalesAreaAccountInfo', function(data) {
console.log('监听到事件来自 selectSalesAreaAccountInfo ,携带参数 msg 为:', data);
_this.condition.salesAreaAccountPk = data.selectedSalesAreaAccountInfo.pk
})
},
onUnload() {
console.log('onUnload')
uni.$off('selectClueTerminal')
uni.$off('selectSalesAreaAccountInfo')
},
beforeDestroy() {
console.log('onUnload2')
uni.$off('selectClueTerminal')
uni.$off('selectSalesAreaAccountInfo')
onLoad(option) {
console.log('breakwords-clue-detail', option)
if (option && option.id) {
this.condition.id = option.id
this.getOrderDetail()
}
},
methods: {
async getDictionary(key) {
const params = {
dictionaryKey: key
}
const res = await apiGetDictionary(params)
this.selectDataOptions[key] = res.data
},
// 获取省市
async getProvinceCode(type, code) {
const params = `?field=${type}&type=${code}`
const res = await apiGetProvinceCode(params)
this.selectDataOptions[type] = res.data
},
bindPickerChange(e, type) {
console.log('picker发送选择改变,携带值为', e, type)
const index = e.detail.value
switch (type) {
case 'SubmitMethod':
this.condition.submitMethod = this.selectDataOptions[type][index].code
this.condition.submitMethodName = this.selectDataOptions[type][index].name
break;
case 'ViolationType':
this.condition.viloationType = this.selectDataOptions[type][index].code
this.condition.viloationTypeName = this.selectDataOptions[type][index].name
break;
case 'ChildType':
this.condition.childType = this.selectDataOptions[type][index].code
this.condition.childTypeName = this.selectDataOptions[type][index].name
break;
case 'ChannelType':
this.condition.happenChannelId = this.condition.productChannelId = this.selectDataOptions[type][
index
].code
this.condition.happenChannelIdName = this.condition.productChannelName = this.selectDataOptions[
type][index].name
break;
case 'SupplyType':
this.condition.supplyType = this.selectDataOptions[type][index].code
this.condition.supplyTypeName = this.selectDataOptions[type][index].name
break;
case 'provincecode':
this.condition.provinceCode = this.selectDataOptions[type][index].id
this.condition.provinceName = this.selectDataOptions[type][index].description
this.getProvinceCode('citycode', this.condition.provinceCode)
break;
case 'citycode':
this.condition.cityCode = this.selectDataOptions[type][index].id
this.condition.cityName = this.selectDataOptions[type][index].description
break;
case 'date':
this.condition.auditTime = index
break;
}
},
selectClueTerminal() {
uni.navigateTo({
url: `/pages/select-clue-terminal/select-clue-terminal?keywords=${this.condition.terminalName}`
});
},
selectSalesAreaAccountInfo() {
uni.navigateTo({
url: `/pages/select-salesarea-account/select-salesarea-account?keywords=`
async getOrderDetail() {
uni.showLoading({
title: '加载中'
});
},
async addProductByBarcode() {
const params = {
barcode: this.condition.barcode
}
const res = await apiGetClueProduct(params)
if (res.data) {
this.productByBarcode = res.data
this.productByBarcode.id = 1
this.productByBarcode.group = res.data.classGroupId
this.productByBarcode.productId = res.data.productId
this.productByBarcode.productName = res.data.barcodeTypeName
}
this.addDistributerByBarcode()
},
async addDistributerByBarcode() {
const params = {
barcode: this.condition.barcode
}
const res = await apiGetClueDistributer(params)
if (res.data) {
this.distributerByBarcode = res.data
setTimeout(function() {
uni.hideLoading();
}, 2000);
const res = await apiGetClueInfo({
id: this.condition.id
})
uni.hideLoading();
for (let key in res.data) {
this.$set(this.clueDetail, key, res.data[key])
// this.clueDetail[key] = res.data[key]
}
},
deleteProductByBarcode() {
this.productByBarcode = {}
this.distributerByBarcode = {}
},
async submit() {
let params = {
'supplyType': this.condition.supplyType,
'auditTime': this.condition.auditTime,
'auditNotes': this.condition.auditNotes,
// 'channelId': this.condition.happenChannelId,
'childType': this.condition.childType,
'childTypeName': this.condition.childTypeName,
'cityCode': this.condition.cityCode,
'cityName': this.condition.cityName,
'doorPicUrl': this.condition.doorPicUrl,
'entries': [this.productByBarcode],
'happenSalesAreaCode': this.distributerByBarcode.productDisSalesAreaId,
'happenSalesAreaName': this.distributerByBarcode.productDisSalesAreaName,
'happenSubSalesAreaCode': this.distributerByBarcode.productDisSubSalesAreaId,
'happenSubSalesAreaName': this.distributerByBarcode.productDisSubSalesAreaName,
'happenChannelId': this.condition.happenChannelId,
'invoicePicUrl': this.condition.invoicePicUrl,
'productChannelId': this.condition.productChannelId,
'productChannelName': this.condition.productChannelName,
'productDisChaManagerId': this.distributerByBarcode.productDisChaManagerId,
'productDisChaManagerName': this.distributerByBarcode.productDisChaManagerName,
'productDisSalesAreaId': this.distributerByBarcode.productDisSalesAreaId,
'productDisSalesAreaName': this.distributerByBarcode.productDisSalesAreaName,
'productDisSubSalesAreaId': this.distributerByBarcode.productDisSubSalesAreaId,
'productDisSubSalesAreaName': this.distributerByBarcode.productDisSubSalesAreaName,
'productDistributerId': this.distributerByBarcode.productDistributerId,
'productDistributerName': this.distributerByBarcode.productDistributerName,
'productPicUrl': this.condition.productPicUrl,
'provinceCode': this.condition.provinceCode,
'provinceName': this.condition.provinceName,
'pwdInfo': this.condition.pwdInfo,
'receiptPicUrl': this.condition.receiptPicUrl,
'receiveAmount': this.condition.receiveAmount,
'submitMethod': this.condition.submitMethod,
'submitSource': 'DISTRIBUTER',
'submitUserId': this.userInfo.code,
'submitUserName': this.userInfo.name,
'terminalAddress': this.condition.terminalAddress,
'terminalId': this.condition.terminalId,
'terminalName': this.condition.terminalName,
'viloationType': this.condition.viloationType,
'platformName': this.condition.platformName,
'storeName': this.condition.storeName,
'marketName': this.condition.marketName,
'storeAddress': this.condition.storeAddress,
'salesAreaAccountPk': this.condition.salesAreaAccountPk,
}
const res = await apiClueSubmit(params)
},
handleScan() {
uni.scanCode({
scanType: ['barCode'],
success: function(res) {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
this.condition.barcode = res.result
}
});
},
// 获取上传进度
progress(e) {
console.log('上传进度:', e)
},
// 选择文件
select(e) {
console.log('选择文件:', e, this.fileList)
},
// 上传成功
success(e) {
console.log('上传成功', e)
},
// 上传失败
fail(e) {
console.log('上传失败:', e)
},
}
}
}
</script>
......@@ -707,25 +408,22 @@
}
.middle-date {
flex: 2;
font-size: 28rpx;
flex: 3;
font-size: 24rpx;
line-height: 96rpx;
color: #999;
margin-bottom: 8rpx;
}
.middle-date-des {
display: flex;
align-items: center;
flex: 7;
font-size: 28rpx;
flex: 5.5;
font-size: 24rpx;
color: $text-base-color;
height: 96rpx;
line-height: 96rpx;
}
.middle-date-buttons {}
.uni-input-placeholder {
color: #DBDBDB;
}
......@@ -752,11 +450,6 @@
height: 100%;
}
.uni-input {
font-size: 14px;
color: $text-base-color;
}
.icon-arrow {
position: absolute;
right: 22rpx;
......@@ -780,6 +473,7 @@
flex: 1;
height: 180rpx;
background: #f5f6f7;
font-size: 24rpx;
border-radius: 4px;
padding: 12rpx 18rpx;
}
......@@ -837,41 +531,4 @@
height: 140rpx;
margin-top: 12rpx;
}
.bottom {
position: fixed;
bottom: 0;
left: 0;
z-index: 10;
width: 750rpx;
height: 140rpx;
padding: 0 32rpx;
background-color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-l {
margin-right: 30rpx;
border: 1px solid $wly-primary-color;
background-color: transparent;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
.btn-text-l {
color: $wly-primary-color;
}
</style>
......@@ -27,16 +27,18 @@
<view class="icon-line"></view>
</view>
<view class="search-input-block">
<image class="icon-search" src="@/static/image/search_b@3x.png" mode=""></image>
<input class="search-input" type="text" placeholder-class="uni-combox__input-plac"
@blur="getClueList" v-model="condition.productId" placeholder="请输入产品ID" />
<image @click="getClueList" class="icon-search" src="@/static/image/search_b@3x.png" mode="">
</image>
</view>
</view>
<view class="search-block" v-if="activeTabIndex===1">
<view class="search-input-block">
<image class="icon-search" src="@/static/image/search_b@3x.png" mode=""></image>
<input class="search-input" type="text" placeholder-class="uni-combox__input-plac"
@blur="getClueList" v-model="condition.pwd" placeholder="请输入口令进行查询" />
<image @click="getClueList" class="icon-search" src="@/static/image/search_b@3x.png" mode="">
</image>
</view>
</view>
</view>
......@@ -47,7 +49,7 @@
<!-- <loading-indicator></loading-indicator> -->
</refresh>
<cell v-for="(item,index) in lists" :key="index">
<view class="scroll-item">
<view class="scroll-item" @click="checkDetal(item)">
<view v-if="index===0" class="item-block item-block-sum">
<text class="item-block-label">共 {{loadParams.total}} 项</text>
</view>
......@@ -278,6 +280,11 @@
checkTab(i) {
this.activeTabIndex = i
this.getClueList()
},
checkDetal(item) {
uni.navigateTo({
url: `/pages/breakwords-clue-detail/breakwords-clue-detail?id=${item.id}`
})
}
}
}
......
......@@ -136,7 +136,7 @@ class Request {
constructor() {
this.config = {
baseUrl: 'http://10.0.135.61', // 请求的根域名
baseUrl: 'http://221.10.127.60:5000', // 请求的根域名
// 默认的请求头
header: {},
method: 'POST',
......@@ -157,7 +157,7 @@ class Request {
this.interceptor = {
// 请求前的拦截
request: (config) => {
// config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`;
config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`;
try {
if (config.url.indexOf('crm-app/login') === -
1 &&
......@@ -165,19 +165,25 @@ class Request {
config.header['X-Auth-Token'] = store
.state.vuex_token
}
config.header['Content-Type'] = "application/json; charset=utf-8"
// config.header['Content-Type'] = "application/x-www-form-urlencoded"
if (config.header['Content-Type'] && config.header['Content-Type'].indexOf(
'x-www-form-urlencoded') === -1) {
config.header['Content-Type'] = "application/json; charset=utf-8"
}
if (config.url.indexOf('crm-app') !== -1) {
config.baseUrl = 'http://10.0.135.61'
// config.baseUrl = 'http://10.0.135.61'
config.baseUrl = 'http://221.10.127.60:5000'
} else if (config.url.indexOf('adapter') !== -1) {
config.baseUrl = 'http://api.c0331.dev.guanyingyun.com'
// config.baseUrl = 'http://221.10.127.60:5000/cyj'
} else if (config.url.indexOf('wmdpwebservices') !== -1) {
config.baseUrl = 'https://10.0.134.182:9002'
// config.baseUrl = 'http://221.10.127.60:5000/sczx'
// config.baseUrl = ''
} else {
// config.baseUrl = 'http://10.0.135.139/wlySap'
config.baseUrl = 'http://10.0.134.182:8000'
config.baseUrl = 'http://221.10.127.60:5000/wlySap'
}
} catch (e) {
console.log('error', e)
......
......@@ -70,6 +70,16 @@ export async function apiGetClueInfoPwdList(params) {
return res
}
/**
* 线索详情接口
* @param name 账户名
* @returns {Promise<AxiosResponse<T>>}
*/
export async function apiGetClueInfo(params) {
const res = await apiHelper.post('/wmdpwebservices/clue/info', params)
return res
}
/**
* 联络函打款信息列表查询
* @param name 账户名
......
......@@ -10,7 +10,7 @@ const install = (Vue, vm) => {
// 如果将此值设置为true,拦截回调中将会返回服务端返回的所有数据response,而不是response.data
// 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值
// originalData: true,
// 设置自定义头部content-type
// 设置自定义头部Content-Type
header: {
"Content-Type": "application/json; charset=utf-8",
}
......@@ -24,6 +24,13 @@ const install = (Vue, vm) => {
.vuex_token;
}
if (config.header['Content-Type'] && config.header['Content-Type'].indexOf('x-www-form-urlencoded') ===
-1) {
config.header['Content-Type'] = "application/json; charset=utf-8"
}
// if (config.url.indexOf('crm-app') !== -1) {
// config.baseUrl = 'http://10.0.135.139'
// } else {
......
......@@ -17,7 +17,7 @@ export async function apiFindUnreadMsg(params) {
*/
export async function apiEditStatus(params) {
const res = await apiHelper.post('/crm-app//message/editStatus', params, {
'content-type': "application/x-www-form-urlencoded"
'Content-Type': "application/x-www-form-urlencoded"
})
return res
}
......
......@@ -7,7 +7,7 @@ import apiHelper from './api.helper.js'
*/
export async function apiLogin(params) {
const res = await apiHelper.post('/crm-app/login', params, {
'content-type': "application/x-www-form-urlencoded"
'Content-Type': "application/x-www-form-urlencoded"
})
return res
}
......
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