|
|
@@ -4,28 +4,50 @@
|
|
|
<!-- 顶部条 -->
|
|
|
<van-nav-bar class="navBar" title="客户详情" left-arrow @click-left="onClickLeft">
|
|
|
<template #right>
|
|
|
- <span
|
|
|
- style="color: #0057ba"
|
|
|
- v-if="list.updatable && list.validFlag == 2"
|
|
|
- @click="placeOrderFn"
|
|
|
- >去下单</span
|
|
|
- >
|
|
|
- <span
|
|
|
- style="color: #0057ba"
|
|
|
- v-if="list.updatable && list.validFlag != 2 && type != 'address'"
|
|
|
- @click="editorFn"
|
|
|
- >编辑</span
|
|
|
- >
|
|
|
+ <!-- 未结案状态下 已提交/未提交 -->
|
|
|
+ <template v-if="list.storeType == '未结案'">
|
|
|
+ <!-- 已提交状态禁止操作 -->
|
|
|
+ <template v-if="list.submit"></template>
|
|
|
+ <!-- 未提交 -->
|
|
|
+ <template v-if="!list.submit">
|
|
|
+ <span
|
|
|
+ style="color: #0057ba"
|
|
|
+ v-if="list.updatable && list.validFlag != 2 && type != 'address'"
|
|
|
+ @click="editorFn"
|
|
|
+ >编辑
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <span
|
|
|
+ style="color: #0057ba"
|
|
|
+ v-if="list.updatable && list.validFlag == 2"
|
|
|
+ @click="placeOrderFn"
|
|
|
+ >去下单
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ style="color: #0057ba"
|
|
|
+ v-if="list.updatable && list.validFlag != 2 && type != 'address'"
|
|
|
+ @click="editorFn"
|
|
|
+ >编辑
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</van-nav-bar>
|
|
|
</div>
|
|
|
<!--主体内容-->
|
|
|
- <div style="margin-top: 44px" v-if="pageShow">
|
|
|
+ <div style="margin-top: 44px; padding-bottom: 50px" v-if="pageShow">
|
|
|
<van-dialog title="门店位置">
|
|
|
<mapmarker :info="list"></mapmarker>
|
|
|
</van-dialog>
|
|
|
<van-tabs class="myTab" v-model="tabVal" color="#0057ba" @change="tabChange">
|
|
|
<van-tab title="基础信息" name="insidePlan" ref="dispsps">
|
|
|
+ <!-- 提交审批后被驳回 -->
|
|
|
+ <div class="rejectMsg" v-if="rejectMsg[0] && '退回状态'">
|
|
|
+ <span class="label">退回原因</span>
|
|
|
+ <span class="value">{{ rejectMsg[0].rejectCause }}</span>
|
|
|
+ <span class="examineDetail" @click="examineDetail">查看详情</span>
|
|
|
+ </div>
|
|
|
<van-field readonly v-model="list.storeCode" label="编号" />
|
|
|
<van-field readonly v-if="DIYshow" v-model="list.attribute1" label="DIY编号" />
|
|
|
<van-field readonly v-model="list.storeName" :label="storeName" />
|
|
|
@@ -196,6 +218,24 @@
|
|
|
:type="1"></upload-img>
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
+ <van-collapse v-model="activeNames" class="orderList">
|
|
|
+ <van-collapse-item title="门店下单记录" name="1">
|
|
|
+ <div class="orderItem" v-for="(item, index) in orderList" :key="index">
|
|
|
+ <div class="orderTitle">
|
|
|
+ {{ item.orderNum }} | {{ item.createTime }} | {{ item.state }}
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :data="item.productDetail"
|
|
|
+ border
|
|
|
+ class="table-headermd table-headermdhome"
|
|
|
+ style="width: 100%">
|
|
|
+ <el-table-column label="产品名称" prop="productName" />
|
|
|
+ <el-table-column label="数量" prop="productNum" width="80px" />
|
|
|
+ <el-table-column label="单价" prop="price" width="80px" />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </van-collapse-item>
|
|
|
+ </van-collapse>
|
|
|
</van-tab>
|
|
|
<van-tab title="属性信息" name="outsidePlan">
|
|
|
<van-field readonly label="属性" v-if="dictTypeFormShow" v-model="list.tcfxName" />
|
|
|
@@ -240,6 +280,11 @@
|
|
|
<br />
|
|
|
<br />
|
|
|
<br />
|
|
|
+ <!-- 未结案 未提交状态下可关闭门店、提交审核 -->
|
|
|
+ <div class="bottomBtn">
|
|
|
+ <van-button color="red" round>撤销建店</van-button>
|
|
|
+ <van-button type="primary" round>提交审核</van-button>
|
|
|
+ </div>
|
|
|
<div
|
|
|
style="
|
|
|
position: fixed;
|
|
|
@@ -375,6 +420,28 @@
|
|
|
<div class="helpPageMask" v-if="helpPageFlag">
|
|
|
<helpPage @btnClick="btnClick"></helpPage>
|
|
|
</div>
|
|
|
+ <!-- 提交审核 退回原因 -->
|
|
|
+ <van-popup v-model="rejectMsgShow" class="rejectMsgBox" round position="bottom">
|
|
|
+ <!-- <div class="rejectMsgBox"> -->
|
|
|
+ <div class="title">退回详情</div>
|
|
|
+ <div class="content">
|
|
|
+ <div class="rejectMsgItem" v-for="(item, index) in rejectMsg" :key="index">
|
|
|
+ <div class="item approver">
|
|
|
+ <span class="label">审批人:</span>
|
|
|
+ <span class="value">{{ item.approver }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item approvalTime">
|
|
|
+ <span class="label">审批时间:</span>
|
|
|
+ <span class="value">{{ item.approvalTime }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="item rejectCause">
|
|
|
+ <span class="label">退回原因:</span>
|
|
|
+ <span class="value">{{ item.rejectCause }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- </div> -->
|
|
|
+ </div>
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -476,20 +543,93 @@ export default {
|
|
|
pLot: '',
|
|
|
poiName: '',
|
|
|
helpPageFlag: false, //提交修改 不通过 点击帮助弹出框
|
|
|
+ rejectMsgShow: false,
|
|
|
+ //退回原因
|
|
|
+ rejectMsg: [
|
|
|
+ {
|
|
|
+ approver: '测试111',
|
|
|
+ approvalTime: '2020-08-06 15:08:08',
|
|
|
+ rejectCause: '测试222',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ approver: '测试111',
|
|
|
+ approvalTime: '2020-08-06 15:08:08',
|
|
|
+ rejectCause: '测试222',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ approver: '测试111',
|
|
|
+ approvalTime: '2020-08-06 15:08:08',
|
|
|
+ rejectCause: '测试222',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ approver: '测试111',
|
|
|
+ approvalTime: '2020-08-06 15:08:08',
|
|
|
+ rejectCause: '测试222',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ activeNames: [],
|
|
|
+ orderList: [
|
|
|
+ {
|
|
|
+ orderNum: 'D2323523532',
|
|
|
+ createTime: '2020-08-06 15:08:08',
|
|
|
+ state: '待确认',
|
|
|
+ productDetail: [
|
|
|
+ {
|
|
|
+ productName: '外墙平油',
|
|
|
+ productNum: '1',
|
|
|
+ price: '100',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ productName: '外墙平油',
|
|
|
+ productNum: '1',
|
|
|
+ price: '100',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ productName: '外墙平油',
|
|
|
+ productNum: '1',
|
|
|
+ price: '100',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ orderNum: 'D2323523532',
|
|
|
+ createTime: '2020-08-06 15:08:08',
|
|
|
+ state: '已签收',
|
|
|
+ productDetail: [
|
|
|
+ {
|
|
|
+ productName: '外墙平油',
|
|
|
+ productNum: '1',
|
|
|
+ price: '100',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ orderNum: 'D2323523532',
|
|
|
+ createTime: '2020-08-06 15:08:08',
|
|
|
+ state: '已签收',
|
|
|
+ productDetail: [
|
|
|
+ {
|
|
|
+ productName: '外墙平油',
|
|
|
+ productNum: '1',
|
|
|
+ price: '100',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
- this.detilId = this.$route.query.detilId;
|
|
|
- this.type = this.$route.query.type;
|
|
|
- this.getTCFXList();
|
|
|
- this.getSJSList();
|
|
|
- this.getQGJZist();
|
|
|
- this.getCustomerInfoList();
|
|
|
- this.getManagementModelList();
|
|
|
- this.getMainRelationList();
|
|
|
- this.getMainProjectList();
|
|
|
- this.getCustomerNatureList();
|
|
|
- this.getpotentialCustomerTypeList();
|
|
|
+ // this.detilId = this.$route.query.detilId;
|
|
|
+ // this.type = this.$route.query.type;
|
|
|
+ // this.getTCFXList();
|
|
|
+ // this.getSJSList();
|
|
|
+ // this.getQGJZist();
|
|
|
+ // this.getCustomerInfoList();
|
|
|
+ // this.getManagementModelList();
|
|
|
+ // this.getMainRelationList();
|
|
|
+ // this.getMainProjectList();
|
|
|
+ // this.getCustomerNatureList();
|
|
|
+ // this.getpotentialCustomerTypeList();
|
|
|
},
|
|
|
activated() {
|
|
|
this.showmap = false;
|
|
|
@@ -504,7 +644,7 @@ export default {
|
|
|
this.getTCFXList();
|
|
|
this.getSJSList();
|
|
|
this.getQGJZist();
|
|
|
- this.getStoreTypeList();
|
|
|
+ this.getStoreType();
|
|
|
this.getpotentialCustomerTypeList();
|
|
|
this.visitListList = [];
|
|
|
this.getStreetQuery('');
|
|
|
@@ -1204,7 +1344,7 @@ export default {
|
|
|
deleteImgs(val) {
|
|
|
ImagePreview([val]);
|
|
|
},
|
|
|
- getStoreTypeList() {
|
|
|
+ getStoreType() {
|
|
|
// 先授权
|
|
|
getTicketFun().then(() => {
|
|
|
if (localStorage.getItem('storeType') == '2') {
|
|
|
@@ -1344,85 +1484,6 @@ export default {
|
|
|
.catch((err) => {
|
|
|
console.log(err);
|
|
|
});
|
|
|
- // let loading1 = this.$toast.loading({
|
|
|
- // duration: 0,
|
|
|
- // message: "定位中...",
|
|
|
- // forbidClick: true,
|
|
|
- // });
|
|
|
- // let url = window.location.href;
|
|
|
- // // let url = "https://ssbsfatest.nipponpaint.com.cn/mobile" + window.location.href.split("/mobile")[1]
|
|
|
- // let that = this;
|
|
|
- // let qiyeData;
|
|
|
- // const instance = axios.create();
|
|
|
- // instance.defaults.headers.common["userId"] = localStorage.getItem("loginName");
|
|
|
- // instance
|
|
|
- // .get(process.env.VUE_APP_BASE_API + "mobile/wx/ticket", {
|
|
|
- // params: {
|
|
|
- // url: url,
|
|
|
- // },
|
|
|
- // })
|
|
|
- // .then((response) => {
|
|
|
- // if (response.status == 200) {
|
|
|
- // this.cont = 6;
|
|
|
- // var flat = true;
|
|
|
- // var times = setInterval(() => {
|
|
|
- // this.cont--;
|
|
|
- // if (this.cont == "0") {
|
|
|
- // if (flat) {
|
|
|
- // loading1.clear();
|
|
|
- // clearInterval(times);
|
|
|
- // that.$dialog
|
|
|
- // .alert({
|
|
|
- // message: "定位失败,请开启企微定位权限",
|
|
|
- // })
|
|
|
- // .then(() => {
|
|
|
- // this.$router.go(-1);
|
|
|
- // });
|
|
|
- // } else {
|
|
|
- // clearInterval(times);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }, 1000);
|
|
|
- // qiyeData = response.data.data;
|
|
|
- // that.wx.config({
|
|
|
- // beta: true,
|
|
|
- // debug: false,
|
|
|
- // appId: qiyeData.appId,
|
|
|
- // timestamp: qiyeData.timestamp,
|
|
|
- // nonceStr: qiyeData.nonceStr,
|
|
|
- // signature: qiyeData.signature,
|
|
|
- // jsApiList: ["ready", "getLocation"],
|
|
|
- // });
|
|
|
- // that.wx.ready(function () {
|
|
|
- // that.wx.getLocation({
|
|
|
- // type: "gcj02",
|
|
|
- // success: function (res) {
|
|
|
- // flat = false;
|
|
|
- // loading1.clear();
|
|
|
- // var location = that.CJ02BD(res.latitude, res.longitude);
|
|
|
- // that.lat = location.lat;
|
|
|
- // that.lon = location.lon;
|
|
|
- // that.myLat = location.lat;
|
|
|
- // that.myLon = location.lon;
|
|
|
- // that.list.lon = location.lon;
|
|
|
- // that.list.lat = location.lat;
|
|
|
- // },
|
|
|
- // fail: function () {
|
|
|
- // loading1.clear();
|
|
|
- // that.$dialog.alert({
|
|
|
- // title: "系统提示",
|
|
|
- // message: "GPS未开启",
|
|
|
- // });
|
|
|
- // },
|
|
|
- // });
|
|
|
- // });
|
|
|
- // that.wx.error(function (res) {
|
|
|
- // this.$toast.fail("定位失败");
|
|
|
- // });
|
|
|
- // } else {
|
|
|
- // this.$toast.fail("接口异常");
|
|
|
- // }
|
|
|
- // });
|
|
|
} else {
|
|
|
this.$toast.fail(res.msg);
|
|
|
}
|
|
|
@@ -1610,6 +1671,10 @@ export default {
|
|
|
btnClick() {
|
|
|
this.helpPageFlag = false;
|
|
|
},
|
|
|
+ // 退回原因查看详情
|
|
|
+ examineDetail() {
|
|
|
+ this.rejectMsgShow = true;
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
@@ -1632,7 +1697,7 @@ export default {
|
|
|
.helpPageMask {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
- background: rgba($color: #747474, $alpha: 0.8);
|
|
|
+ background: rgba(116, 116, 116, 0.8);
|
|
|
position: fixed;
|
|
|
z-index: 100000;
|
|
|
top: 0;
|
|
|
@@ -1643,11 +1708,102 @@ export default {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
}
|
|
|
+.bottomBtn {
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+ height: 50px;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: space-around;
|
|
|
+ .van-button {
|
|
|
+ /* flex: 1; */
|
|
|
+ width: 40%;
|
|
|
+ }
|
|
|
+}
|
|
|
+.rejectMsg {
|
|
|
+ position: sticky;
|
|
|
+ top: 46px;
|
|
|
+ z-index: 10;
|
|
|
+ display: flex;
|
|
|
+ box-sizing: border-box;
|
|
|
+ width: 100%;
|
|
|
+ padding: 10px 16px;
|
|
|
+ overflow: hidden;
|
|
|
+ color: #323233;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 24px;
|
|
|
+ background-color: #f5daac;
|
|
|
+ font-weight: 600;
|
|
|
+ .label {
|
|
|
+ width: 6.2em;
|
|
|
+ margin-right: 12px;
|
|
|
+ }
|
|
|
+ .value {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ .examineDetail {
|
|
|
+ width: 90px;
|
|
|
+ color: #0057ba;
|
|
|
+ }
|
|
|
+}
|
|
|
+.rejectMsgBox {
|
|
|
+ min-height: 30%;
|
|
|
+ max-height: 50%;
|
|
|
+ padding: 10px 20px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ overflow: hidden;
|
|
|
+ .title {
|
|
|
+ padding: 10px 0;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600px;
|
|
|
+ }
|
|
|
+ .content {
|
|
|
+ flex: 1;
|
|
|
+ overflow-y: auto;
|
|
|
+ .rejectMsgItem {
|
|
|
+ margin-bottom: 20px;
|
|
|
+ .item {
|
|
|
+ padding: 5px 0;
|
|
|
+ span {
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .label {
|
|
|
+ width: 80px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
+ .value {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.orderList {
|
|
|
+ .orderItem {
|
|
|
+ .orderTitle {
|
|
|
+ padding: 5px 0;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #000;
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ width: 8px;
|
|
|
+ height: 8px;
|
|
|
+ background: red;
|
|
|
+ border-radius: 50%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|
|
|
<style lang="scss">
|
|
|
.searchDiv {
|
|
|
.van-search {
|
|
|
- // background: #fff;
|
|
|
+ /* // background: #fff; */
|
|
|
}
|
|
|
.van-search__action {
|
|
|
font-size: 14px;
|