6 Commits
android ... ios

Author SHA1 Message Date
wtq
7991fd747a '!' 2026-03-20 09:27:22 +08:00
wtq
5dd439cc13 '!' 2026-01-23 16:09:42 +08:00
wtq
cadc7a323c '!' 2026-01-07 14:29:14 +08:00
wtq
ec31ce93df '!' 2025-12-29 11:32:05 +08:00
wtq
db11aa4112 '删除淘鲜达' 2025-12-10 11:51:44 +08:00
wtq
7976c638a7 '修改苹果版本' 2025-12-10 11:06:05 +08:00
24 changed files with 230 additions and 141 deletions

View File

@@ -130,8 +130,8 @@ function App() {
return 11 return 11
case '抖音小时购': case '抖音小时购':
return 14 return 14
case '淘鲜达': // case '淘鲜达':
return 16 // return 16
default: default:
return -1 return -1
} }

View File

@@ -26,12 +26,12 @@ const merchant = {
}, },
/** // /**
* 修改线上淘鲜达时间 // * 修改线上淘鲜达时间
*/ // */
update_txd_store: async (params: AnyObject): Promise<AnyObject> => { // update_txd_store: async (params: AnyObject): Promise<AnyObject> => {
return await request.api('/v2/store/UpdateTxdStore', 'POST', params) // return await request.api('/v2/store/UpdateTxdStore', 'POST', params)
}, // },
/** /**
@@ -47,7 +47,7 @@ const merchant = {
* @param {object} params 请求参数 storeID int 门店ID vendorID int 厂商ID * @param {object} params 请求参数 storeID int 门店ID vendorID int 厂商ID
*/ */
update_store_vendor_map: async (params: AnyObject): Promise<AnyObject> => { update_store_vendor_map: async (params: AnyObject): Promise<AnyObject> => {
return await request.api('v2/store/UpdateStoreVendorMap','PUT',params) return await request.api('/v2/store/UpdateStoreVendorMap','PUT',params)
}, },

View File

@@ -2,8 +2,8 @@
"name" : "京西菜市商家版", "name" : "京西菜市商家版",
"appid" : "__UNI__F9A47D3", "appid" : "__UNI__F9A47D3",
"description" : "1、商户通过京西平台同时管理美团、饿了么、京东等多个外卖平台实现一键上架、下架、修改、删除多个平台商品2、商户通过京西平台可以同时对、美团专送、达达、顺丰同城等多个专送平台召唤偶骑手", "description" : "1、商户通过京西平台同时管理美团、饿了么、京东等多个外卖平台实现一键上架、下架、修改、删除多个平台商品2、商户通过京西平台可以同时对、美团专送、达达、顺丰同城等多个专送平台召唤偶骑手",
"versionName" : "1.8.9", "versionName" : "1.8.52",
"versionCode" : 189, "versionCode" : 1852,
"transformPx" : false, "transformPx" : false,
"uni-app" : { "uni-app" : {
"debug" : true "debug" : true
@@ -188,48 +188,6 @@
"pid" : "", "pid" : "",
"parameters" : {} "parameters" : {}
} }
},
"Ba-Notify" : {
"__plugin_info__" : {
"name" : "应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify",
"description" : "Ba-Notify 是一款功能全面的uniapp消息通知插件可在状态栏显示各种样式的消息通知。包含普通、常驻、大图、多行、进度、按钮等通知支持检查、设置、清除通知支持根据渠道和ID分类管管理",
"platforms" : "Android",
"url" : "https://ext.dcloud.net.cn/plugin?id=9231",
"android_package_name" : "jxcs.Android",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 1,
"pid" : "9231",
"parameters" : {}
}
},
"J-FrontService" : {
"__plugin_info__" : {
"name" : "常驻通知栏保活插件(支持Android和IOS)",
"description" : "Android、IOS后台保活插件",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=10479",
"android_package_name" : "",
"ios_bundle_id" : "com.jxc4.www",
"isCloud" : true,
"bought" : 1,
"pid" : "10479",
"parameters" : {}
}
},
"RC-NoticeMonitoring" : {
"__plugin_info__" : {
"name" : "安卓通知栏监听 电池优化 屏幕唤醒",
"description" : "安卓通知栏监听,电池白名单,屏幕唤醒",
"platforms" : "Android",
"url" : "https://ext.dcloud.net.cn/plugin?id=8998",
"android_package_name" : "jxcs.Android",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 1,
"pid" : "8998",
"parameters" : {}
}
} }
} }
}, },

View File

@@ -3,7 +3,7 @@ import { store } from "@/store"
import { getStorage } from "@/utils/storage" import { getStorage } from "@/utils/storage"
import toast from "@/utils/toast" import toast from "@/utils/toast"
import { jx_throttles, timeFormatD } from "@/utils/tools" import { jx_throttles, timeFormatD } from "@/utils/tools"
import { computed } from "@vue/reactivity" import { computed } from 'vue'
import configCms from "@/utils/configCms" import configCms from "@/utils/configCms"
interface propType { interface propType {

View File

@@ -70,8 +70,7 @@
(sku.mtwmSyncStatus & 2) !== 2 && (sku.mtwmSyncStatus & 2) !== 2 &&
(sku.mtwmSyncStatus & 4) !== 4 (sku.mtwmSyncStatus & 4) !== 4
" "
>美团:该商品无法修改价格,请联系运营修改</view >美团:该商品无法修改价格,请联系运营修改</view>
>
<view <view
class="error eb" class="error eb"
v-if=" v-if="

View File

@@ -503,9 +503,7 @@ function shoppingMangerFn() {
currentValue.value = '' currentValue.value = ''
} else { } else {
currentValue.value = '' currentValue.value = ''
toast( toast(+price < originalUnitPrice ? '修改成功' : '提交成功, 请等待审核')
+price < originalUnitPrice ? '修改成功' : '提交成功, 请等待审核'
)
} }
} else { } else {
toast('修改失败', 2) toast('修改失败', 2)

View File

@@ -80,6 +80,8 @@ const messageFn = function () {
} }
let venderIDInfo = arr.find((item:AnyObject) => item.vendorID === '1') let venderIDInfo = arr.find((item:AnyObject) => item.vendorID === '1')
let ebStore = arr.find((item:AnyObject) => item.vendorID === '3') let ebStore = arr.find((item:AnyObject) => item.vendorID === '3')
let jdStore = arr.find((item:AnyObject) => item.vendorID === '0')
let res = await message.get_IM_user_list(data) let res = await message.get_IM_user_list(data)
// res = msgInfo.userList // 模拟数据 // res = msgInfo.userList // 模拟数据
@@ -89,10 +91,13 @@ const messageFn = function () {
let newArr: any = [] let newArr: any = []
let fmtUserList = venderIDInfo ? res.data[`${venderIDInfo.appID}:${venderIDInfo.vendorStoreID}:1`] || [] : [] // 美团 let fmtUserList = venderIDInfo ? res.data[`${venderIDInfo.appID}:${venderIDInfo.vendorStoreID}:1`] || [] : [] // 美团
let febUserList = ebStore && JSON.stringify(ebStore) !== '{}' ? res.data[`${ebStore.appID}:${ebStore.vendorStoreID}:3`] || [] : [] // 饿百 let febUserList = ebStore && JSON.stringify(ebStore) !== '{}' ? res.data[`${ebStore.appID}:${ebStore.vendorStoreID}:3`] || [] : [] // 饿百
let jdUserList = jdStore && JSON.stringify(jdStore) !== '{}' ? res.data[`${jdStore.appID}:${jdStore.vendorStoreID}:0`] || [] : [] // 京东
// let febUserList = res.data[`${ebStore.appID}:${ebStore.vendorStoreID}:3`] || [] // let febUserList = res.data[`${ebStore.appID}:${ebStore.vendorStoreID}:3`] || []
let reverseList = fmtUserList.reverse() let reverseList = fmtUserList.reverse()
let reverseListEb = febUserList.reverse() let reverseListEb = febUserList.reverse()
let reverseListJD = jdUserList.reverse()
// 格式化数据 // 格式化数据
reverseList.map((element: any) => { reverseList.map((element: any) => {
let resData = JSON.parse(element) let resData = JSON.parse(element)
@@ -163,6 +168,24 @@ const messageFn = function () {
if (userList.orderID) getOrderInfo(userList.orderID, newArr.length - 1 ) if (userList.orderID) getOrderInfo(userList.orderID, newArr.length - 1 )
} }
// 京东
if(reverseListJD && reverseListJD.length>0){
reverseListJD.forEach((element:string) => {
let resData = JSON.parse(element)
// console.log('京东消息,用户列表',resData)
let latestMsgHandler = resData.latestMsg
let userList = {
...resData,
latestMsg: latestMsgHandler,
latestTime: timeFormatDHM(+new Date(resData.latestTime )),
orderInfo: {},
orderDesc: ''
}
newArr.push(userList)
});
}
}) })
userListData.value = newArr userListData.value = newArr
} else { } else {

View File

@@ -22,12 +22,13 @@
:title=" :title="
item.vendorID == 1 item.vendorID == 1
? `【美团${item.orderDesc}】${item.userID === '0' ? '群发消息' : item.userID}` ? `【美团${item.orderDesc}】${item.userID === '0' ? '群发消息' : item.userID}`
: `【饿了么】${item.userID}` : item.vendorID == 3 ? `【淘宝闪购】${item.userID}` : `【京东】${item.userID}`
" "
:avatar=" :avatar="
item.vendorID == 1 item.vendorID == 1
? 'https://image.jxc4.com/image/75654ab606494a0efdb0cf7d7ad060d9.png' ? 'https://image.jxc4.com/image/75654ab606494a0efdb0cf7d7ad060d9.png'
: 'https://image.jxc4.com/image/6c2f1dfd95890df8ef5e27bde15c4e7f.png' : item.vendorID == 3 ? 'https://image.jxc4.com/image/6c2f1dfd95890df8ef5e27bde15c4e7f.png'
: 'https://image.jxc4.com/image/884664b80ffd2eda64a4aab9f4dc402e.png'
" "
:note="item.latestMsg" :note="item.latestMsg"
:time="item.latestTime" :time="item.latestTime"

View File

@@ -61,8 +61,8 @@
>若退款造成的损失较大建议联系顾客自行上门取回退货</text >若退款造成的损失较大建议联系顾客自行上门取回退货</text
> >
<view class="btn-root"> <view class="btn-root">
<view class="reject" @tap.stop="popup.open()">驳回</view> <view class="reject" @tap.stop="popup.open()" style="width: 86%;font-size: 40rpx;">驳回</view>
<view class="resolve" @tap.stop="handleAgree">同意</view> <view class="resolve" @tap.stop="handleAgree" style="width: 14%;">同意</view>
</view> </view>
</view> </view>
@@ -75,7 +75,7 @@
</view> </view>
<!-- 查看详情 --> <!-- 查看详情 -->
<view class="detail-btn">查看详情</view> <view class="detail-btn" tyle="font-size: 40rpx;">查看详情</view>
<!-- 提示内容 --> <!-- 提示内容 -->
<view class="tips-text"> <view class="tips-text">

View File

@@ -138,7 +138,7 @@ let props = defineProps<PropsType>()
*/ */
function connectUser(item:AnyObject) { function connectUser(item:AnyObject) {
if(item.vendorID === 1){ if(item.vendorID === 1){
if(store.getters['storeInfo/imMtStatus'][0].imStatus !== 1) return toast('美团IM状态已关闭', 1) if(store.getters['storeInfo/imMtStatus'][0].imStatus !== 1) return toast('美团IM状态已关闭', 2)
setStorage('vendorUserInfo',{ setStorage('vendorUserInfo',{
venderOrderID:item.vendorOrderID, venderOrderID:item.vendorOrderID,
// venderOrderID:0, // venderOrderID:0,
@@ -224,7 +224,7 @@ const cancelTime = ref<any>()
const timer = ref<any>() const timer = ref<any>()
onShow(() => { onShow(() => {
if (props.item.lockStatus === -5) { if (props.item.lockStatus === -5) {
let { purchaseVendorInfo } = store.state.serveInfo.sysInfo as any let { purchaseVendorInfo } = store.state.serveInfo.serviceInfo as any
let { userApplyCancelWaitMinute } = purchaseVendorInfo[props.item.vendorID] let { userApplyCancelWaitMinute } = purchaseVendorInfo[props.item.vendorID]
let cancelTime1 = let cancelTime1 =
new Date(props.item.lockStatusTime).getTime() + new Date(props.item.lockStatusTime).getTime() +

View File

@@ -48,13 +48,14 @@
<!-- 确定自提 --> <!-- 确定自提 -->
<template v-if="isSelfBtn"> <template v-if="isSelfBtn">
<!-- v-if="item.vendorID != 9" -->
<view <view
class="btn-picked" class="btn-picked"
v-if="item.vendorID != 9"
@tap.stop="inputTakeCode" @tap.stop="inputTakeCode"
>输入自提码</view >输入自提码</view
> >
<view class="btn-picked" v-else @tap.stop="jxSelfTake('jx')">完成自提</view> <!-- <view class="btn-picked" v-else @tap.stop="jxSelfTake('jx')">完成自提</view> -->
</template> </template>
<!-- 商家自送送达按钮 status 20 --> <!-- 商家自送送达按钮 status 20 -->
@@ -156,7 +157,8 @@ function inputTakeCode() {
*/ */
const takeCode = ref<any>() // 自提码 const takeCode = ref<any>() // 自提码
function jxSelfTake(type: string) { function jxSelfTake(type: string) {
if (type != 'jx' && takeCode.value == '') return toast('请输入自提码') // if (type != 'jx' && takeCode.value == '') return toast('请输入自提码')
if (takeCode.value == '') return toast('请输入自提码')
uni.jxConfirm({ uni.jxConfirm({
title: '自提订单', title: '自提订单',
content: '是否完成自提(请确保用户已出示正确订单,以免引起不必要的损失)', content: '是否完成自提(请确保用户已出示正确订单,以免引起不必要的损失)',
@@ -164,7 +166,8 @@ function jxSelfTake(type: string) {
let data = { let data = {
vendorOrderID: props.item.vendorOrderID, vendorOrderID: props.item.vendorOrderID,
vendorID: props.item.vendorID, vendorID: props.item.vendorID,
selfTakeCode: type === 'jx' ? '135246' : takeCode.value, // selfTakeCode: type === 'jx' ? '135246' : takeCode.value,
selfTakeCode: takeCode.value,
} }
let res = await order.confirm_self_take(data) let res = await order.confirm_self_take(data)
if (res.code == 0) { if (res.code == 0) {

View File

@@ -92,7 +92,7 @@ export default {
}), }),
}; };
await merchant.update_store(data); await merchant.update_store(data);
setTxdIngState(1) // setTxdIngState(1)
newAutoEnableAt.value = '' newAutoEnableAt.value = ''
toast("操作成功", 1) toast("操作成功", 1)
// state.value = 1; // state.value = 1;
@@ -117,7 +117,7 @@ export default {
}), }),
}; };
await merchant.update_store(data); await merchant.update_store(data);
setTxdIngState(-1) // setTxdIngState(-1)
newAutoEnableAt.value = '' newAutoEnableAt.value = ''
// businessStatus.value = item.id // businessStatus.value = item.id
toast("操作成功", 1) toast("操作成功", 1)
@@ -130,38 +130,38 @@ export default {
} }
} }
/** // /**
* 设置第三方平台 // * 设置第三方平台
*/ // */
async function setTxdIngState(type: number) { // async function setTxdIngState(type: number) {
if (isTxd()) { // if (isTxd()) {
let data = { // let data = {
vendorOrgCode: 34402634, // vendorOrgCode: 34402634,
txdStores: JSON.stringify({ // txdStores: JSON.stringify({
flag: [1], // flag: [1],
txdStoreID: `JX${getStorage('storeID')}`, // txdStoreID: `JX${getStorage('storeID')}`,
status: type // status: type
}) // })
} // }
await merchant.update_txd_store(data) // await merchant.update_txd_store(data)
} // }
// 更新线上平台的营业状态 // // 更新线上平台的营业状态
let arr = store.state.storeInfo.allStoreInfo.StoreMaps.map((item: AnyObject) => { // let arr = store.state.storeInfo.allStoreInfo.StoreMaps.map((item: AnyObject) => {
if (item.isSync) return item.vendorID + '' // if (item.isSync) return item.vendorID + ''
}) // })
arr = arr.filter((item: string) => item !== '9') // arr = arr.filter((item: string) => item !== '9')
if (arr.length > 0) { // if (arr.length > 0) {
let data = { // let data = {
storeID: getStorage('storeID'), // storeID: getStorage('storeID'),
vendorIDs: arr.join(','), // vendorIDs: arr.join(','),
status: type // status: type
} // }
await merchant.update_vendors_store_states(data); // await merchant.update_vendors_store_states(data);
} // }
// uni.navigateBack() // // uni.navigateBack()
} // }
async function storeRest() { async function storeRest() {
let autoEnableAt = currentTime.value let autoEnableAt = currentTime.value
@@ -175,7 +175,7 @@ export default {
}), }),
}; };
await merchant.update_store(data); await merchant.update_store(data);
setTxdIngState(0) // setTxdIngState(0)
toast("操作成功", 1); toast("操作成功", 1);
popupTime.value.close() popupTime.value.close()
businessStatus.value = 0; businessStatus.value = 0;

View File

@@ -112,7 +112,7 @@ export default {
closeTime2: formatTime(time.timer4), closeTime2: formatTime(time.timer4),
}), }),
} }
setTxdIngTime(time) // setTxdIngTime(time)
let updateTimerRes = await merchant.update_store(data) let updateTimerRes = await merchant.update_store(data)
if (updateTimerRes.code == 0) { if (updateTimerRes.code == 0) {
uni.jxAlert({ uni.jxAlert({
@@ -142,22 +142,22 @@ export default {
// ******************** 修改淘鲜达线上时间 ***************************** // ******************** 修改淘鲜达线上时间 *****************************
//#region //#region
async function setTxdIngTime(time: AnyObject) { // async function setTxdIngTime(time: AnyObject) {
if (isTxd()) { // if (isTxd()) {
let data = { // let data = {
vendorOrgCode: 34402634, // vendorOrgCode: 34402634,
txdStores: JSON.stringify({ // txdStores: JSON.stringify({
flag: [2], // flag: [2],
txdStoreID: `JX${getStorage('storeID')}`, // txdStoreID: `JX${getStorage('storeID')}`,
startTime: time.timer1, // startTime: time.timer1,
endTime: time.timer2 // endTime: time.timer2
}) // })
} // }
await merchant.update_txd_store(data) // await merchant.update_txd_store(data)
} else { // } else {
console.log('此店铺暂无淘鲜达店铺') // console.log('此店铺暂无淘鲜达店铺')
} // }
} // }
//#endregion //#endregion

View File

@@ -4,7 +4,7 @@
<view> 门店营业时间需在配送站点营业时间内才会有骑手配送</view> <view> 门店营业时间需在配送站点营业时间内才会有骑手配送</view>
<view> 如需在此时间范围外营业请咨询业务经理调整配送方式</view> <view> 如需在此时间范围外营业请咨询业务经理调整配送方式</view>
<view> 第二段营业时间需要在第一段营业时间之后</view> <view> 第二段营业时间需要在第一段营业时间之后</view>
<view> 淘先达仅使用营业时间一</view> <!-- <view> 淘先达仅使用营业时间一</view> -->
</view> </view>
<view class="time-root"> <view class="time-root">

View File

@@ -22,6 +22,9 @@ function setUp() {
// IM单聊状态是否开启-饿百 // IM单聊状态是否开启-饿百
const imEbStoreStatus = ref<number>(0) const imEbStoreStatus = ref<number>(0)
// 门店是否可自提
const isDeliverSelf = ref<boolean>(false)
// 美团门店信息 // 美团门店信息
const mtStoreInfo = ref<AnyObject>({}) const mtStoreInfo = ref<AnyObject>({})
@@ -64,6 +67,7 @@ function setUp() {
}) })
async function getStoreMsg() { async function getStoreMsg() {
// 读取vuex 中的 store 数据 // 读取vuex 中的 store 数据
await store.dispatch('storeInfo/getOneStore', getStorage("storeID"))
smsNotify.value = store.state.storeInfo.allStoreInfo.smsNotify smsNotify.value = store.state.storeInfo.allStoreInfo.smsNotify
printerDisabled.value = store.state.storeInfo.allStoreInfo.printerDisabled printerDisabled.value = store.state.storeInfo.allStoreInfo.printerDisabled
// 获取第三方美团门店 // 获取第三方美团门店
@@ -83,6 +87,9 @@ function setUp() {
let ebStataus = store.state.storeInfo.imOnlineStatus.filter(item => item.vendorID === 3) let ebStataus = store.state.storeInfo.imOnlineStatus.filter(item => item.vendorID === 3)
imEbStoreStatus.value = ebStataus.length > 0 ? ebStataus[0].imStatus : 0 imEbStoreStatus.value = ebStataus.length > 0 ? ebStataus[0].imStatus : 0
} }
let jxStore = store.state.storeInfo.allStoreInfo.StoreMaps.find((item: { vendorID: number }) => item.vendorID === 9)
if(jxStore && JSON.stringify(jxStore) !== '{}') isDeliverSelf.value = jxStore.deliverySelf === 1
} }
// 网络打印机 // 网络打印机
netPrinter.value = (store.state.serveInfo.serviceInfo as any).printerVendorInfo netPrinter.value = (store.state.serveInfo.serviceInfo as any).printerVendorInfo
@@ -541,6 +548,20 @@ function setUp() {
setStorage('defaultOrderReminder', orderReminder.value ? 1 : 0) setStorage('defaultOrderReminder', orderReminder.value ? 1 : 0)
} }
/***************************************************
* 修改自提的类型
*/
async function switchJxDeliverySelf(e:AnyObject) {
let res = await merchant.update_store_vendor_map({
storeID:getStorage('storeID'),
vendorID:9,
payload:JSON.stringify({
deliverySelf:e.detail.value ? 1 : 0
})
})
}
return { return {
copyRight, // 京西版权信息 copyRight, // 京西版权信息
smsNotifyData, // 未拣货选项 smsNotifyData, // 未拣货选项
@@ -560,6 +581,8 @@ function setUp() {
switchprinterDisabled, // 网络打印机禁用开关, switchprinterDisabled, // 网络打印机禁用开关,
imMtStoreStatus, // IM单聊状态是否开启 imMtStoreStatus, // IM单聊状态是否开启
imEbStoreStatus, // IM单聊状态是否开启 饿百 imEbStoreStatus, // IM单聊状态是否开启 饿百
isDeliverSelf, // 京西
switchJxDeliverySelf, // 切换自送
switchImMtStoreStatus, // 更改IM单聊门店状态 switchImMtStoreStatus, // 更改IM单聊门店状态
isExistMtStore, // 是否绑定美团门店 isExistMtStore, // 是否绑定美团门店
isExistEbStore, // 是否绑定饿百门店 isExistEbStore, // 是否绑定饿百门店

View File

@@ -173,6 +173,15 @@
<view>营业时间设置</view> <view>营业时间设置</view>
<jx-icon icon="gengduo" color="rgb(220, 220, 220)"></jx-icon> <jx-icon icon="gengduo" color="rgb(220, 220, 220)"></jx-icon>
</view> </view>
<view class="item" >
<view>自提仅京西</view>
<switch
:checked="isDeliverSelf"
@change="switchJxDeliverySelf($event)"
color="#4EB331"
style="zoom: 0.85"
/>
</view>
<view class="item" v-if="isExistEbStore" @tap="jumpInvoiceSet"> <view class="item" v-if="isExistEbStore" @tap="jumpInvoiceSet">
<view>发票设置饿百</view> <view>发票设置饿百</view>
<jx-icon icon="gengduo" color="rgb(220, 220, 220)"></jx-icon> <jx-icon icon="gengduo" color="rgb(220, 220, 220)"></jx-icon>
@@ -254,6 +263,8 @@ const {
switchprinterDisabled, // 网络打印机禁用开关 switchprinterDisabled, // 网络打印机禁用开关
imMtStoreStatus, // IM单聊状态是否开启 imMtStoreStatus, // IM单聊状态是否开启
imEbStoreStatus, // IM单聊状态是否开启 饿百 imEbStoreStatus, // IM单聊状态是否开启 饿百
isDeliverSelf, // 京西
switchJxDeliverySelf, // 切换自送
switchImMtStoreStatus, // 更改IM单聊门店状态 switchImMtStoreStatus, // 更改IM单聊门店状态
isExistMtStore, // 是否绑定美团门店 isExistMtStore, // 是否绑定美团门店
isExistEbStore, // 是否绑定饿百门店 isExistEbStore, // 是否绑定饿百门店

View File

@@ -35,6 +35,7 @@ const msgChatFn = function () {
*/ */
let useData: AnyObject = {} let useData: AnyObject = {}
let ebStore: AnyObject = {} let ebStore: AnyObject = {}
let jdStore: AnyObject = {}
onLoad((potion: any) => { onLoad((potion: any) => {
let res:any = getStorage('vendorUserInfo') let res:any = getStorage('vendorUserInfo')
if(JSON.stringify(potion) === '{}') { if(JSON.stringify(potion) === '{}') {
@@ -50,13 +51,14 @@ const msgChatFn = function () {
useData = useInfo useData = useInfo
} }
if (store.state.storeInfo.allStoreInfo.StoreMaps && store.state.storeInfo.allStoreInfo.StoreMaps.length > 0) ebStore = store.state.storeInfo.allStoreInfo.StoreMaps.find((item: { vendorID: number }) => item.vendorID === 3) // 饿百 if (store.state.storeInfo.allStoreInfo.StoreMaps && store.state.storeInfo.allStoreInfo.StoreMaps.length > 0) ebStore = store.state.storeInfo.allStoreInfo.StoreMaps.find((item: { vendorID: number }) => item.vendorID === 3) // 饿百
if (store.state.storeInfo.allStoreInfo.StoreMaps && store.state.storeInfo.allStoreInfo.StoreMaps.length > 0) jdStore = store.state.storeInfo.allStoreInfo.StoreMaps.find((item: { vendorID: number }) => item.vendorID === 0) // 京东
// 修改标题 // 修改标题
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: title:
useData.vendorID == 1 useData.vendorID == 1
? `【美团${useData.orderDesc}${useData.userID === '0' ? '群发消息' : useData.userID}` ? `【美团${useData.orderDesc}${useData.userID === '0' ? '群发消息' : useData.userID}`
: `【饿了么${useData.userID}`, : useData.vendorID == 3 ? `【淘宝闪购】${useData.userID}` : `【京东${useData.userID}`,
}) })
// 获取聊天数据 // 获取聊天数据
@@ -74,8 +76,8 @@ const msgChatFn = function () {
async function SetMsgRead() { async function SetMsgRead() {
let venderIDInfo = store.state.storeInfo.vendorStoreIDS let venderIDInfo = store.state.storeInfo.vendorStoreIDS
let data = { let data = {
appID: useData.vendorID === 1 ? venderIDInfo.appID : ebStore.vendorOrgCode, appID: useData.vendorID === 1 ? venderIDInfo.appID : useData.vendorID === 3 ? ebStore.vendorOrgCode : jdStore.vendorOrgCode,
vendorStoreID: useData.vendorID === 1 ? venderIDInfo.MT : ebStore.vendorStoreID, vendorStoreID: useData.vendorID === 1 ? venderIDInfo.MT : useData.vendorID === 3 ? ebStore.vendorStoreID : jdStore.vendorStoreID,
vendorID: "" + useData.vendorID, vendorID: "" + useData.vendorID,
orderID: "" + useData.orderID ? useData.orderID : '0', orderID: "" + useData.orderID ? useData.orderID : '0',
userID: useData.userID userID: useData.userID
@@ -92,9 +94,9 @@ const msgChatFn = function () {
let venderIDInfo = store.state.storeInfo.vendorStoreIDS let venderIDInfo = store.state.storeInfo.vendorStoreIDS
let data = { let data = {
payLoad: JSON.stringify([{ payLoad: JSON.stringify([{
vendorStoreID: useData.vendorID === 1 ? venderIDInfo.MT : ebStore.vendorStoreID, vendorStoreID: useData.vendorID === 1 ? venderIDInfo.MT : useData.vendorID === 3 ? ebStore.vendorStoreID : jdStore.vendorStoreID,
vendorID: "" + useData.vendorID, vendorID: "" + useData.vendorID,
appID: useData.vendorID === 1 ? venderIDInfo.appID : ebStore.vendorOrgCode, appID: useData.vendorID === 1 ? venderIDInfo.appID : useData.vendorID === 3 ? ebStore.vendorOrgCode : jdStore.vendorOrgCode,
userID: useData.userID userID: useData.userID
}]) }])
} }
@@ -108,7 +110,7 @@ const msgChatFn = function () {
let newMsg = res.data[`${venderIDInfo.appID}:${venderIDInfo.MT}:${useData.vendorID}:${useData.userID}`] || [] let newMsg = res.data[`${venderIDInfo.appID}:${venderIDInfo.MT}:${useData.vendorID}:${useData.userID}`] || []
newMsg.forEach((element: any) => { newMsg.forEach((element: any) => {
let resData = jxParse(element) let resData = jxParse(element)
let msg_content = resData.msgContent.msg_type == 1 ? analyEmoji(Decrypt(resData.msgContent.msg_content, platformID.value)) : Decrypt(resData.msgContent.msg_content, platformID.value) let msg_content = resData.msgContent.msg_type == 1 || resData.msgContent.msg_type == 11 ? analyEmoji(Decrypt(resData.msgContent.msg_content, platformID.value)) : Decrypt(resData.msgContent.msg_content, platformID.value)
if (resData.msgContent.msg_type == 4) msg_content = resData.msgContent.app_spu_codes // 商品skuid if (resData.msgContent.msg_type == 4) msg_content = resData.msgContent.app_spu_codes // 商品skuid
if (resData.msgContent != undefined) { if (resData.msgContent != undefined) {
let msgList = { let msgList = {
@@ -121,7 +123,7 @@ const msgChatFn = function () {
newArr.push(msgList) newArr.push(msgList)
} }
}) })
} else { } else if(useData.vendorID === 3){
// 饿百 // 饿百
let newMsg = res.data[`${ebStore.vendorOrgCode}:${ebStore.vendorStoreID}:${useData.vendorID}:${useData.userID}`] || [] let newMsg = res.data[`${ebStore.vendorOrgCode}:${ebStore.vendorStoreID}:${useData.vendorID}:${useData.userID}`] || []
newMsg.map((element: any, index: number) => { newMsg.map((element: any, index: number) => {
@@ -162,6 +164,25 @@ const msgChatFn = function () {
newArr.push(msgList) newArr.push(msgList)
} }
}) })
}else if(useData.vendorID === 0){
let newMsg = res.data[`${jdStore.vendorOrgCode}:${jdStore.vendorStoreID}:${useData.vendorID}:${useData.userID}`] || []
newMsg.forEach((element:string) => {
let resData = jxParse(element)
if(resData.msgContent){
let msg = JSON.parse(resData.msgContent.extendJsonData)
let content = msg.body.type === 'text' ? msg.body.content : msg.body.type === 'image' ? msg.body.url : msg.body.content
// console.log(msg,'msg','获取聊天详情,resData',resData,'useData',useData.userID)
let msgList = {
sendType:'jd',
...msg,
msg_content: msg.body.type === 'text' ? analyEmoji(content) : msg.body.type === 'image' ? content : '未知' ,
msg_source: useData.userID === msg.from.pin ? 2 : 1, // 目前全是客户发的消息
msg_type: msg.body.type === 'text' ? 1 : msg.body.type === 'image' ? 2 : 99 // 目前只支持文本消息
}
newArr.push(msgList)
}
})
} }
chatData.value = newArr chatData.value = newArr
@@ -355,11 +376,11 @@ const msgChatFn = function () {
* 发送数据 * 发送数据
*/ */
async function sendClick(msgData: AnyObject) { async function sendClick(msgData: AnyObject) {
let venderIDInfo = useData.vendorID === 1 ? store.state.storeInfo.vendorStoreIDS : ebStore.vendorOrgCode let venderIDInfo = useData.vendorID === 1 ? store.state.storeInfo.vendorStoreIDS : useData.vendorID === 3 ? ebStore.vendorOrgCode : jdStore.vendorOrgCode
let data = { let data = {
sendType: useData.vendorID === 1 ? "mt" : "elm", sendType: useData.vendorID === 1 ? "mt" : useData.vendorID === 3 ? "elm" : 'jd',
app_id: useData.vendorID === 1 ? venderIDInfo.appID : ebStore.vendorOrgCode, app_id: useData.vendorID === 1 ? venderIDInfo.appID : useData.vendorID === 3 ? ebStore.vendorOrgCode : jdStore.vendorOrgCode,
app_poi_code: useData.vendorID === 1 ? venderIDInfo.MT : ebStore.vendorStoreID, app_poi_code: useData.vendorID === 1 ? venderIDInfo.MT : useData.vendorID === 3 ? ebStore.vendorStoreID : jdStore.vendorStoreID,
cts: Math.round(new Date().getTime() / 1000).toString(), cts: Math.round(new Date().getTime() / 1000).toString(),
msg_content: msgData.type === 1 ? analyEmoji(msgData.msg) : msgData.msg, msg_content: msgData.type === 1 ? analyEmoji(msgData.msg) : msgData.msg,
msg_id: Math.round(new Date().getTime()).toString(), msg_id: Math.round(new Date().getTime()).toString(),
@@ -396,7 +417,7 @@ const msgChatFn = function () {
} }
}) })
} }
} else { } else if(useData.vendorID === 3){
let chatDataItem = chatData.value.filter(item => item.msg_source === 2) let chatDataItem = chatData.value.filter(item => item.msg_source === 2)
sendMsg = { sendMsg = {
platformShopId: chatDataItem[0].platformShopId, platformShopId: chatDataItem[0].platformShopId,
@@ -426,6 +447,44 @@ const msgChatFn = function () {
data: { ...sendMsg } data: { ...sendMsg }
}) })
} }
}else if(useData.vendorID === 0){
sendMsg = {
vendorOrgCode: jdStore.vendorOrgCode,
sendData:JSON.stringify({
vendorID: 0,
storeId:jdStore.storeID,
data:{
id: '' + Math.round(new Date().getTime()).toString() + 184572 , // uuid //随机生成一个字符串
lang: "zh_CN",
type: "chat_message",
from: {
pin:chatData.value[0].to.pin,
app:'im.waiter', // 固定不变
clientType:'android'
},
to: {
pin:chatData.value[0].from.pin,
app:'im.customer', // 固定不变
},
body: {
type:msgData.type === 1 ? "text" : "image", // 消息类型
content:msgData.msg,
chatinfo:{
venderId:chatData.value[0].body.chatinfo.venderId,
askAllocateType:chatData.value[0].body.chatinfo.askAllocateType,
sid:chatData.value[0].body.chatinfo.sid,
source:chatData.value[0].body.chatinfo.source
},
template:{
source:'dd_msg_583984a984834b1889f853be6e449f39_e66c448b9fbe4704901925d3217081a3' // 文本固定不变 //卡片类消息必传
},
mt:60,
},
timestamp:new Date().getTime(), // 时间戳
clientTime:new Date().getTime() // 客户端时间
}
})
}
} }
let res = await message.send_to_vendor(sendMsg) let res = await message.send_to_vendor(sendMsg)

View File

@@ -81,6 +81,19 @@
/> />
</view> </view>
<!-- 视频 -->
<view
:class="{
'chat-text-container-img': true,
'chat-text-container-me-img': item.msg_source == 1,
}"
v-else-if="item.msg_type == 6"
>
<video
:src="item.msg_content">
</video>
</view>
<!-- 语音 --> <!-- 语音 -->
<view <view
class="chat-text-container yuyin" class="chat-text-container yuyin"

View File

@@ -114,8 +114,8 @@
>若退款造成的损失较大建议联系顾客自行上门取回退货</view >若退款造成的损失较大建议联系顾客自行上门取回退货</view
> >
<view class="btn-group"> <view class="btn-group">
<text class="refuse" @tap.stop="popup.open()">驳回</text> <text class="refuse" @tap.stop="popup.open()" style="width: 82%;">驳回</text>
<text class="agree" @tap.stop="handleAgree">同意</text> <text class="agree" @tap.stop="handleAgree" style="width: 14%;margin-left: 6rpx;">同意</text>
</view> </view>
</view> </view>
<!-- 已进行审核操作 --> <!-- 已进行审核操作 -->

View File

@@ -39,8 +39,8 @@ const phoneList = ref<Array<PhoneListType>>([
mobild: phoneData.operatorPhone2, mobild: phoneData.operatorPhone2,
}, },
{ {
icon: 'https://image.jxc4.com/image/8ac4b05dfef6b18639489d32cd421551.png', icon: 'https://image.jxc4.com/image/06a27a6503a6695824bf361ded5f1d45.png',
company: '饿佰运营', company: '淘宝闪购运营',
name: phoneData.operatorName3 || '暂无', name: phoneData.operatorName3 || '暂无',
mobild: phoneData.operatorPhone3, mobild: phoneData.operatorPhone3,
}, },

View File

@@ -224,7 +224,7 @@ function orderDetailFn() {
*/ */
function realMobile() { function realMobile() {
if(orderData.value.vendorID === 1){ if(orderData.value.vendorID === 1){
if(store.getters['storeInfo/imMtStatus'][0].imStatus !== 1) return toast('美团IM状态已关闭', 1) if(store.getters['storeInfo/imMtStatus'][0].imStatus !== 1) return toast('美团IM状态已关闭', 2)
setStorage('vendorUserInfo',{ setStorage('vendorUserInfo',{
venderOrderID:orderData.value.vendorOrderID, venderOrderID:orderData.value.vendorOrderID,
orderSeq:orderData.value.orderSeq, orderSeq:orderData.value.orderSeq,

View File

@@ -58,6 +58,7 @@ function rightMainFn(props: any, emit: any) {
if (item.storeSkuStatus) { if (item.storeSkuStatus) {
skus.push({ skus.push({
skuID: item.id, skuID: item.id,
stock:20, // 默认20个库存
isSale: 1 isSale: 1
}) })
} }

View File

@@ -603,8 +603,8 @@ function vendorID2(vendorID: number) {
return '微盟' return '微盟'
case 14: case 14:
return '抖音小时购' return '抖音小时购'
case 16: // case 16:
return '淘鲜达' // return '淘鲜达'
default: default:
return '未知平台' return '未知平台'
} }

View File

@@ -486,7 +486,7 @@ export default {
"11": "微盟微商城", "11": "微盟微商城",
"12": "国美", "12": "国美",
"14": "抖店平台", "14": "抖店平台",
"16": "淘鲜达", // "16": "淘鲜达",
"101": "达达众包", "101": "达达众包",
"102": "美团配送", "102": "美团配送",
"103": "蜂鸟配送", "103": "蜂鸟配送",