Просмотр исходного кода

commit - m 报备 行为记录

zhengjinyi 2 лет назад
Родитель
Сommit
a2afd5a751

+ 9 - 4
components/cm-module/cm-seller/cm-goods-popup.vue

@@ -51,7 +51,7 @@
 					</scroll-view>
 				</view>
 				<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-					<view class="tui-flex-1"> <view class="tui-button" @click="hidePopup">确定</view> </view>
+					<view class="tui-flex-1"> <view class="tui-button" @click="confirmPopup">确定</view> </view>
 				</view>
 			</view>
 		</tui-bottom-popup>
@@ -123,7 +123,10 @@ export default {
 			this.listQuery.name = ''
 			this.isShowClose = false
 		},
-		hidePopup() {
+		hidePopup(){
+			this.$parent.isGoodspopup = false
+		},
+		confirmPopup() {
 			let goods = null
 			let checkedData = false
 			this.dataList.forEach((el, index) => {
@@ -132,9 +135,11 @@ export default {
 					checkedData = true
 				}
 			})
-			if (checkedData) {
-				this.$emit('handleChoiceaGoods', goods)
+			if(!checkedData){
+				this.$util.msg('请选择商品~', 2000)
+				return
 			}
+			this.$emit('handleChoiceaGoods', goods)
 			this.$parent.isGoodspopup = false
 		}
 	}

+ 34 - 17
components/cm-module/cm-seller/cm-report-popup.vue

@@ -14,7 +14,7 @@
 								confirm-type="search"
 								v-model="listQuery.keyWord"
 								@input="onShowClose"
-								@confirm="initclubList()"
+								@confirm="userClubReportList()"
 								placeholder="搜索商品名称 / 报备关键词"
 								maxlength="16"
 							/>
@@ -27,7 +27,7 @@
 								v-for="(report, index) in dataList"
 								:key="index"
 								class="list clearfix"
-								@click.stop="checkedCoupon(index)"
+								@click.stop="details(report.reportId)"
 							>
 								<view
 									class="list-cell-icon"
@@ -44,7 +44,11 @@
 									<view class="list-cell-p"> {{ report.addTime }} </view>
 								</view>
 								<view class="list-cell-content clearfix">
-									<view class="tui-remarks-text" v-if="!report.productId"> {{ report.reportText }} </view>
+									<view class="tui-remarks-text" v-if="!report.productId">
+										<view class="text">
+											{{ report.reportText }}
+										</view>
+									</view>
 									<view class="tui-remarks-goods" v-else>
 										<view class="goods-image">
 											<image :src="report.mainImage" mode=""></image>
@@ -55,7 +59,7 @@
 										</view>
 									</view>
 									
-									<view class="list-cell-btn">
+									<view class="list-cell-btn" @click.stop="checkedCoupon(index)">
 										<view
 											class="checkbox iconfont"
 											:class="[report.ischecked ? 'icon-yixuanze' : 'icon-weixuanze']"
@@ -73,7 +77,7 @@
 					</view>
 				</template>
 				<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
-					<view class="tui-flex-1"> <view class="tui-button" @click="hidePopup">确定</view> </view>
+					<view class="tui-flex-1"> <view class="tui-button" @click="confirmPopup">确定</view> </view>
 					<view class="tui-flex-1">
 						<view class="tui-button-text" @click="handleAddReport">新建报备 ></view>
 					</view>
@@ -167,6 +171,9 @@ export default {
 				this.$util.msg(error.msg, 2000)
 			})
 		},
+		details(reportId) {
+			this.$api.navigateTo(`/pages/seller/remarks/report-details?reportId=${reportId}`)
+		},
 		checkedCoupon(idx) {
 			// 选择商品
 			this.checkedIndex = idx
@@ -196,7 +203,10 @@ export default {
 			this.listQuery.name = ''
 			this.isShowClose = false
 		},
-		hidePopup() {
+		hidePopup(){// 隐藏弹窗
+			this.$parent.isReportpopup = false
+		},
+		confirmPopup() {// 确认选择
 			let report = null
 			let checkedData = false
 			this.dataList.forEach((el, index) => {
@@ -205,9 +215,11 @@ export default {
 					checkedData = true
 				}
 			})
-			if (checkedData) {
-				this.$emit('handleChoiceaReport', report)
+			if(!checkedData){
+				this.$util.msg('请选择报备~', 2000)
+				return
 			}
+			this.$emit('handleChoiceaReport', report)
 			this.$parent.isReportpopup = false
 		}
 	}
@@ -390,15 +402,20 @@ export default {
 						box-sizing: border-box;
 						padding: 20rpx 20rpx 20rpx 0;
 						border-radius: 6rpx;
-						line-height: 42rpx;
-						color: #999999;
-						text-overflow: ellipsis;
-						overflow: hidden;
-						display: -webkit-box;
-						-webkit-line-clamp: 3;
-						line-clamp: 3;
-						-webkit-box-orient: vertical;
-						font-size: 26rpx;
+						.text{
+							width: 100%;
+							height: 100%;
+							box-sizing: border-box;
+							line-height: 42rpx;
+							color: #333333;
+							text-overflow: ellipsis;
+							overflow: hidden;
+							display: -webkit-box;
+							-webkit-line-clamp: 3;
+							line-clamp: 3;
+							-webkit-box-orient: vertical;
+							font-size: 26rpx;
+						}
 					}
 					.tui-remarks-goods {
 						width: 646rpx;

+ 6 - 0
pages.json

@@ -665,6 +665,12 @@
 						"navigationBarTitleText": "邀请运营人员"
 					}
 				},
+				{
+					"path": "club/club-info",
+					"style": {
+						"navigationBarTitleText": "机构信息"
+					}
+				},
 				{
 					"path": "login/register",
 					"style": {

+ 279 - 0
pages/seller/club/club-info.vue

@@ -0,0 +1,279 @@
+<template>
+	<view class="container club-info">
+		<tui-skeleton
+			v-if="skeletonShow"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		></tui-skeleton>
+		<template v-else>
+			<view class="info-header clearfix" v-if="clubInfo.describe">
+				<view class="pp"
+					>描述:<text>{{ clubInfo.describe }}</text></view
+				>
+			</view>
+			<view class="info-content clearfix">
+				<view class="info-title">
+					<view class="info-title-left">
+						<view
+							>机构资料:<text>{{ clubInfo.userIdentity === 2 ? '资质机构' : '普通机构' }}</text></view
+						>
+					</view>
+					<view class="info-title-right">
+						<view v-if="clubInfo.spType === 0">待分配销售</view>
+						<view v-else>已分配销售:{{ saleName }}</view>
+					</view>
+				</view>
+				<view class="info-main">
+					<view class="info-h1">注册信息</view>
+					<view class="info-p"
+						>联系人:<text>{{ clubInfo.linkMan }}</text></view
+					>
+					<view class="info-p"
+						>手机号:<text>{{ clubInfo.contractMobile }}</text></view
+					>
+				</view>
+				<view class="info-main">
+					<view class="info-h1">注册信息</view>
+					<view class="info-p"
+						>机构名称:<text>{{ clubInfo.name }}</text></view
+					>
+					<view class="info-p"
+						>机构简称:<text>{{ clubInfo.shortName }}</text></view
+					>
+					<view class="info-p"
+						>邮箱:<text>{{ clubInfo.contractEmail }}</text></view
+					>
+					<view class="info-p"
+						>联系地址:<text>{{ clubInfo.provincialAddress }}{{ clubInfo.address }}</text></view
+					>
+					<view class="info-p"
+						>营业执照编号:<text>{{ clubInfo.socialCreditCode }}</text></view
+					>
+					<view class="info-p">营业执照:</view>
+					<view class="info-img"><image :src="clubInfo.businessLicense" alt=""/></view>
+					<view class="info-p">门头照:</view>
+					<view class="info-img"><image :src="clubInfo.shopPhoto" alt=""/></view>
+					<view class="info-p"
+						>机构类型:<text>{{ clubInfo.firstClubType | FirstFormat }}</text></view
+					>
+					<view class="info-p">医疗许可证:</view>
+					<view class="info-img"><image :src="clubInfo.medicalPracticeLicense" alt=""/></view>
+					<view class="info-p"
+						>科室:<text>{{ clubInfo.secondClubType | TwoFormat }}</text></view
+					>
+					<view class="info-p"
+						>主营内容:<text>{{ clubInfo.mainProduct }}</text></view
+					>
+				</view>
+				<view class="info-main">
+					<view class="info-h1">其他信息</view>
+					<view class="info-p"
+						>固定电话:<text>{{ clubInfo.contractPhone }}</text></view
+					>
+					<view class="info-p"
+						>传真:<text>{{ clubInfo.fax }}</text></view
+					>
+					<view class="info-p"
+						>公司介绍:<text>{{ clubInfo.profile }}</text></view
+					>
+				</view>
+			</view>
+		</template>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+export default {
+	data() {
+		return {
+			skeletonShow: true,
+			clubId: 0,
+			saleName: ''
+		}
+	},
+	filters: {},
+	onLoad(option) {
+		this.clubId = option.clubId
+		this.userClubRecordLinkage(this.clubId)
+	},
+	filters: {
+		FirstFormat: function(type) {
+			//处理金额
+			let name = ''
+			switch (type) {
+				case 1:
+					name = '医美'
+					break
+				case 2:
+					name = '生美'
+					break
+				case 3:
+					name = '项目公司'
+					break
+				case 4:
+					name = '个人'
+					break
+				case 5:
+					name = '其他'
+					break
+			}
+			return name
+		},
+		TwoFormat: function(type) {
+			//处理金额
+			let text = ''
+			switch (type) {
+				case 1:
+					text = '诊所'
+					break
+				case 2:
+					text = '门诊'
+					break
+				case 3:
+					text = '医院'
+					break
+			}
+			return text
+		}
+	},
+	methods: {
+		userClubRecordLinkage() {
+			//查询机构信息
+			console.log('=========<查询机构信息>===========')
+			this.SellerService.userClubRecordLinkage({ clubId: this.clubId })
+				.then(response => {
+					this.clubInfo = response.data.club
+					this.saleName = response.data.saleName
+					setTimeout(() => {
+						this.skeletonShow = false
+					}, 1000)
+				})
+				.catch(error => {
+					this.isInvalid = true
+				})
+		}
+	},
+	onShow() {}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: auto;
+}
+.club-info {
+	width: 100%;
+	.info-header {
+		width: 100%;
+		height: auto;
+		padding: 24rpx;
+		float: left;
+		box-sizing: border-box;
+		background-color: #ffffff;
+		.pp {
+			width: 100%;
+			font-size: 26rpx;
+			line-height: 44rpx;
+			font-weight: bold;
+			color: #333333;
+			text {
+				font-size: 26rpx;
+				color: #666666;
+				font-weight: normal;
+				line-height: 66rpx;
+			}
+		}
+	}
+	.info-content {
+		width: 100%;
+		height: auto;
+		float: left;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+		background-color: #ffffff;
+		.info-title {
+			width: 100%;
+			height: 68rpx;
+			border-bottom: 1px solid #f0f0f0;
+			.info-title-left {
+				width: 50%;
+				height: 68rpx;
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #333333;
+				float: left;
+				line-height: 68rpx;
+				text {
+					display: inline-block;
+					padding: 0 16rpx;
+					line-height: 40rpx;
+					background-color: #fff2d5;
+					font-size: 24rpx;
+					border-radius: 20rpx;
+					color: #e4aa43;
+					text-align: center;
+					margin-left: 16rpx;
+					font-weight: normal;
+				}
+			}
+			.info-title-right {
+				width: 50%;
+				height: 68rpx;
+				float: right;
+				line-height: 68rpx;
+				font-size: 24rpx;
+				color: #999999;
+				text-align: right;
+			}
+		}
+		.info-main {
+			width: 100%;
+			height: auto;
+			.info-h1 {
+				width: 100%;
+				box-sizing: border-box;
+				padding: 0 24rpx;
+				position: relative;
+				line-height: 80rpx;
+				font-size: 30rpx;
+				color: #333333;
+				&:before {
+					content: '';
+					width: 6rpx;
+					height: 24rpx;
+					background-color: #e15616;
+					position: absolute;
+					left: 0;
+					top: 22rpx;
+				}
+			}
+			.info-p {
+				width: 100%;
+				box-sizing: border-box;
+				padding: 0 24rpx;
+				position: relative;
+				line-height: 66rpx;
+				font-size: 30rpx;
+				color: #999999;
+				text {
+					color: #333333;
+				}
+			}
+			.info-img {
+				width: 200rpx;
+				height: 200rpx;
+				image {
+					width: 200rpx;
+					height: 200rpx;
+					display: block;
+					margin-left: 24rpx;
+					border: 1px dashed #e2e2e2;
+				}
+			}
+		}
+	}
+}
+</style>

+ 8 - 2
pages/seller/club/list.vue

@@ -59,7 +59,7 @@
 								{{ club.userIdentity === 2 ? club.name : club.linkMan }}
 								<text class="tags" v-if="club.vipFlag == 0 && club.userIdentity === 2 ">VIP</text>
 								<text class="tags sv" v-if="club.vipFlag == 1">SVIP</text>
-								<text class="tags xf">新分配</text>
+								<text class="tags xf" v-if="club.newDeal === 1">新分配</text>
 							</view>
 							<view class="list-ntel">
 								<text class="list-link">{{ club.linkMan ? club.linkMan : '' }}</text>
@@ -76,6 +76,7 @@
 										{{ showBadge(club.orderNum) }}
 									</text>
 								</view>
+								<view class="btn org" @click.stop="handleClubinfo(club)" v-if="club.recordCount === 1">注册行为记录</view>
 							</view>
 						</view>
 					</view>
@@ -288,6 +289,10 @@ export default {
 			this.$api.setStorage('orderUserInfo', club)
 			this.$api.navigateTo(`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0`)
 		},
+		handleClubinfo(club){
+			//跳转机构信息
+			this.$api.navigateTo(`/pages/seller/club/club-info?clubId=${club.clubId}`)
+		},
 		onShowClose() {
 			//输入框失去焦点时触发
 			if (this.searchInputVal != '') {
@@ -522,8 +527,9 @@ page,
 				float: left;
 				margin-top: 20rpx;
 				.btn {
-					width: 160rpx;
 					height: 60rpx;
+					box-sizing: border-box;
+					padding: 0 15rpx;
 					line-height: 60rpx;
 					border-radius: 30rpx;
 					font-size: $font-size-24;

+ 0 - 4
pages/seller/remarks/add.vue

@@ -508,10 +508,6 @@ export default {
 				this.$util.msg('请输入关键词记录', 2000)
 				return
 			}
-			if (this.remarksParams.productId === 0) {
-				this.$util.msg('请选择商品', 2000)
-				return
-			}
 			if (!this.remarksParams.pinceSensitve) {
 				this.$util.msg('请选择价格敏感度', 2000)
 				return

+ 2 - 2
pages/seller/remarks/details.vue

@@ -41,8 +41,8 @@
 					机构类型:<text>{{ remarksParams.clubType ? remarksParams.clubType : '无' }}</text>
 				</view>
 			</view>
-			<view class="list-view-title"> <view class="list-view-h1">咨询商品:</view> </view>
-			<view class="tui-remarks-content">
+			<view class="list-view-title" v-if="remarksParams.productName"> <view class="list-view-h1">咨询商品:</view> </view>
+			<view class="tui-remarks-content" v-if="remarksParams.productName">
 				<view class="tui-remarks-goods">
 					<view class="goods-image"> <image :src="remarksParams.mainImage" mode=""></image> </view>
 					<view class="goods-main">

+ 2 - 2
pages/seller/remarks/record-details.vue

@@ -16,8 +16,8 @@
 					机构类型:<text>{{ remarksParams.clubType ? remarksParams.clubType : '无' }}</text>
 				</view>
 			</view>
-			<view class="list-view-title"> <view class="list-view-h1">咨询商品:</view> </view>
-			<view class="tui-remarks-content">
+			<view class="list-view-title" v-if="remarksParams.productName"> <view class="list-view-h1">咨询商品:</view> </view>
+			<view class="tui-remarks-content" v-if="remarksParams.productName">
 				<view class="tui-remarks-goods">
 					<view class="goods-image"> <image :src="remarksParams.mainImage" mode=""></image> </view>
 					<view class="goods-main">

+ 8 - 0
pages/seller/remarks/report-add.vue

@@ -142,9 +142,17 @@ export default {
 			// 确定提交保存
 			switch (this.handleType) {
 				case '1': // 机构报备保存
+					if (this.reportClubParams.reportText == '') {
+						this.$util.msg('请输入报备事由', 2000)
+						return
+					}
 					this.userClubReportSave()
 					break
 				case '2': // 咨询人报备保存
+					if (this.reportParams.reportText == '') {
+						this.$util.msg('请输入报备事由', 2000)
+						return
+					}
 					this.userReportVisitorSave()
 					break
 			}

+ 1 - 1
pages/seller/remarks/report-details.vue

@@ -29,7 +29,7 @@
 				<view class="list-view-h1">报备时间:{{ reportParams.addTime }}</view>
 			</view>
 			<view class="list-view-title"> <view class="list-view-h1">报备商品:</view> </view>
-			<view class="tui-remarks-content">
+			<view class="tui-remarks-content" v-if="reportParams.productId">
 				<view class="tui-remarks-goods">
 					<view class="goods-image"> <image :src="reportParams.mainImage" mode=""></image> </view>
 					<view class="goods-main">

+ 2 - 2
services/config.env.js

@@ -3,8 +3,8 @@ if(process.env.NODE_ENV === 'development'){
     // 开发环境
     // URL_CONFIG = 'http://192.168.2.67:18002'	 //智捷联调地址
     // URL_CONFIG = 'http://192.168.2.68:18002'	 //涛涛联调地址
-    URL_CONFIG = 'http://192.168.2.180:18002' //超超联调地址
-    // URL_CONFIG = 'https://core-b.caimei365.com'
+    // URL_CONFIG = 'http://192.168.2.180:18002' //超超联调地址
+    URL_CONFIG = 'https://core-b.caimei365.com'
     // URL_CONFIG = 'https://core.caimei365.com'
 }else{
     // 生产环境

+ 11 - 0
services/sellse.service.js

@@ -106,6 +106,17 @@ export default class SellerService {
             isLoading: true ,
         })
     }
+    /**
+	 *@查询行为记录链接信息
+	 *@param clubId 
+	 */
+    userClubRecordLinkage (data = {}) {
+        return this.AjaxService.get({ 
+            url:'/user/club/recordLinkage', 
+            data, 
+            isLoading: true ,
+        })
+    }
     /**
 	 *@协销订单列表(搜索订单)
 	 *@param listType 订单类型