shish пре 4 година
родитељ
комит
7558ad0299

+ 1 - 1
ghsApp/src/admin/custom/selectCustom.vue

@@ -2,7 +2,7 @@
   <div class="app-main app-content">
     <view class="input-wrap_box">
       <view>
-        <AppSearchModule placeholder="输英文字母搜索,花朵朵填hdd" @input="searchFn"/>
+        <AppSearchModule placeholder="输英文字母搜索" @input="searchFn"/>
       </view>
     </view>
     <block v-if="!$util.isEmpty(list.data)">

+ 1 - 1
ghsApp/src/admin/home/member.vue

@@ -2,7 +2,7 @@
   <div class="app-main app-content">
     <view class="input-wrap_box">
       <view>
-        <AppSearchModule placeholder="输英文字母搜索,花朵朵填hdd" @input="searchFn"/>
+        <AppSearchModule placeholder="输英文字母搜索" @input="searchFn"/>
       </view>
     </view>
     <view class="app-tabs">

+ 17 - 68
ghsApp/src/admin/statistics/cgStat.vue

@@ -8,17 +8,8 @@
 		</view>
 
 		<view class="top-bar">
-			<DateSelect class="bar"
-				:menuObj="menuTimeObj"
-				:selectItemId.sync="selectTimeId"
-				:typeTime="true"
-				:typeSelect="1" top="0"
-				@selectSussess="selectSussess" />
-			<DorpdownSelect class="bar"
-				:menuObj.sync="menuObj"
-				:selectItemId.sync="shopId"
-				top="0"
-				@selectSussess="selectShopSussess" />
+			<DateSelect class="bar" :menuObj="menuTimeObj" :selectItemId.sync="selectTimeId" :typeTime="true" :typeSelect="1" top="0" @selectSussess="selectSussess" />
+			<ShopSelectCp class="bar" :menuObj.sync="menuObj" :selectItemId.sync="shopId" top="0" @selectSussess="selectShopSussess" />
 		</view>
 
 		<view class="main-view">
@@ -60,84 +51,39 @@ import AppWrapperEmpty from "@/components/app-wrapper-empty";
 import SelectList from "@/components/plugin/selectList";
 import { getStatCgGhsProfile } from "@/api/statistics/index";
 import { list,selectShop } from "@/mixins";
-import DorpdownSelect from "@/components/module/shopSelect";
+import ShopSelectCp from "@/components/module/shopSelect";
 import DateSelect from "@/components/module/dateSelect";
 import rangeDatePick from '@/components/pyh-rdtpicker/pyh-rdtpicker.vue';
 import AppSearchModule from "@/components/module/app-search";
 import {mapActions, mapGetters} from "vuex";
 export default {
-	components: { SelectList, AppWrapperEmpty,DorpdownSelect,rangeDatePick,AppSearchModule,DateSelect },
+	components: { SelectList, AppWrapperEmpty,ShopSelectCp,rangeDatePick,AppSearchModule,DateSelect },
 	mixins: [list,selectShop],
 	computed: {		...mapGetters(["getDictionariesInfo","getLoginInfo"])	},
 	data() {
 		return {
 			isShow:false,
-			customizationTime:'',
+			customizationTime:[],
 			menuTimeObj:'',//时间分类-类型
 			menuShopObj:'',//门店分类-类型
 			selectTimeId:'',//选择时间id
 			shopId:'',//选择分店id
 			itemId:'',
 			selectListData: [
-				{
-					title: "时间",
-					key: "time",
-					default: "1",
-					data: [
-						{
-							name: "下午",
-							value: "1"
-						}
-					]
-				},
-				{
-					title: "全部",
-					key: "shopId",
-					default: "01",
-					data: [
-						{
-							name: "瑞景店",
-							value: "01"
-						},
-						{
-							name: "加州店",
-							value: "02"
-						}
-					]
-				}
+				{ title: "时间", key: "time", default: "1", data: [ { name: "下午", value: "1" } ] },
+				{ title: "全部", key: "shopId", default: "01", data: [ { name: "瑞景店", value: "01" }, { name: "加州店", value: "02" } ] }
 			],
 			nowTime: "",
 			showTimeDropdown: false,
 			nowShop: "",
 			showShopDropdown: false,
 			columns: [
-				{
-					name: "姓名",
-					dataIndex: "name",
-					color: "info"
-				},
-				{
-					name: "开单额",
-					dataIndex: "amount",
-					color: "info",
-					width: 120,
-					align: "center"
-				},
-				{
-					name: "开单数",
-					dataIndex: "num",
-					color: "info",
-					align: "center"
-				}
+				{ name: "姓名", dataIndex: "name", color: "info" },
+				{ name: "开单额", dataIndex: "amount", color: "info", width: 120, align: "center" },
+				{ name: "开单数", dataIndex: "num", color: "info", align: "center" }
 			],
 			dataList: [],
-			params:{
-				itemId: '',
-				searchTime:'',
-				startTime: "",
-				endTime: "",
-				shopId: "",
-			},
+			params:{ itemId: '', searchTime:'', startTime: "", endTime: "", shopId: "", },
 			profile:[],
 			storageData:[],
 			searchContent:'',
@@ -154,8 +100,10 @@ export default {
 		this.params.itemId = e.id;
 		let dateDefaultOption = [];
 		let list = this.getDictionariesInfo.dateDefaultOption;
-		for (let i=0;i<list.length;i++){
-			dateDefaultOption.push({name:list[i].name,id:list[i].value})
+		if(!this.$util.isEmpty(list)){
+			for (let i=0;i<list.length;i++){
+				dateDefaultOption.push({name:list[i].name,id:list[i].value})
+			}
 		}
 		this.menuTimeObj = {title:'今天',titleChild:'时间',list: dateDefaultOption};
 		this.shopId = this.getLoginInfo.shopId;
@@ -236,6 +184,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	padding-top:20upx;
 	height: 100%;
 	display: flex;
@@ -243,7 +192,7 @@ export default {
 	.top-bar {
 		position: absolute;
 		left: 0;
-		top:110upx;
+		top:116upx;
 		display: flex;
 		width: 100%;
 		z-index: 20;

+ 7 - 4
ghsApp/src/admin/statistics/customSale.vue

@@ -77,7 +77,7 @@ export default {
 	data() {
 		return {
 			isShow:false,
-			customizationTime:'',
+			customizationTime:[],
 			menuTimeObj:'',//时间分类-类型
 			menuShopObj:'',//门店分类-类型
 			selectTimeId:'',//选择时间id
@@ -159,8 +159,10 @@ export default {
 		this.params.itemId = e.id;
 		let dateDefaultOption = [];
 		let list = this.getDictionariesInfo.dateDefaultOption;
-		for (let i=0;i<list.length;i++){
-			dateDefaultOption.push({name:list[i].name,id:list[i].value})
+		if(!this.$util.isEmpty(list)){
+			for (let i=0;i<list.length;i++){
+				dateDefaultOption.push({name:list[i].name,id:list[i].value})
+			}
 		}
 		this.menuTimeObj = {title:'今天',titleChild:'时间',list: dateDefaultOption};
 		this.shopId = this.getLoginInfo.shopId;
@@ -261,6 +263,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	padding-top:20upx;
 	height: 100%;
 	display: flex;
@@ -268,7 +271,7 @@ export default {
 	.top-bar {
 		position: absolute;
 		left: 0;
-		top:110upx;
+		top:116upx;
 		display: flex;
 		width: 100%;
 		z-index: 20;

+ 2 - 1
ghsApp/src/admin/statistics/incomeStat.vue

@@ -192,6 +192,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	height: 100%;
 	display: flex;
 	flex-direction: column;
@@ -200,7 +201,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		// box-shadow: 0 5upx 5upx 5upx rgba($color: #000000, $alpha: 0.2);
+		top:116upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 6 - 3
ghsApp/src/admin/statistics/kdIncome.vue

@@ -135,8 +135,10 @@ export default {
 		this.params.itemId = e.id;
 		let dateDefaultOption = [];
 		let list = this.getDictionariesInfo.dateDefaultOption;
-		for (let i=0;i<list.length;i++){
-			dateDefaultOption.push({name:list[i].name,id:list[i].value})
+		if(!this.$util.isEmpty(list)){
+			for (let i=0;i<list.length;i++){
+				dateDefaultOption.push({name:list[i].name,id:list[i].value})
+			}
 		}
 		this.menuTimeObj = {title:'今天',titleChild:'时间',list: dateDefaultOption};
 		this.shopId = this.getLoginInfo.shopId;
@@ -179,6 +181,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	padding-top:20upx;
 	height: 100%;
 	display: flex;
@@ -188,7 +191,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		// box-shadow: 0 5upx 5upx 5upx rgba($color: #000000, $alpha: 0.2);
+		top:20upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 2 - 1
ghsApp/src/admin/statistics/mayPayStat.vue

@@ -189,6 +189,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	height: 100%;
 	display: flex;
 	flex-direction: column;
@@ -197,7 +198,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		// box-shadow: 0 5upx 5upx 5upx rgba($color: #000000, $alpha: 0.2);
+		top:116upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 6 - 3
ghsApp/src/admin/statistics/productSale.vue

@@ -140,8 +140,10 @@ export default {
 		this.params.itemId = e.id;
 		let dateDefaultOption = [];
 		let list = this.getDictionariesInfo.dateDefaultOption;
-		for (let i=0;i<list.length;i++){
-			dateDefaultOption.push({name:list[i].name,id:list[i].value})
+		if(!this.$util.isEmpty(list)){
+			for (let i=0;i<list.length;i++){
+				dateDefaultOption.push({name:list[i].name,id:list[i].value})
+			}
 		}
 		this.menuTimeObj = {title:'今天',titleChild:'时间',list: dateDefaultOption};
 		this.shopId = this.getLoginInfo.shopId;
@@ -210,6 +212,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	padding-top:20upx;
 	height: 100%;
 	display: flex;
@@ -219,7 +222,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		top:110upx;
+		top:116upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 16 - 12
ghsApp/src/admin/statistics/profit.vue

@@ -25,19 +25,20 @@
 							<t-th>操作</t-th>
 						</t-tr>
 
-						<t-tr v-for="(item, index) in profit.income" :key="index">
+						<t-tr v-for="(item, inIndex) in profit.income" :key="inIndex">
 							<t-td><view>{{item.name}}</view></t-td>
 							<t-td><view>{{item.amount}}</view></t-td>
 							<t-td><view></view></t-td>
 						</t-tr>
-
-						<t-tr v-for="(item, index) in profit.expend" :key="index">
-							<t-td><view>{{item.name}}</view></t-td>
-							<t-td v-if="item.amount==0"><view>0</view></t-td>
-							<t-td v-else><view>-{{item.amount}}</view></t-td>
-							<t-td><view></view></t-td>
-						</t-tr>
-
+						<!--同个节点v-for key重复会报错,所以再包一层-->
+						<view>
+							<t-tr v-for="(item, exIndex) in profit.expend" :key="exIndex">
+								<t-td><view>{{item.name}}</view></t-td>
+								<t-td v-if="item.amount==0"><view>0</view></t-td>
+								<t-td v-else><view>-{{item.amount}}</view></t-td>
+								<t-td><view></view></t-td>
+							</t-tr>
+							</view>
 						<t-tr>
 							<t-td align="center"><view style="font-weight:bold;color:black;">合计:{{profit.balance||0}}</view></t-td>
 						</t-tr>
@@ -146,8 +147,10 @@ export default {
 		this.params.itemId = e.id;
 		let dateDefaultOption = [];
 		let list = this.getDictionariesInfo.dateDefaultOption;
-		for (let i=0;i<list.length;i++){
-			dateDefaultOption.push({name:list[i].name,id:list[i].value})
+		if(!this.$util.isEmpty(list)){
+			for (let i=0;i<list.length;i++){
+				dateDefaultOption.push({name:list[i].name,id:list[i].value})
+			}
 		}
 		this.menuTimeObj = {title:'今天',titleChild:'时间',list: dateDefaultOption};
 		this.shopId = this.getLoginInfo.shopId;
@@ -199,6 +202,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	height: 100%;
 	display: flex;
 	flex-direction: column;
@@ -207,7 +211,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		// box-shadow: 0 5upx 5upx 5upx rgba($color: #000000, $alpha: 0.2);
+		top:20upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 2 - 1
ghsApp/src/admin/statistics/sale.vue

@@ -203,6 +203,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .ex-page {
+	background: white;
 	height: 100%;
 	display: flex;
 	flex-direction: column;
@@ -211,7 +212,7 @@ export default {
 		left: 0;
 		display: flex;
 		width: 100%;
-		// box-shadow: 0 5upx 5upx 5upx rgba($color: #000000, $alpha: 0.2);
+		top:116upx;
 		z-index: 20;
 		.bar{
 			width: 50%;

+ 9 - 92
ghsApp/src/components/module/shopSelect.vue

@@ -1,8 +1,7 @@
 <template>
     <view class="select-bg_bx">
         <view v-if="isShowTit" @click="switchCut" :class="['select-title',dropdownShow?'select_corlor':'']">
-            <text v-if="typeTime">{{selectItemId?menuObjActive:menuObj.title}}</text>
-            <text v-else>{{menuObjActive?menuObjActive:getMyShopInfo.shopName}}</text>
+            <text>{{menuObjActive?menuObjActive:getMyShopInfo.shopName}}</text>
             <text v-if="placeholder" style="color: #ccc;">{{placeholder}}</text>
             <i v-if="isShowMore" class="iconfont iconsanjiao_xia"></i>
         </view>
@@ -15,50 +14,26 @@
                 <view class="select-item-box">
                     <view class="title">{{menuObj.titleChild}}</view>
                     <view class="item-child_box">
-                        <button
-                            v-for="(item,index) in menuObj.list"
-                            :key="index"
-                            @click="changeItem(item)"
-                            :class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']">
-                            {{item.name}}
-                        </button>
+                        <button v-for="(item,index) in menuObj.list" :key="index" @click="changeItem(item)" 
+                        :class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']"> {{item.name}} </button>
                     </view>
                 </view>
-                <view v-if="typeSelect === 1" class="select-item-box">
-                    <view class="title">自定义</view>
-                    <view class="item-child_box" ><view class="admin-button-com mini-btn default custom" @click="DatePicker()">选择时间段(滑动切换月份)</view></view>
-                </view>
             </slot>
         </view>
-        <mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="range" :value="defaultPickerDate" 
-            :show-tips="false" :begin-text="'开始'" :end-text="'结束'" @confirm="confirmPicker" @cancel="cancelPicker" />
     </view>
 </template>
-
 <script>
 import DropdownList from "@/components/plugin/dropdown-list";
-import AppDatePicker from "@/components/app-date-picker";
-import rangeDatePick from '@/components/pyh-rdtpicker/pyh-rdtpicker.vue';
-import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
 import {mapGetters} from "vuex";
 export default {
     name:'DorpdownSelect',
     components:{
-        DropdownList,AppDatePicker,rangeDatePick,MxDatePicker
+        DropdownList
     },
     props:{
         menuObj:{
             type: Object,
-            default: ()=>({
-                title:'时间',
-                titleChild:'时间',
-                list: [{name:'昨天',id:'0'},{name:'今天',id:'1'},{name:'本月',id:'2'},{name:'上月',id:'3'},{name:'今年',id:'4'}]
-            })
-        },
-        // 1 时间  2 其他
-        typeSelect:{
-            type:Number,
-            default: 2
+            default: ()=>({ title:'门店', titleChild:'门店', list: [] })
         },
         top:{
             type: String,
@@ -95,78 +70,20 @@ export default {
         }
     },
     computed:{
-        ...mapGetters(["getMyShopInfo"]),
-        formatSelect(){
-            if(!this.$util.isEmpty(this.selectItemId)&&
-            this.$util.isString(this.selectItemId)&&
-            this.selectItemId.split('-').length>1){
-                return true
-            }else{
-                return false
-            }
-        },
+		...mapGetters(["getMyShopInfo"])
     },
     mounted(){
-
-    },
-    onLoad(){
     },
     methods:{
-        DatePicker(){//显示
-            this.showPicker = true;
-        },
-        confirmPicker(e) {//选择
-
-            this.showPicker = false;
-            this.dropdownShow = false;
-            this.$emit('update:selectItemId','custom')            
-            this.$emit('selectSussess',{
-                custom:1,start:e['value'][0],end:e['value'][1]
-            })
-            this.menuObjActive = '自定义';
-        },
-        cancelPicker(e){//取消
-            this.showPicker = false;
-        },
         switchCut(){
             this.dropdownShow = !this.dropdownShow
         },
         changeItem(val){
-            if(val.id== this.selectItemId&&val.name!='自定义'){
-                return false
-            }
             this.$emit('update:selectItemId',val.id)
-
             this.dropdownShow = false;
-
-            this.$emit('update:menuObj',{
-                ...this.menuObj,
-                title:val.name
-            })
+            this.$emit('update:menuObj',{ ...this.menuObj, title:val.name })
             this.menuObjActive = val.name;
-
-            this.$emit('selectSussess',{
-                select: this.$util.isString(val)?val:val.name,
-                selectItem: val
-            })
-        },
-        endTimeFn(e){
-
-            this.selectItemId = e.detail.value;
-
-            this.dropdownShow = false;
-
-            this.$emit('update:selectItemId',val.id)
-
-            this.$emit('update:menuObj',{
-                ...this.menuObj,
-                title:e.detail.value
-            })
-
-            this.$emit('selectSussess',{
-                select: e.detail.value,
-                selectItem: val
-            })
+            this.$emit('selectSussess',{ select: this.$util.isString(val)?val:val.name, selectItem: val })
         }
     }
 }
@@ -229,4 +146,4 @@ export default {
         }
     }
 }
-</style>
+</style>

+ 8 - 0
ghsApp/src/mixins/globalMixins.js

@@ -107,7 +107,15 @@ export default {
         this.show_login_model = true
         uni.hideTabBar()
       }else{
+        let that = this
         appReGetLoginInfo().then(subRes=>{
+
+					getDictionaries({ token: subRes.data.token }).then(res => {
+						if (!that.$util.isEmpty(res)) {
+              store.commit('setDictionariesInfo', { ...res.data.dict, ...res.data })
+              store.commit('setMyShopInfo', { ...res.data.shop, ...res.data })
+						}
+					})
           store.commit('setLoginInfo', { ...subRes.data.admin, ...subRes.data })
           uni.showTabBar()
           this.skCustomId = subRes.data.skCustomId