上架服务-选择品类 后台接口对接
This commit is contained in:
parent
a48ce70a24
commit
85e2d3b54e
|
|
@ -1,5 +1,5 @@
|
|||
export default {
|
||||
deptId: 1,
|
||||
deptId: 101,
|
||||
initPageNum: 1,
|
||||
initPageSize: 5
|
||||
}
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
import globalData from '@/common/js/globalData.js';
|
||||
|
||||
export default {
|
||||
address: 'http://127.0.0.1:80',
|
||||
address: 'https://www.opsoul.com',
|
||||
// 异步接口拦截
|
||||
addInterceptor() {
|
||||
uni.addInterceptor('request', {
|
||||
invoke(args) {
|
||||
// request 触发前拼接 url
|
||||
// args.url = 'http://www.opsoul.com' + args.url;
|
||||
args.url = this.address + args.url;
|
||||
args.url = 'https://www.opsoul.com' + args.url;
|
||||
args.data.deptId = globalData.deptId
|
||||
// console.log("停止触发");
|
||||
// return false;
|
||||
},
|
||||
|
|
@ -129,5 +130,13 @@ export default {
|
|||
resObj = JSON.parse(resStr);
|
||||
}
|
||||
return resObj;
|
||||
},
|
||||
async listByStep(params = {goodsCategoryId : null}) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/deptcategory/listByStep',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
10
pages.json
10
pages.json
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"pages": [{
|
||||
// "path": "pages/index/index"
|
||||
"path": "pages/my/new-serv"
|
||||
"path": "pages/index/index"
|
||||
}],
|
||||
"subPackages": [{
|
||||
"root": "pages/area-proxy/",
|
||||
|
|
@ -26,6 +25,13 @@
|
|||
}, {
|
||||
"path": "finish-order"
|
||||
}]
|
||||
}, {
|
||||
"root": "pages/my/",
|
||||
"pages": [{
|
||||
"path": "new-serv"
|
||||
}, {
|
||||
"path": "goods-manage"
|
||||
}]
|
||||
}],
|
||||
"globalStyle": {
|
||||
"navigationStyle": "custom",
|
||||
|
|
|
|||
|
|
@ -10,150 +10,164 @@
|
|||
<view class="cu-bar search bg-white">
|
||||
<view class="search-form round">
|
||||
<text class="cuIcon-search"></text>
|
||||
<input @confirm="searchTasks" :adjust-position="true" type="text" placeholder="输入搜索的内容"
|
||||
<input @confirm="searchTasks" :adjust-position="true" v-model="searchInputVal" type="text" placeholder="输入搜索的内容"
|
||||
confirm-type="search"></input>
|
||||
</view>
|
||||
<view class="action">
|
||||
<button class="cu-btn bg-main-color shadow-blur round">搜索</button>
|
||||
<button class="cu-btn bg-main-color shadow-blur round" @click="searchTasks">搜索</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 条件筛选栏 -->
|
||||
<scroll-view scroll-x class="bg-white nav text-center" :scroll-with-animation="true"
|
||||
:scroll-left="scrollLeft">
|
||||
<view class="cu-item"
|
||||
v-for="(item,index) in taskConditions" v-if="item.type !== 1" :key="index" @tap="tabSelect" :data-id="index">
|
||||
<!-- 区域筛选picker -->
|
||||
<picker v-if="item.code === 'area'" :mode="'multiSelector'" @change="regionChange" :value="areaMultiIndex" :range-key="'name'" :range="areaList">
|
||||
{{item.title}}
|
||||
<text class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
</picker>
|
||||
<!-- 品类筛选picker -->
|
||||
<picker v-else-if="item.code === 'category'" :mode="'multiSelector'" @change="categoryChange" :value="categoryMultiIndex" :range-key="'name'" :range="categoryList">
|
||||
{{item.title}}
|
||||
<text class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
</picker>
|
||||
<text v-else>
|
||||
{{item.title}}
|
||||
<text v-if="item.type === 0" class="text-lg"><text :class="item.value === 0 ? 'cuIcon-triangleupfill' : 'cuIcon-triangledownfill'"></text></text>
|
||||
<text v-else class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
<view class="cu-item" v-for="(item,index) in taskConditions" v-if="item.type !== 1" :key="index"
|
||||
@tap="tabSelect" :data-id="index">
|
||||
<!-- 区域筛选picker -->
|
||||
<picker v-if="item.code === 'area'" :mode="'multiSelector'" @change="regionChange"
|
||||
:value="areaMultiIndex" :range-key="'name'" :range="areaList">
|
||||
{{item.title}}
|
||||
<text class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
</picker>
|
||||
<!-- 品类筛选picker -->
|
||||
<picker v-else-if="item.code === 'category'" :mode="'multiSelector'" @change="categoryChange"
|
||||
:value="categoryMultiIndex" :range-key="'name'" :range="categoryList">
|
||||
{{item.title}}
|
||||
<text class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
</picker>
|
||||
<text v-else>
|
||||
{{item.title}}
|
||||
<text v-if="item.type === 0" class="text-lg"><text
|
||||
:class="item.value === 0 ? 'cuIcon-triangleupfill' : 'cuIcon-triangledownfill'"></text></text>
|
||||
<text v-else class="text-lg"><text class="cuIcon-triangledownfill"></text></text>
|
||||
</text>
|
||||
</view>
|
||||
<view class="cu-item" v-else>
|
||||
<button class="cu-btn bg-grey round shadow-blur">{{item.title}}</button>
|
||||
</view>
|
||||
<view class="cu-item" v-else>
|
||||
<button class="cu-btn bg-grey round shadow-blur">{{item.title}}</button>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<!-- 任务单 -->
|
||||
<view class="margin-lr-sm margin-bottom-lg">
|
||||
<view v-for="(task, index) in tasks" class="padding bg-white margin-top-sm">
|
||||
<view class="flex justify-between">
|
||||
<view class="text-lg text-bold text-cut" style="width: 70%;">{{task.title}}</view>
|
||||
<view class="text-right">
|
||||
<view class="text-lg text-price text-red text-bold">{{task.price}}</view>
|
||||
<view v-if="task.expeditedPrice">
|
||||
<text>加急:</text><text class="text-price text-red text-bold">{{task.expeditedPrice}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-start">
|
||||
<view v-for="(tagContent, index1) in task.tag" class='cu-tag margin-right-xs'>{{tagContent}}</view>
|
||||
</view>
|
||||
<view class="margin-top-sm">
|
||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-locationfill"></text></text>
|
||||
<text>{{task.address}}</text>
|
||||
</view>
|
||||
<view class="margin-top-sm">
|
||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-timefill"></text></text>
|
||||
<text>{{task.doorTime}}</text>
|
||||
</view>
|
||||
<view class="padding-top-sm flex justify-end">
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" data-modal="showForwardModal" @click="showModal($event, index)">转发</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" data-modal="showAddPriceModal" @click="showModal($event, index)">加价</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" v-if="task.canQuote">报价</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" @click="showDemandDetail($event, index)">查看</button>
|
||||
<button class="cu-btn bg-main-color shadow-blur" data-take-modal="showTakeSuccessModal" data-certify-modal="showTakeCertifiedModal" @click="takeTask($event, index)">接单</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 加价模态框 -->
|
||||
<view class="cu-modal" :class="showAddPriceModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||
<view class="content">加价申请</view>
|
||||
<view class="action" data-modal="showAddPriceModal" @tap="hideModal">
|
||||
<text class="cuIcon-close text-red"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-xl bg-white text-left">
|
||||
<view class="flex justify-center align-center margin-top-sm">
|
||||
<text>加价金额:</text>
|
||||
<input class="radius-input" type="digit"></input>
|
||||
<text>元</text>
|
||||
</view>
|
||||
<view class="margin-top-sm flex justify-center">
|
||||
<textarea class="solid radius text-left padding-sm" maxlength="-1" name="comments" placeholder="加价原因备注"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showAddPriceModal" @tap="hideModal">取消</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal" data-modal="showAddPriceModal"
|
||||
@click="applyAddPrice">立即提交</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 推荐奖励模态框 -->
|
||||
<view class="cu-modal" :class="showForwardModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||
<view class="content">推荐奖励</view>
|
||||
<view class="action" data-modal="showForwardModal" @tap="hideModal">
|
||||
<text class="cuIcon-close text-red"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-xl bg-white">
|
||||
<view>推荐转发有奖励,按每个奖励链接计算累计200单每单一元合计200元进行持续奖励:</view>
|
||||
<view class="margin-top-sm">推荐本单另行奖励的金额如下</view>
|
||||
<view class="flex justify-center align-center margin-top-sm">
|
||||
<text>奖励金额:</text>
|
||||
<input class="radius-input" type="digit"></input>
|
||||
<text>元</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showForwardModal" @tap="hideModal">取消</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showForwardModal" @tap="hideModal"
|
||||
@click="forwardTask">立即推荐</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 接单认证模态框 -->
|
||||
<view class="cu-modal" :class="showTakeCertifiedModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="padding-xl">
|
||||
<view class="cuIcon-profile big-icon padding-tb text-main-color"></view>
|
||||
<view>您还未进行认证</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showTakeCertifiedModal" @tap="hideModal">以后认证</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showTakeCertifiedModal" @tap="hideModal"
|
||||
@click="goToCertify">立即认证</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 接单成功模态框 -->
|
||||
<view class="cu-modal" :class="showTakeSuccessModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="padding-xl">
|
||||
<view class="cuIcon-roundcheck big-icon padding-tb text-main-color"></view>
|
||||
<view class="text-bold text-lg margin-bottom-sm">接单成功</view>
|
||||
<view>请在30分钟内联系客户,预约好上门时间,并在订单中操作排单时间,超时6倍将受平台处罚管理;该订单佣金在完成任务24小时内计入您的账户</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showTakeSuccessModal" @click="contactCustomer">联系客户</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showTakeSuccessModal" @tap="hideModal">继续接单</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 任务单 -->
|
||||
<view class="margin-lr-sm margin-bottom-lg">
|
||||
<view v-for="(task, index) in tasks" class="padding bg-white margin-top-sm">
|
||||
<view class="flex justify-between">
|
||||
<view class="text-lg text-bold text-cut" style="width: 70%;">{{task.title}}</view>
|
||||
<view class="text-right">
|
||||
<view class="text-lg text-price text-red text-bold">{{task.price}}</view>
|
||||
<view v-if="task.expeditedPrice">
|
||||
<text>加急:</text><text class="text-price text-red text-bold">{{task.expeditedPrice}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-start">
|
||||
<view v-for="(tagContent, index1) in task.tag" class='cu-tag margin-right-xs'>{{tagContent}}</view>
|
||||
</view>
|
||||
<view class="margin-top-sm">
|
||||
<text class="text-main-color text-lg margin-right-xs"><text
|
||||
class="cuIcon-locationfill"></text></text>
|
||||
<text>{{task.address}}</text>
|
||||
</view>
|
||||
<view class="margin-top-sm">
|
||||
<text class="text-main-color text-lg margin-right-xs"><text class="cuIcon-timefill"></text></text>
|
||||
<text>{{task.doorTime}}</text>
|
||||
</view>
|
||||
<view class="padding-top-sm flex justify-end">
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" data-modal="showForwardModal"
|
||||
@click="showModal($event, index)">转发</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" data-modal="showAddPriceModal"
|
||||
@click="showModal($event, index)">加价</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur" v-if="task.canQuote">报价</button>
|
||||
<button class="cu-btn bg-main-color margin-right-xs shadow-blur"
|
||||
@click="showDemandDetail($event, index)">查看</button>
|
||||
<button class="cu-btn bg-main-color shadow-blur" data-take-modal="showTakeSuccessModal"
|
||||
data-certify-modal="showTakeCertifiedModal" @click="takeTask($event, index)">接单</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 加价模态框 -->
|
||||
<view class="cu-modal" :class="showAddPriceModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||
<view class="content">加价申请</view>
|
||||
<view class="action" data-modal="showAddPriceModal" @tap="hideModal">
|
||||
<text class="cuIcon-close text-red"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-xl bg-white text-left">
|
||||
<view class="flex justify-center align-center margin-top-sm">
|
||||
<text>加价金额:</text>
|
||||
<input class="radius-input" type="digit"></input>
|
||||
<text>元</text>
|
||||
</view>
|
||||
<view class="margin-top-sm flex justify-center">
|
||||
<textarea class="solid radius text-left padding-sm" maxlength="-1" name="comments"
|
||||
placeholder="加价原因备注"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showAddPriceModal" @tap="hideModal">取消
|
||||
</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal"
|
||||
data-modal="showAddPriceModal" @click="applyAddPrice">立即提交</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 推荐奖励模态框 -->
|
||||
<view class="cu-modal" :class="showForwardModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="cu-bar bg-white justify-end solid-bottom">
|
||||
<view class="content">推荐奖励</view>
|
||||
<view class="action" data-modal="showForwardModal" @tap="hideModal">
|
||||
<text class="cuIcon-close text-red"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-xl bg-white">
|
||||
<view>推荐转发有奖励,按每个奖励链接计算累计200单每单一元合计200元进行持续奖励:</view>
|
||||
<view class="margin-top-sm">推荐本单另行奖励的金额如下</view>
|
||||
<view class="flex justify-center align-center margin-top-sm">
|
||||
<text>奖励金额:</text>
|
||||
<input class="radius-input" type="digit"></input>
|
||||
<text>元</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showForwardModal" @tap="hideModal">取消
|
||||
</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showForwardModal"
|
||||
@tap="hideModal" @click="forwardTask">立即推荐</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 接单认证模态框 -->
|
||||
<view class="cu-modal" :class="showTakeCertifiedModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="padding-xl">
|
||||
<view class="cuIcon-profile big-icon padding-tb text-main-color"></view>
|
||||
<view>您还未进行认证</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showTakeCertifiedModal"
|
||||
@tap="hideModal">以后认证</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left"
|
||||
data-modal="showTakeCertifiedModal" @tap="hideModal" @click="goToCertify">立即认证</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 接单成功模态框 -->
|
||||
<view class="cu-modal" :class="showTakeSuccessModal?'show':''">
|
||||
<view class="cu-dialog">
|
||||
<view class="padding-xl">
|
||||
<view class="cuIcon-roundcheck big-icon padding-tb text-main-color"></view>
|
||||
<view class="text-bold text-lg margin-bottom-sm">接单成功</view>
|
||||
<view>请在30分钟内联系客户,预约好上门时间,并在订单中操作排单时间,超时6倍将受平台处罚管理;该订单佣金在完成任务24小时内计入您的账户</view>
|
||||
</view>
|
||||
<view class="cu-bar bg-white solid-top">
|
||||
<view class="action margin-0 flex-sub text-black" data-modal="showTakeSuccessModal"
|
||||
@click="contactCustomer">联系客户</view>
|
||||
<view class="action margin-0 flex-sub text-main-color solid-left" data-modal="showTakeSuccessModal"
|
||||
@tap="hideModal">继续接单</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
|
@ -161,21 +175,43 @@
|
|||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
return {
|
||||
tabCur: 0,
|
||||
scrollLeft: 0,
|
||||
stickyTop: this.CustomBar,
|
||||
taskConditions: [],
|
||||
tasks: [],
|
||||
curTask: null,
|
||||
takeCertify: false,
|
||||
showAddPriceModal: false,
|
||||
showForwardModal: false,
|
||||
showTakeCertifiedModal: false,
|
||||
showTakeSuccessModal: false,
|
||||
areaList: [],
|
||||
areaMultiIndex: [0, 0, 0],
|
||||
categoryList: [],
|
||||
// type: 0=升降序,1=功能按钮;order: 0=升序,1=降序;
|
||||
taskConditions: [{
|
||||
code: 'area',
|
||||
title: '区域'
|
||||
}, {
|
||||
code: 'category',
|
||||
title: '品类'
|
||||
}, {
|
||||
code: 'distance',
|
||||
title: '距离',
|
||||
type: 0,
|
||||
value: 0,
|
||||
}, {
|
||||
code: 'time',
|
||||
title: '时间',
|
||||
type: 0,
|
||||
value: 0,
|
||||
}, {
|
||||
code: 'reset',
|
||||
type: 1,
|
||||
title: '重置'
|
||||
}],
|
||||
searchInputVal: '',
|
||||
tasks: [],
|
||||
curTask: null,
|
||||
takeCertify: false,
|
||||
showAddPriceModal: false,
|
||||
showForwardModal: false,
|
||||
showTakeCertifiedModal: false,
|
||||
showTakeSuccessModal: false,
|
||||
areaList: [],
|
||||
areaMultiIndex: [0, 0, 0],
|
||||
categoryList: [],
|
||||
categoryMultiIndex: [0, 0, 0]
|
||||
}
|
||||
},
|
||||
|
|
@ -184,73 +220,82 @@
|
|||
},
|
||||
methods: {
|
||||
async loadData() {
|
||||
this.taskConditions = await this.$api.data('taskConditions');
|
||||
this.tasks = await this.$api.data('tasks');
|
||||
this.takeCertify = await this.$api.data('takeCertify');
|
||||
this.areaList = await this.$api.data('areaList');
|
||||
this.tasks = await this.$api.data('tasks');
|
||||
this.takeCertify = await this.$api.data('takeCertify');
|
||||
this.areaList = await this.$api.data('areaList');
|
||||
this.categoryList = await this.$api.data('categoryList');
|
||||
},
|
||||
tabSelect(e) {
|
||||
this.tabCur = e.currentTarget.dataset.id;
|
||||
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 70;
|
||||
let conditionType = this.taskConditions[this.tabCur].type;
|
||||
let conditionCode = this.taskConditions[this.tabCur].code;
|
||||
if (conditionType === 0) {
|
||||
// 升降序类型的条件切换升降序
|
||||
let orderVal = this.taskConditions[this.tabCur].value;
|
||||
this.taskConditions[this.tabCur].value = orderVal === 0 ? 1 : 0;
|
||||
}
|
||||
},
|
||||
regionChange(e) {
|
||||
this.areaMultiIndex = e.detail.value;
|
||||
let chosenArea = [];
|
||||
for(let i = 0; i < this.areaList.length; i++) {
|
||||
chosenArea.push(this.areaList[i][this.areaMultiIndex[i]]);
|
||||
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 70;
|
||||
let conditionType = this.taskConditions[this.tabCur].type;
|
||||
let conditionCode = this.taskConditions[this.tabCur].code;
|
||||
if (conditionType === 0) {
|
||||
// 升降序类型的条件切换升降序
|
||||
let orderVal = this.taskConditions[this.tabCur].value;
|
||||
this.taskConditions[this.tabCur].value = orderVal === 0 ? 1 : 0;
|
||||
}
|
||||
this.taskConditions[this.tabCur].value = chosenArea;
|
||||
this.searchTasks();
|
||||
},
|
||||
categoryChange(e) {
|
||||
this.categoryMultiIndex = e.detail.value;
|
||||
let chosenCategory = [];
|
||||
for(let i = 0; i < this.categoryList.length; i++) {
|
||||
chosenCategory.push(this.categoryList[i][this.categoryMultiIndex[i]]);
|
||||
}
|
||||
this.taskConditions[this.tabCur].value = chosenCategory;
|
||||
},
|
||||
showDemandDetail(e, taskIndex) {
|
||||
let paramObj = {
|
||||
orderId: this.tasks[taskIndex].id
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: '/pages/demand-center/demand-detail?paramObj=' + encodeURIComponent(JSON.stringify(paramObj))
|
||||
searchTasks() {
|
||||
let qryObj = {};
|
||||
this.taskConditions.forEach((condition) => {
|
||||
qryObj[condition.code] = condition.value;
|
||||
})
|
||||
},
|
||||
takeTask(e, taskIndex) {
|
||||
if (this.takeCertify) {
|
||||
// 已认证可直接接单
|
||||
e.currentTarget.dataset.modal = e.currentTarget.dataset.takeModal;
|
||||
this.showModal(e, taskIndex);
|
||||
} else {
|
||||
// 未认证需提示前往认证
|
||||
e.currentTarget.dataset.modal = e.currentTarget.dataset.certifyModal;
|
||||
this.showModal(e, taskIndex);
|
||||
}
|
||||
},
|
||||
contactCustomer() {
|
||||
// 跳转到未约未排
|
||||
},
|
||||
showModal(e, taskIndex) {
|
||||
this.curTask = this.tasks[taskIndex];
|
||||
this[e.currentTarget.dataset.modal] = true;
|
||||
},
|
||||
hideModal(e) {
|
||||
this.curTask = null;
|
||||
this[e.currentTarget.dataset.modal] = false;
|
||||
qryObj.name = this.searchInputVal;
|
||||
//TODO: 调用查询tasks的接口
|
||||
},
|
||||
regionChange(e) {
|
||||
this.areaMultiIndex = e.detail.value;
|
||||
let chosenArea = [];
|
||||
for (let i = 0; i < this.areaList.length; i++) {
|
||||
chosenArea.push(this.areaList[i][this.areaMultiIndex[i]]);
|
||||
}
|
||||
this.taskConditions[this.tabCur].value = chosenArea;
|
||||
},
|
||||
categoryChange(e) {
|
||||
this.categoryMultiIndex = e.detail.value;
|
||||
let chosenCategory = [];
|
||||
for (let i = 0; i < this.categoryList.length; i++) {
|
||||
chosenCategory.push(this.categoryList[i][this.categoryMultiIndex[i]]);
|
||||
}
|
||||
this.taskConditions[this.tabCur].value = chosenCategory;
|
||||
},
|
||||
showDemandDetail(e, taskIndex) {
|
||||
let paramObj = {
|
||||
orderId: this.tasks[taskIndex].id
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: '/pages/demand-center/demand-detail?paramObj=' + encodeURIComponent(JSON.stringify(
|
||||
paramObj))
|
||||
})
|
||||
},
|
||||
takeTask(e, taskIndex) {
|
||||
if (this.takeCertify) {
|
||||
// 已认证可直接接单
|
||||
e.currentTarget.dataset.modal = e.currentTarget.dataset.takeModal;
|
||||
this.showModal(e, taskIndex);
|
||||
} else {
|
||||
// 未认证需提示前往认证
|
||||
e.currentTarget.dataset.modal = e.currentTarget.dataset.certifyModal;
|
||||
this.showModal(e, taskIndex);
|
||||
}
|
||||
},
|
||||
contactCustomer() {
|
||||
// 跳转到未约未排
|
||||
},
|
||||
showModal(e, taskIndex) {
|
||||
this.curTask = this.tasks[taskIndex];
|
||||
this[e.currentTarget.dataset.modal] = true;
|
||||
},
|
||||
hideModal(e) {
|
||||
this.curTask = null;
|
||||
this[e.currentTarget.dataset.modal] = false;
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<button class="cu-btn line-main-color margin-right-xs margin-top-sm" @click="editGood(good)">编辑</button>
|
||||
<button class="cu-btn line-main-color margin-right-xs margin-top-sm" @click="addEditGood(good)">编辑</button>
|
||||
<button class="cu-btn line-main-color margin-right-xs margin-top-sm" @click="offGood(good)">下架</button>
|
||||
<button class="cu-btn line-main-color margin-right-xs margin-top-sm" @click="copyGood(good)">复制</button>
|
||||
<button class="cu-btn line-main-color margin-right-xs margin-top-sm">优惠券</button>
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
</view>
|
||||
<!-- 底部操作栏 -->
|
||||
<view class="cu-bar tabbar border shop fixed-bottom-bar bg-white">
|
||||
<button class="cu-btn bg-main-color lg shadow-blur margin-left-xs">新增服务</button>
|
||||
<button class="cu-btn bg-main-color lg shadow-blur margin-left-xs" @click="addEditGood(null)">新增服务</button>
|
||||
<button class="cu-btn bg-main-color lg shadow-blur">优惠券</button>
|
||||
<button class="cu-btn bg-main-color lg shadow-blur">暂停售卖</button>
|
||||
<button class="cu-btn bg-main-color lg shadow-blur margin-right-xs" data-modal="communityModal" @tap="showModal">社区</button>
|
||||
|
|
@ -172,6 +172,15 @@
|
|||
},
|
||||
comfirmCommunity() {
|
||||
|
||||
},
|
||||
addEditGood(servItem) {
|
||||
let params = '';
|
||||
if (servItem != null) {
|
||||
params = '?goodId=' + servItem.id
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: '/pages/my/new-serv' + params
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
<view class="solid-top">
|
||||
<view class="cu-form-group">
|
||||
<view class="title">选择类目</view>
|
||||
<picker :mode="'multiSelector'" @change="categoryChange" :value="categoryMultiIndex" :range-key="'name'" :range="categoryList">
|
||||
<input class="line-input radius-input" :value="formData.category && formData.category.length ? formData.category[0].name + '-' + formData.category[1].name + '-' + formData.category[2].name : ''"
|
||||
<picker :mode="'multiSelector'" @change="categoryChange" @columnchange="categoryColChange" :value="categoryMultiIndex" :range-key="'goodsCategoryName'" :range="categoryList">
|
||||
<input class="line-input radius-input" :value="formData.category && formData.category.length ? formData.category[0].goodsCategoryName + '-' + formData.category[1].goodsCategoryName + '-' + formData.category[2].goodsCategoryName : ''"
|
||||
placeholder="请选择类目"></input>
|
||||
</picker>
|
||||
</view>
|
||||
|
|
@ -202,14 +202,33 @@
|
|||
}]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.loadData();
|
||||
onLoad(options) {
|
||||
let goodId = null;
|
||||
if (options && options.goodId) {
|
||||
goodId = options.goodId;
|
||||
}
|
||||
this.loadData(goodId);
|
||||
},
|
||||
methods: {
|
||||
async loadData() {
|
||||
this.categoryList = await this.$api.data('categoryList');
|
||||
async loadData(goodId) {
|
||||
this.loadCategoryList();
|
||||
// TODO 如果存在goodId说明是修改,需要查询good信息进行回显
|
||||
// this.categoryList = await this.$api.data('categoryList');
|
||||
this.regionList = await this.$api.data('regionList');
|
||||
},
|
||||
async loadCategoryList(idArr) {
|
||||
let typeList = await this.$request.listByStep();
|
||||
typeList = typeList.data;
|
||||
let col1Id = idArr ? idArr[0] : typeList[0].goodsCategoryId;
|
||||
let subTypeList = await this.$request.listByStep({ goodsCategoryId: col1Id });
|
||||
subTypeList = subTypeList.data;
|
||||
let col2Id = idArr ? idArr[1] : subTypeList[0].goodsCategoryId;
|
||||
let subSubTypeList = await this.$request.listByStep({ goodsCategoryId: col2Id });
|
||||
subSubTypeList = subSubTypeList.data;
|
||||
this.categoryList.push(typeList);
|
||||
this.categoryList.push(subTypeList);
|
||||
this.categoryList.push(subSubTypeList);
|
||||
},
|
||||
async categoryChange(e) {
|
||||
this.categoryMultiIndex = e.detail.value;
|
||||
let chosenCategory = [];
|
||||
|
|
@ -220,6 +239,28 @@
|
|||
|
||||
this.formData.specsList = await this.$api.data('specsList');
|
||||
},
|
||||
async categoryColChange(e) {
|
||||
let colObj = e.detail;
|
||||
if (colObj.column == 0) {
|
||||
// 通过一级查询二级,通过二级查三级
|
||||
let subTypeList = await this.$request.listByStep({goodsCategoryId: this.categoryList[0][colObj.value].goodsCategoryId});
|
||||
subTypeList = subTypeList.data;
|
||||
let subSubTypeList = await this.$request.listByStep({ goodsCategoryId: subTypeList[0].goodsCategoryId });
|
||||
subSubTypeList = subSubTypeList.data;
|
||||
this.categoryList.pop();
|
||||
this.categoryList.pop();
|
||||
this.categoryList.push(subTypeList);
|
||||
this.categoryList.push(subSubTypeList);
|
||||
this.categoryMultiIndex = [colObj.value, 0, 0];
|
||||
} else if (colObj.column == 1) {
|
||||
// 通过二级查三级
|
||||
let subSubTypeList = await this.$request.listByStep({ goodsCategoryId: this.categoryList[1][colObj.value].goodsCategoryId });
|
||||
subSubTypeList = subSubTypeList.data;
|
||||
this.categoryList.pop();
|
||||
this.categoryList.push(subSubTypeList);
|
||||
this.categoryMultiIndex = [this.categoryMultiIndex[0], colObj.value, 0];
|
||||
}
|
||||
},
|
||||
async regionChange(e) {
|
||||
this.regionMultiIndex = e.detail.value;
|
||||
let chosenRegion = [];
|
||||
|
|
|
|||
Loading…
Reference in New Issue