Jelajahi Sumber

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
修改

1004749546@qq.com 4 tahun lalu
induk
melakukan
c21cbc58de

+ 1 - 2
components/uni-check-list/uni-check-list.vue

@@ -77,6 +77,7 @@ export default {
 	watch: {
 		listData(newValue, oldValue) {
 			this.list = newValue;
+			this.hasCheck();
 		},
 		defValue(newValue) {
 			console.log(newValue)
@@ -89,14 +90,12 @@ export default {
 	},
 	methods: {
 		hasCheck() {
-			console.log(this.value)
 			this.list.map(item => {
 				let a = this.value.findIndex(k=>{
 					return this.backValue == 'idArr' ? k == item.id : k.id == item.id
 				})
 				item.checked = a>=0
 			})
-			this.list.splice()
 		},
 		// 选中
 		chooseItem(item) {

+ 15 - 8
pages.json

@@ -242,8 +242,21 @@
 		{
 			"path": "pages/toDoList/toDoList", //  待办单 > 待办单列表
 			"style": {
-				"navigationStyle": "custom", // 隐藏系统导航栏
-				"navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
+				"navigationBarTitleText": "待办单",
+				"app-plus": {
+					"bounce": "none", //关闭窗口回弹效果
+					"titleNView": {
+						"buttons": [ //原生标题栏按钮配置,
+							{
+								"text": "\ue610 新增", //原生标题栏增加分享按钮,点击事件可通过页面的 onNavigationBarButtonTap 函数进行监听
+								"fontSize": 16,
+								"color": "#eee",
+								"width": "80px",
+								"fontSrc": "/static/iconfont/iconfont.ttf"
+							}
+						]
+					}
+				}
 			}
 		},
 		{
@@ -258,12 +271,6 @@
 				"navigationBarTitleText": "创建问题"
 			}
 		},
-		{
-			"path": "pages/toDoList/choosePutUser", //  待办单 > 选择处理人
-			"style": {
-				"navigationBarTitleText": "选择处理人"
-			}
-		},
 		{
 			"path": "pages/toDoList/chooseReceiveUser", //  待办单 > 选择抄送人
 			"style": {

+ 3 - 1
pages/spotCheckConfigure/evaluateStore.vue

@@ -15,7 +15,7 @@
 	checkIconPositon="right" 
 	:showArrow="false" 
 	:defValue="value" 
-	types="checkbox" 
+	:types="type" 
 	backValue="objArr"
 	@ok="chooseOk">
 	</uni-check-list>
@@ -28,10 +28,12 @@
 			return {
 				list: [],
 				value: [],
+				type: ''  // 单选或多选
 			}
 		},
 		onLoad(opts) {
 			this.value = opts.item&&JSON.parse(opts.item)||[]
+			this.type = opts.type && opts.type || 'checkbox'
 			console.log(this.value)
 			// 查询门店
 			findStoreList({}).then(res=>{

+ 24 - 8
pages/toDoList/addBacklog.vue

@@ -23,10 +23,6 @@
 					<u-input @click="chooseClsName" input-align="right" v-model="form.clsName" disabled placeholder="请选择考评指标" />
 					<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="30" color="#888888"></u-icon>
 				</u-form-item>
-				<u-form-item label="处理人" prop="putUser">
-					<u-input input-align="right" v-model="form.clsName" disabled placeholder="请选择处理人" />
-					<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="30" color="#888888"></u-icon>
-				</u-form-item>
 				<u-form-item label="抄送人" prop="receiveUser"> 
 					<u-input input-align="right" v-model="form.clsName" disabled placeholder="请选择抄送人" />
 					<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="30" color="#888888"></u-icon>
@@ -42,7 +38,17 @@
 		</view>
 		<u-button class="save-btn" type="primary">保存</u-button>
 		<!-- 时间选择器 -->
-		<mx-date-picker class="date-picker" :show="showPicker" type="date" format="yyyy-mm-dd" :value="form.effectiveEndTime" :show-tips="true" @confirm="onSelected" @cancel="showPicker=false" />
+		<w-picker
+		class="date-picker"
+			:visible.sync="showPicker" 
+			mode="date" 
+			:current="true"
+			fields="day"
+			:value="form.effectiveEndTime"
+			@confirm="onSelected($event,'date')"
+			@cancel="showPicker=false"
+			ref="date" 
+		></w-picker>
 	</view>
 </template>
 
@@ -59,19 +65,29 @@
 				showPicker: false, // 是否显示时间弹窗
 				form: {
 					storeName: '', // 门店
+					storeId: '', // 门店id
 					clsName: '',// 考评指标
 					putUser: '', // 处理人
 					receiveUser: '', // 抄送人
 					effectiveEndTime: '' // 整改到期日
 				},
+				storeSelected : [], // 已选门店
 				remarks: '' // 备注
 			}
 		},
 		onLoad(option) {
-			
+			uni.$on('selKpStores',this.setStore)
 		}, 
 		methods: { 
-			// 拍照 或从相册选相片
+			// 获取选择门店
+			setStore (data) {
+				console.log(data,'eeeeeeee')
+				this.storeSelected = data
+				this.form.storeName = this.storeSelected[0].name
+				this.form.storeId = this.storeSelected[0].id
+				console.log(this.storeSelected,this.form.storeName,'2222222')
+			},
+			// 拍照 或从相册选相片 
 			takePhone () {
 				let _this = this
 				uni.chooseImage({
@@ -91,7 +107,7 @@
 			// 选择门店
 			chooseStore () {
 				uni.navigateTo({
-					url: '/pages/spotCheckConfigure/evaluateStore'
+					url: `/pages/spotCheckConfigure/evaluateStore?type=${'radio'}&item=${encodeURIComponent(JSON.stringify(this.storeSelected))}`
 				})
 			},
 			// 选择考评指标

+ 3 - 2
pages/toDoList/backlogDetail.vue

@@ -105,13 +105,14 @@
 				})
 			},
 			// 获取进度数据
-			getRecordData (id) {
+			getRecordData (id) { 
 				getBackLogRecord({id:id}).then(res=>{
 					if(res.status==200){
 						let arr = []
 						res.data.map(item=>{
 							const p = {}
-							p.name = item.handleTime + "'\xa0\xa0\xa0\xa0\xa0\xa0\'" + item.handleType + "'\xa0\xa0\xa0\xa0\xa0\xa0\'" + (item.handleDesc ? item.handleDesc : '')
+							const k = '\xa0\xa0\xa0\xa0\xa0\xa0'
+							p.name = item.handleTime + k + item.handleType + k + (item.handleDesc ? item.handleDesc : '')
 							arr.push(p)
 						})
 						this.numList = arr

+ 0 - 67
pages/toDoList/choosePutUser.vue

@@ -1,67 +0,0 @@
-<template>
-	<view>
-		<uni-check-list :listData="list"></uni-check-list>
-	</view>
-</template>
-
-<script>
-	import uniCheckList from '@/components/uni-check-list/uni-check-list.vue'
-	export default {
-		components: {
-			uniCheckList
-		},
-		data() {
-			return {
-				list: [{
-						value: 'USA',
-						name: '美国'
-					},
-					{
-						value: 'CHN',
-						name: '中国',
-						checked: 'true'
-					},
-					{
-						value: 'BRA',
-						name: '巴西'
-					},
-					{
-						value: 'JPN',
-						name: '日本'
-					},
-					{
-						value: 'ENG',
-						name: '英国'
-					},
-					{
-						value: 'FRA',
-						name: '法国'
-					}
-				]
-			}
-		},
-		methods: {
-			// 改变checkbox的选中状态
-			checkboxChange(e) {
-				var items = this.items,
-					values = e.detail.value;
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
-					const item = items[i]
-					if(values.includes(item.value)){
-						this.$set(item,'checked',true)
-					}else{
-						this.$set(item,'checked',false)
-					}
-					console.log(item,'--------------')
-				}
-				
-			},
-			submit(){
-				console.log('-------tijiao')
-			}
-		}
-	}
-</script>
-
-<style>
-</style>

+ 45 - 51
pages/toDoList/chooseReceiveUser.vue

@@ -1,67 +1,61 @@
 <template>
-	<view>
-		<uni-check-list :listData="list"></uni-check-list>
-	</view>
+	<!-- @rightClick 只有存在右边部分的情况下才使用,
+	 右边默认为空,可以使用slot="right" 自定义右边内容
+	 @ok 是单选或多选最终返回的结果
+	 types 类型 radio或checkbox
+	 titleKeys 标题对应的字段名称key,默认是name
+	 listData 是数据
+	 showArrow 是否显示右边箭头
+	 backValue 设置返回的数据是idArr [id,id,...] 或 objArr [obj,obj,...]
+	 defValue 设置已选择的数据,格式和backValue 一致
+	 checkIconPositon 选择图标显示左边还是右边 left or right
+	 -->
+	<uni-check-list 
+	:listData="list" 
+	checkIconPositon="right" 
+	:showArrow="false" 
+	:defValue="value" 
+	:types="type" 
+	backValue="objArr"
+	@ok="chooseOk">
+	</uni-check-list>
 </template>
 
 <script>
-	import uniCheckList from '@/components/uni-check-list/uni-check-list.vue'
+	import {findStoreList} from '@/api/store'
 	export default {
-		components: {
-			uniCheckList
-		},
 		data() {
 			return {
-				list: [{
-						value: 'USA',
-						name: '美国'
-					},
-					{
-						value: 'CHN',
-						name: '中国',
-						checked: 'true'
-					},
-					{
-						value: 'BRA',
-						name: '巴西'
-					},
-					{
-						value: 'JPN',
-						name: '日本'
-					},
-					{
-						value: 'ENG',
-						name: '英国'
-					},
-					{
-						value: 'FRA',
-						name: '法国'
-					}
-				]
+				list: [],
+				value: [],
+				type: ''  // 单选或多选
 			}
 		},
-		methods: {
-			// 改变checkbox的选中状态
-			checkboxChange(e) {
-				var items = this.items,
-					values = e.detail.value;
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
-					const item = items[i]
-					if(values.includes(item.value)){
-						this.$set(item,'checked',true)
-					}else{
-						this.$set(item,'checked',false)
-					}
-					console.log(item,'--------------')
+		onLoad(opts) {
+			this.value = opts.item&&JSON.parse(opts.item)||[]
+			this.type = opts.type && opts.type || 'checkbox'
+			console.log(this.value)
+			// 查询门店
+			findStoreList({}).then(res=>{
+				if(res.status == 200){
+					this.list = res.data || []
 				}
-				
+			})
+		},
+		methods: {
+			// 选中门店,item 返回的是数组
+			chooseOk(item) {
+				console.log(item)
+				//关闭当前页面,这里处理数据逻辑
+				uni.$emit("selKpStores",item)
+				uni.navigateBack()
 			},
-			submit(){
-				console.log('-------tijiao')
-			}
 		}
 	}
 </script>
 
-<style>
+<style lang="scss">
+	page{
+		height: 100%;
+	}
 </style>

+ 12 - 13
pages/toDoList/searchModal.vue

@@ -1,7 +1,7 @@
 <template>
 	<!-- 待办单查询 -->
 	<div class="modal-content">
-		<u-popup v-model="isshow" class="search-popup" mode="right" @close="handleClose" :custom-style="{top:'var(--status-bar-height)'}" length="90%">
+		<u-popup v-model="isshow" class="search-popup" mode="right" @close="handleClose"  length="85%">
 			<view class="search-title">待办单查询</view>
 			<u-form class="form-content" :model="form" ref="uForm" label-width="150">
 				<u-form-item label="发起时间" prop="time">
@@ -28,20 +28,19 @@
 				<button type="primary" @click="handleSearch">查询</button>
 				<button type="info" @click="resetForm">重置</button>
 			</view>
-			<!-- 时间选择器 -->
-			<w-picker
-			class="date-picker"
-				:visible.sync="showPicker"
-				mode="range" 
-				:current="true"
-				fields="day"
-				@confirm="onSelected($event,'range')"
-				@cancel="showPicker=false"
-				ref="date" 
-			></w-picker>
 			<!-- <mx-date-picker class="date-picker" :show="showPicker" type="range" format="yyyy-mm-dd" :value="form.time" :show-tips="true" @confirm="onSelected" @cancel="showPicker=false" /> -->
 		</u-popup>
-		
+		<!-- 时间选择器 -->
+		<w-picker
+		class="date-picker"
+			:visible.sync="showPicker"
+			mode="range" 
+			:current="true"
+			fields="day"
+			@confirm="onSelected($event,'range')"
+			@cancel="showPicker=false"
+			ref="date" 
+		></w-picker>
 	</div>
 </template>
 

+ 2 - 11
pages/toDoList/toDoList.vue

@@ -1,14 +1,5 @@
 <template>
 	<view class="pagesCons">
-		<!-- 自定义标题 -->
-		<u-navbar title-color="#fff" back-icon-size="30" back-icon-color="#fff" :border-bottom="false" :background="background" id="navbar">
-			<view class="slot-wrap">
-				<view class="left-icon">待办单</view>
-				<view class="right-icon" @click="intoAddPage">
-					<u-icon name="plus-circle" color="#fff" size="32"></u-icon>新增
-				</view>
-			</view>
-		</u-navbar>
 		<view class="tab-body">
 			    <view>
 					<u-tabs-swiper ref="uTabs" :list="tabList" name="dispName" :current="current" @change="tabsChange" :is-scroll="false"
@@ -41,7 +32,7 @@
 							class="check-order-list" 
 							v-if="index==current"
 							v-for="(item,sindex) in list" 
-							:key="item.id+item.backlogNo"
+							:key="item.id+item.createDate"
 							@click="viewRow(item)"
 							>
 								 <view class="check-row">
@@ -266,7 +257,7 @@
 				this.getRow(1)
 			},
 			// 新增页
-			intoAddPage() {
+			onNavigationBarButtonTap(e) {
 				uni.navigateTo({
 					url: "/pages/toDoList/addBacklog"
 				})