liwei2496 2 лет назад
Родитель
Сommit
7ad9ec317b
33 измененных файлов с 1392 добавлено и 679 удалено
  1. 11 11
      App.vue
  2. 155 123
      pages/Workorder/Remotecontrol/Remotecontrol.vue
  3. 29 13
      pages/Workorder/Tenantbill/companybill/companybill.vue
  4. 11 7
      pages/index/Immediatecollection/Immediatecollection.vue
  5. 416 404
      pages/index/Onlinewarranty/Onlinewarranty.vue
  6. 10 2
      pages/index/Withholdingrecord/Withholdingrecord.vue
  7. 1 1
      pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue
  8. 1 1
      pages/index/Workordertodone/Workordertodone.vue
  9. 126 97
      pages/login/login.vue
  10. 2 2
      unpackage/cache/wgt/__UNI__FF40C0C/app-config-service.js
  11. 6 6
      unpackage/cache/wgt/__UNI__FF40C0C/app-service.js
  12. 1 1
      unpackage/cache/wgt/__UNI__FF40C0C/app-view.js
  13. 1 1
      unpackage/cache/wgt/__UNI__FF40C0C/manifest.json
  14. 36 0
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/arrow-right.svg
  15. 21 0
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/btn-arrow-right.svg
  16. 76 0
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/check-review.svg
  17. 84 0
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/reduce-record.svg
  18. 89 0
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/repair-online.svg
  19. BIN
      unpackage/cache/wgt/__UNI__FF40C0C/static/index/xj.png
  20. BIN
      unpackage/cache/wgt/__UNI__FF40C0C/static/management/yc.png
  21. BIN
      unpackage/cache/wgt/__UNI__FF40C0C/static/management/zd.png
  22. 2 2
      unpackage/dist/build/app-plus/app-config-service.js
  23. 6 6
      unpackage/dist/build/app-plus/app-service.js
  24. 1 1
      unpackage/dist/build/app-plus/app-view.js
  25. 1 1
      unpackage/dist/build/app-plus/manifest.json
  26. 36 0
      unpackage/dist/build/app-plus/static/index/arrow-right.svg
  27. 21 0
      unpackage/dist/build/app-plus/static/index/btn-arrow-right.svg
  28. 76 0
      unpackage/dist/build/app-plus/static/index/check-review.svg
  29. 84 0
      unpackage/dist/build/app-plus/static/index/reduce-record.svg
  30. 89 0
      unpackage/dist/build/app-plus/static/index/repair-online.svg
  31. BIN
      unpackage/dist/build/app-plus/static/index/xj.png
  32. BIN
      unpackage/dist/build/app-plus/static/management/yc.png
  33. BIN
      unpackage/dist/build/app-plus/static/management/zd.png

+ 11 - 11
App.vue

@@ -1,7 +1,7 @@
 <script>
-	window.SITE_CONFIG = {};
-	window.SITE_CONFIG["dictList"] = JSON.parse(localStorage.getItem('dictList'))||[];
-	import Api from "./@/http/Api.js";
+//	window.SITE_CONFIG = {};
+//	window.SITE_CONFIG["dictList"] = JSON.parse(localStorage.getItem('dictList'))||[];
+//	import Api from "./@/http/Api.js";
 	export default {
 		data() {
 			return {
@@ -9,16 +9,16 @@
 			}
 		},
 		methods:{
-			getDictAll() {
-			  Api.getDictList().then((res) => {
-				  console.log(res.data)
-			    window.SITE_CONFIG["dictList"] = res.data.data;
-				localStorage.setItem("dictList",JSON.stringify(res.data.data));
-			  });
-			},
+			// getDictAll() {
+			//   Api.getDictList().then((res) => {
+			// 	  console.log(res.data)
+			//     window.SITE_CONFIG["dictList"] = res.data.data;
+			// 	localStorage.setItem("dictList",JSON.stringify(res.data.data));
+			//   });
+			// },
 		},
 		onLaunch: function() {
-			this.getDictAll();
+		//	this.getDictAll();
 			// 获取字典列表, 添加并全局变量保存
 		},
 		onShow: function() {

+ 155 - 123
pages/Workorder/Remotecontrol/Remotecontrol.vue

@@ -2,8 +2,9 @@
 	<view>
 		<view class="header"></view>
 		<view class="position">
-			<picker mode= "multiSelector" @columnchange="bindMultiPickerColumnChange"  @change="(val)=>confirmHandle(val,'position')"
-				:range="positionList" style="width:100%;height: 100%;" range-key="orgName">
+			<picker mode="multiSelector" @columnchange="bindMultiPickerColumnChange"
+				@change="(val)=>confirmHandle(val,'position')" :range="positionList" style="width:100%;height: 100%;"
+				range-key="orgName">
 				<u-icon name="map-fill" color="#fff" class="inline"></u-icon>
 				<view class="uni-input inline positionName">{{name}}</view>
 				<u-icon name="arrow-rightward" class="inline" color="#fff"></u-icon>
@@ -42,25 +43,29 @@
 							<view class="uni-input">{{findInd2(item.attributeList[2].value,modeTypeList)}}</view>
 							<u-icon name="arrow-down" color="#999" size="16" class="inline"></u-icon>
 						</picker>
-						<picker @change="(val)=>confirmHandle(val,'temp',item.deviceId)" :value="item.attributeList[5].value|findInd(temperatureList)" :range="temperatureList"
+						<picker @change="(val)=>confirmHandle(val,'temp',item.deviceId)"
+							:value="item.attributeList[5].value|findInd(temperatureList)" :range="temperatureList"
 							style="width:100%;height: 100%;">
 							<view class="uni-input">{{item.attributeList[5].value}}</view>
 							<u-icon name="arrow-down" color="#999" size="16" class="inline"></u-icon>
 						</picker>
-						<picker @change="(val)=>confirmHandle(val,'speedType',item.deviceId)" :value="item.attributeList[0].value|findInd(speedTypeList)"
-							:range="speedTypeList" style="width:100%;height: 100%;" range-key="dictLabel">
+						<picker @change="(val)=>confirmHandle(val,'speedType',item.deviceId)"
+							:value="item.attributeList[0].value|findInd(speedTypeList)" :range="speedTypeList"
+							style="width:100%;height: 100%;" range-key="dictLabel">
 							<view class="uni-input">{{findInd2(item.attributeList[0].value,speedTypeList)}}</view>
 							<u-icon name="arrow-down" color="#999" size="16" class="inline"></u-icon>
 						</picker>
 					</view>
-					<switch :checked="item.attributeList[3].value==1?true:false" @change="(val)=>changeSwitch('AirConditioner', val, item.deviceId, index)"
+					<switch :checked="item.attributeList[3].value==1?true:false"
+						@change="(val)=>changeSwitch('AirConditioner', val, item.deviceId, index)"
 						style="transform:scale(0.7)" class="switch" />
 				</template>
 				<template v-if="deviceType == 'Relay'">
 					<view class="l1">{{item.controlName}}</view>
 					<view class="l2">空间信息:{{ item.installSite }}</view>
-					<switch  :checked="item.status==1?true:false" @change="(val)=>changeSwitch('Relay', val, item.deviceId, index)"
-						style="transform:scale(0.7)" class="switch" />
+					<switch :checked="item.status==1?true:false"
+						@change="(val)=>changeSwitch('Relay', val, item.deviceId, index)" style="transform:scale(0.7)"
+						class="switch" />
 				</template>
 			</view>
 		</view>
@@ -102,9 +107,12 @@
 				deviceStatusIndex: 0,
 				name: '跨境电商',
 				projectName: '',
-				p1:0,
-				p2:0,
-				positionList: [[],[]],
+				p1: 0,
+				p2: 0,
+				positionList: [
+					[],
+					[]
+				],
 				deviceType: "AirConditioner",
 				deviceStatus: '',
 				deviceTypeList: [],
@@ -131,46 +139,74 @@
 			}
 		},
 		onLoad() {
-			this.getModeTypeList();
+
+			let getDictDataList = uni.getStorageSync('getDictDataList');
+
+
+			for (let i = 0; i < getDictDataList.length; i++) {
+				if (getDictDataList[i].dictType == 'ModeType') {
+					this.modeTypeList = getDictDataList[i].dataList
+				}
+				
+				if (getDictDataList[i].dictType == 'SpeedType') {
+					this.speedTypeList = getDictDataList[i].dataList
+				}
+				
+				if (getDictDataList[i].dictType == 'DeviceCategory') {
+					this.deviceTypeList = getDictDataList[i].dataList;
+					  console.log('7777',this.deviceTypeList)
+					
+					this.deviceTypeList.forEach((item) => {
+						item.text = item.dictLabel;
+						item.value = item.dictValue;
+					});
+					this.deviceTypeList = this.deviceTypeList.filter(
+						(item) => item.value != "WaterMeter" && item.value != "Ammeter"
+					);
+				}
+			}
+
+
+		
 			this.getBuildList();
-			this.getDeviceTypeList();
-			this.getSpeedTypeList();
+		//	this.getDeviceTypeList();
+			
 			this.setTemperatureList();
 			this.getDataList()
 		},
-		  watch: {
-		    "dataForm.buildingId"(newval, oldval) {
-		      if (newval != oldval) {
-		        this.onRefresh();
-		      }
-		    },
-		    "dataForm.storeyId"(newval, oldval) {
-		      if (newval != oldval) {
-		        this.onRefresh();
-		      }
-		    },
-		  },
+		watch: {
+			"dataForm.buildingId"(newval, oldval) {
+				if (newval != oldval) {
+					this.onRefresh();
+				}
+			},
+			"dataForm.storeyId"(newval, oldval) {
+				if (newval != oldval) {
+					this.onRefresh();
+				}
+			},
+		},
 		filters: {
 			findInd(val, list) {
 				if (isEmpty(val)) {
 					return 0;
 				}
-				if(list.length>5){
-					return list.findIndex((item) =>item== val);
-				}else{
+				if (list.length > 5) {
+					return list.findIndex((item) => item == val);
+				} else {
 					return list.findIndex((item) => parseFloat(item.dictValue) == val);
 				}
-				
+
 			}
 		},
 		methods: {
-			findInd2(val,list){
+			findInd2(val, list) {
 				if (isEmpty(val)) {
 					return 0;
 				}
-				if(list.find((item) => parseFloat(item.dictValue) == val)){
+				if (list.find((item) => parseFloat(item.dictValue) == val)) {
 					return list.find((item) => parseFloat(item.dictValue) == val).dictLabel;
-				}else{
+				} else {
 					return list[0].dictLabel
 				}
 			},
@@ -179,7 +215,7 @@
 				Api.getBuildInfo().then((res) => {
 					if (res.data.code == 0) {
 						this.name = this.projectName = res.data.data[0].orgName;
-						this.positionList[0]=[];
+						this.positionList[0] = [];
 						let positionList = res.data.data[0].childrenList;
 						if (positionList) {
 							let json = {
@@ -188,68 +224,63 @@
 								orgId: "",
 								orgName: "全部",
 							};
-							for (let i = 0; i <positionList.length; i++) {
+							for (let i = 0; i < positionList.length; i++) {
 								positionList[i].childrenList.unshift(json);
 								this.positionList[0].push(positionList[i]);
 							}
 							this.positionList[0].unshift(json);
-							this.positionList[1]=this.positionList[0][0].childrenList;
+							this.positionList[1] = this.positionList[0][0].childrenList;
 						}
 					}
 				});
 			},
-			bindMultiPickerColumnChange(e){
-				this.positionList[1]=this.positionList[1]=this.positionList[0][e.detail.value].childrenList;
-			},
-			getModeTypeList() {
-				this.modeTypeList = getDictDataList("ModeType");
-			},
-			getSpeedTypeList() {
-				this.speedTypeList = getDictDataList("SpeedType");
+			bindMultiPickerColumnChange(e) {
+				this.positionList[1] = this.positionList[1] = this.positionList[0][e.detail.value].childrenList;
 			},
+			
 			setTemperatureList() {
 				this.temperatureList = [];
 				for (let i = 16; i < 33; i++) {
 					this.temperatureList.push(i);
 				}
 			},
-			confirmHandle(e, type,deviceId) {
+			confirmHandle(e, type, deviceId) {
 				this.dataForm.page = 1;
-				if(type=='position'){
-					this.p1= e.detail.value[0];
-					this.p2= e.detail.value[1];
-					this.dataForm.buildingId =this.p1==0?'':this.positionList[0][this.p1].orgId;
-					      this.dataForm.storeyId =this.p2==0?"":this.positionList[1][this.p2].orgId;
-						  let buildName = this.p1 ==0? "" :'-'+this.positionList[0][this.p1].orgName;
-					      let storeyName = this.p2 ==0? "" :'-'+this.positionList[1][this.p2].orgName;
-					      this.name = this.projectName+ buildName+storeyName;
-				}else{
-				let index = type + "Index";
-				this[index] = e.detail.value;
-				if (type == "deviceType") {
-					this.deviceType = this.deviceTypeList[e.detail.value].value;
-					this.onRefresh();
-				}
-				if (type == "deviceStatus") {
-					this.deviceStatus = this.deviceStatusList[e.detail.value].value;
-					this.dataForm.status=this.deviceStatus;
-					this.onRefresh();
-				}
-				if (type == "modeType") {
-					let data = this.modeTypeList[e.detail.value].dictValue;
-					this.onConfirmMode(data,'modeTypeList',deviceId);
-				}
-				if (type == "speedType") {
-					let data = this.speedTypeList[e.detail.value].dictValue;
-					this.onConfirmMode(data,'speedTypeList',deviceId);
-				}
-				if (type == "temp") {
-					let data = this.temperatureList[e.detail.value];
-					this.onConfirmMode(data,'temperatureList',deviceId);
-				}
+				if (type == 'position') {
+					this.p1 = e.detail.value[0];
+					this.p2 = e.detail.value[1];
+					this.dataForm.buildingId = this.p1 == 0 ? '' : this.positionList[0][this.p1].orgId;
+					this.dataForm.storeyId = this.p2 == 0 ? "" : this.positionList[1][this.p2].orgId;
+					let buildName = this.p1 == 0 ? "" : '-' + this.positionList[0][this.p1].orgName;
+					let storeyName = this.p2 == 0 ? "" : '-' + this.positionList[1][this.p2].orgName;
+					this.name = this.projectName + buildName + storeyName;
+				} else {
+					let index = type + "Index";
+					this[index] = e.detail.value;
+					if (type == "deviceType") {
+						this.deviceType = this.deviceTypeList[e.detail.value].value;
+						this.onRefresh();
+					}
+					if (type == "deviceStatus") {
+						this.deviceStatus = this.deviceStatusList[e.detail.value].value;
+						this.dataForm.status = this.deviceStatus;
+						this.onRefresh();
+					}
+					if (type == "modeType") {
+						let data = this.modeTypeList[e.detail.value].dictValue;
+						this.onConfirmMode(data, 'modeTypeList', deviceId);
+					}
+					if (type == "speedType") {
+						let data = this.speedTypeList[e.detail.value].dictValue;
+						this.onConfirmMode(data, 'speedTypeList', deviceId);
+					}
+					if (type == "temp") {
+						let data = this.temperatureList[e.detail.value];
+						this.onConfirmMode(data, 'temperatureList', deviceId);
+					}
 				}
-				
-				
+
+
 			},
 			//刷新
 			onRefresh() {
@@ -281,20 +312,20 @@
 					this.getElec();
 				}
 			},
-			getDeviceTypeList() {
-				this.deviceTypeList = JSON.parse(
-					JSON.stringify(getDictDataList("DeviceCategory"))
-				);
-				this.deviceTypeList.forEach((item) => {
-					item.text = item.dictLabel;
-					item.value = item.dictValue;
-				});
-				this.deviceTypeList = this.deviceTypeList.filter(
-					(item) => item.value != "WaterMeter" && item.value != "Ammeter"
-				);
-			},
+			// getDeviceTypeList() {
+			// 	this.deviceTypeList = JSON.parse(
+			// 		JSON.stringify(getDictDataList("DeviceCategory"))
+			// 	);
+			// 	this.deviceTypeList.forEach((item) => {
+			// 		item.text = item.dictLabel;
+			// 		item.value = item.dictValue;
+			// 	});
+			// 	this.deviceTypeList = this.deviceTypeList.filter(
+			// 		(item) => item.value != "WaterMeter" && item.value != "Ammeter"
+			// 	);
+			// },
 			getAircond() {
-				this.dataForm.status="";
+				this.dataForm.status = "";
 				Api.airconditioner(this.dataForm).then((res) => {
 					if (res.data.code == 0) {
 						if (res.data.data) {
@@ -410,41 +441,41 @@
 					}
 				});
 			},
-			 onConfirmMode(data,module,deviceId) {
-			      let deviceCommandDTO = {};
-			      switch (module) {
-			        case "modeTypeList":
-			          deviceCommandDTO = {
-			            keyword: "setMode",
-			            param: data,
-			            deviceId:deviceId,
-			          };
-			          break;
-			        case "temperatureList":
-			          deviceCommandDTO = {
-			            keyword: "setTemp",
-			            param: data,
-			            deviceId: deviceId,
-			          };
-			          break;
-			        case "speedTypeList":
-			          deviceCommandDTO = {
-			            keyword: "setFan",
-			            param: data,
-			            deviceId:deviceId,
-			          };
-			          break;
-			      }
-			      Api.setControl(deviceCommandDTO).then((res) => {
-			        this.$toast.clear();
-			        if (res.data.code == 0) {
+			onConfirmMode(data, module, deviceId) {
+				let deviceCommandDTO = {};
+				switch (module) {
+					case "modeTypeList":
+						deviceCommandDTO = {
+							keyword: "setMode",
+							param: data,
+							deviceId: deviceId,
+						};
+						break;
+					case "temperatureList":
+						deviceCommandDTO = {
+							keyword: "setTemp",
+							param: data,
+							deviceId: deviceId,
+						};
+			 		break;
+					case "speedTypeList":
+						deviceCommandDTO = {
+			  		keyword: "setFan",
+							param: data,
+							deviceId: deviceId,
+						};
+						break;
+				}
+			 Api.setControl(deviceCommandDTO).then((res) => {
+					this.$toast.clear();
+					if (res.data.code == 0) {
 						uni.showToast({
 							title: '操作成功',
 							duration: 2000
 						});
-			        }
-			      });
-			    },
+					}
+			 });
+			},
 		}
 	}
 </script>
@@ -483,6 +514,7 @@
 		color: #fff;
 		padding: 10px 16px;
 		background: #5c8fff;
+
 		.positionName {
 			margin: 0 5px;
 		}

+ 29 - 13
pages/Workorder/Tenantbill/companybill/companybill.vue

@@ -109,10 +109,10 @@
 </template>
 
 <script>
-	import {
-		isEmpty,
-		getDictDataList
-	} from "@/utils/index";
+	// import {
+	// 	isEmpty,
+	// 	getDictDataList
+	// } from "@/utils/index";
 	export default {
 		data() {
 			return {
@@ -156,6 +156,22 @@
 			//	console.log(options); //打印出上个页面传递的参数。
 			this.fatherparameter = JSON.parse(decodeURIComponent(options.para));
 			
+			let getDictDataList=uni.getStorageSync('getDictDataList');
+
+
+			for(let i=0;i<getDictDataList.length;i++){
+				if(getDictDataList[i].dictType=='PayType'){
+					this.columnstype=getDictDataList[i]
+				}
+
+
+				if(getDictDataList[i].dictType=='PayStatus'){
+					this.payStatusList=getDictDataList[i]
+				}	
+			}
+
+
+
 			
 			this.dataForm.tenantId = this.fatherparameter.id;
 			this.dataForm.costCycle = this.fatherparameter.cycle;
@@ -167,8 +183,8 @@
 			this.jfpost.page = 1;
 			
 			this.getalldata();
-			this.getPayStatusList();
-			this.getPayTypeList();
+		//	this.getPayStatusList();
+			//this.getPayTypeList();
 		},
 		//监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
 		onReady() {},
@@ -185,14 +201,14 @@
 
 		methods: {
 			
-			    getPayTypeList() {
-					this.columnstype=[getDictDataList("PayType")]
-			    },
+			    // getPayTypeList() {
+				// 	this.columnstype=[getDictDataList("PayType")]
+			    // },
 			
-			getPayStatusList() {
-				this.payStatusList = getDictDataList("PayStatus");
-			//	console.log('0000', this.payStatusList)
-			},
+			// getPayStatusList() {
+			// 	this.payStatusList = getDictDataList("PayStatus");
+			// //	console.log('0000', this.payStatusList)
+			// },
 			goback() {
 				uni.navigateBack({
 					delta: 1

+ 11 - 7
pages/index/Immediatecollection/Immediatecollection.vue

@@ -95,10 +95,10 @@
 </template>
 
 <script>
-	import {
-		isEmpty,
-		getDictDataList
-	} from "@/utils/index";
+	// import {
+	// 	isEmpty,
+	// 	getDictDataList
+	// } from "@/utils/index";
 	export default {
 		components: {},
 		data() {
@@ -157,11 +157,15 @@
 		},
 		//监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参
 		onLoad() {
-			this.columnstypes = [getDictDataList("ArrearageDay")];
+let getDictDataList=uni.getStorageSync('getDictDataList');
 
+			for(let i=0;i<getDictDataList.length;i++){
+				if(getDictDataList[i].dictType=='getDictDataList'){
+					this.columnstypes=getDictDataList[i]
+				}
+			}
 
-			console.log('00', getDictDataList("ArrearageDay"), getDictDataList("PayType"), getDictDataList("isExpedit"))
-
+			
 			//	this.loadmore();
 		},
 		//监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发

+ 416 - 404
pages/index/Onlinewarranty/Onlinewarranty.vue

@@ -1,416 +1,428 @@
 <template>
-    <view class="OutermostLayer">
+	<view class="OutermostLayer">
 
-        <view class="wfgz">
-            <!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
-            <u--form labelPosition="left" :model="model1" :rules="rules" ref="form1">
-                <!-- <u-form-item labelWidth='180' label="任务名称:" prop="userInfo.contactPerson" borderBottom ref="item1">
+		<view class="wfgz">
+			<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
+			<u--form labelPosition="left" :model="model1" :rules="rules" ref="form1">
+				<!-- <u-form-item labelWidth='180' label="任务名称:" prop="userInfo.contactPerson" borderBottom ref="item1">
                     <u--input v-model="model1.userInfo.contactPerson" border="none"></u--input>
                 </u-form-item> -->
 
-                <u-form-item labelWidth='180' label="报修位置:" prop="userInfo.repairPositioncontactPerson" borderBottom
-                             @click="showfloor = true;" ref="item1">
-                    <u--input v-model="model1.userInfo.myposition" disabled disabledColor="#ffffff"
-                              placeholder="请选择报修位置" border="none"></u--input>
-                    <u-icon slot="right" contactPerson="arrow-right"></u-icon>
-                </u-form-item>
-
-                <u-form-item labelWidth='180' label="报修区域:" prop="userInfo.repairRegioncontactPerson" borderBottom
-                             @click="showSex = true;" ref="item1">
-                    <u--input v-model="model1.userInfo.repairRegioncontactPerson" disabled disabledColor="#ffffff" placeholder="请选择报修区域"
-                              border="none"></u--input>
-                    <u-icon slot="right" contactPerson="arrow-right"></u-icon>
-                </u-form-item>
-
-                <u-form-item labelWidth='180' label="报修类型:" prop="userInfo.taskdegree" borderBottom
-                             @click="showtaskdegree = true;" ref="item1">
-                    <u--input v-model="model1.userInfo.taskdegree" disabled disabledColor="#ffffff"
-                              placeholder="请选择报修类型" border="none"></u--input>
-                    <u-icon slot="right" contactPerson="arrow-right"></u-icon>
-                </u-form-item>
-                <u-form-item labelWidth='180' label="联系人:" prop="userInfo.contactPerson" borderBottom ref="item1">
-                    <u--input v-model="model1.userInfo.contactPerson" border="none"></u--input>
-                </u-form-item>
-                <u-form-item labelWidth='180' label="联系电话:" prop="userInfo.contactPhone" borderBottom ref="item1">
-                    <u--input v-model="model1.userInfo.contactPhone" border="none"></u--input>
-                </u-form-item>
-                <u-form-item labelWidth='180' label="故障描述:" prop="userInfo.contactcontactPhone" borderBottom ref="item1">
-                    <u--input v-model="model1.userInfo.contactcontactPhone" border="none"></u--input>
-                </u-form-item>
-
-                <u-form-item labelWidth='180' label="上传图片:" prop="userInfo.contactcontactPhone" borderBottom ref="item1">
-                    <view class="">
-                        <u-upload
-                                :fileList="fileList1"
-                                @afterRead="afterRead"
-                                @delete="deletePic"
-                                contactPerson="1"
-                                multiple
-                                :maxCount="10"
-                        >
-                            <image :src="xiangji"
-                                   mode="widthFix" style="width: 90rpx;height: 90rpx;"></image>
-                        </u-upload>
-                    </view>
-                </u-form-item>
-
-
-
-            </u--form>
-
-            <view class="guidang">
-                <view class="queding">
-                    <u-button type="primary" :plain="true" text="返回" @click="returndata"></u-button>
-                </view>
-                <view class="queding">
-                    <u-button type="primary" text="提交" @click="editdata"></u-button>
-                </view>
-            </view>
-        </view>
-
-
-        <u-picker @cancel='showtaskdegree = false' @confirm='degreeconfirm' :show="showtaskdegree"
-                  :columns="columnshowtaskdegree" keycontactPerson="label">
-        </u-picker>
-
-        <u-picker @cancel='showSex = false' @confirm='typeconfirm' :show="showSex" :columns="columnsquyu"
-                  keycontactPerson="label">
-        </u-picker>
-
-        <u-picker :show="showfloor" ref="uPicker" :loading="loading" @confirm="confirmfloor" @cancel='cancelfloor'
-                  :columns="columns" keycontactPerson="orgcontactPerson" @change="changeHandler"></u-picker>
-
-
-    </view>
+				<u-form-item labelWidth='180' label="报修位置:" prop="userInfo.repairPositionName" borderBottom
+					@click="showfloor = true;" ref="item1">
+					<u--input v-model="model1.userInfo.repairPositionName" disabled disabledColor="#ffffff"
+						placeholder="请选择报修位置" border="none"></u--input>
+					<u-icon slot="right" contactPerson="arrow-right"></u-icon>
+				</u-form-item>
+
+				<u-form-item labelWidth='180' label="报修区域:" prop="userInfo.repairRegionName" borderBottom
+					@click="showSex = true;" ref="item1">
+					<u--input v-model="model1.userInfo.repairRegionName" disabled disabledColor="#ffffff"
+						placeholder="请选择报修区域" border="none"></u--input>
+					<u-icon slot="right" contactPerson="arrow-right"></u-icon>
+				</u-form-item>
+
+				<u-form-item labelWidth='180' label="报修类型:" prop="userInfo.repairTypeName" borderBottom
+					@click="showtaskdegree = true;" ref="item1">
+					<u--input v-model="model1.userInfo.repairTypeName" disabled disabledColor="#ffffff"
+						placeholder="请选择报修类型" border="none"></u--input>
+					<u-icon slot="right" contactPerson="arrow-right"></u-icon>
+				</u-form-item>
+				<u-form-item labelWidth='180' label="联系人:" prop="userInfo.contactPerson" borderBottom ref="item1">
+					<u--input v-model="model1.userInfo.contactPerson" border="none"></u--input>
+				</u-form-item>
+				<u-form-item labelWidth='180' label="联系电话:" prop="userInfo.contactPhone" borderBottom
+					ref="item1">
+					<u--input v-model="model1.userInfo.contactPhone" border="none"></u--input>
+				</u-form-item>
+				<u-form-item labelWidth='180' label="故障描述:" prop="userInfo.faultDes" borderBottom ref="item1">
+					<u--input v-model="model1.userInfo.faultDes" border="none"></u--input>
+				</u-form-item>
+
+				<u-form-item labelWidth='180' label="上传照片:" prop="userInfo.faultPics" borderBottom ref="item1">
+					<view class="">
+						<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" 	name="1"
+							multiple :maxCount="10">
+							<image :src="xiangji" mode="widthFix" style="width: 90rpx;height: 90rpx;"></image>
+						</u-upload>
+					</view>
+				</u-form-item>
+			</u--form>
+
+
+			<view class="guidang">
+				<view class="queding">
+					<u-button type="primary" :plain="true" text="返回" @click="returndata"></u-button>
+				</view>
+				<view class="queding">
+					<u-button type="primary" text="提交" @click="editdata"></u-button>
+				</view>
+			</view>
+		</view>
+
+
+		<u-picker @cancel='showtaskdegree = false' @confirm='degreeconfirm' :show="showtaskdegree"
+			:columns="columnshowtaskdegree" keyName="label">
+		</u-picker>
+
+		<u-picker @cancel='showSex = false' @confirm='typeconfirm' :show="showSex" :columns="columnsquyu"
+			keyName="label">
+		</u-picker>
+
+		<u-picker :show="showfloor" ref="uPicker" :loading="loading" @confirm="confirmfloor" @cancel='cancelfloor'
+			keyName="orgName" :columns="columns" @change="changeHandler"></u-picker>
+
+
+
+
+	</view>
 </template>
 
 <script>
-    const BaseApi = require("@/http/baseApi.js");
-    export default {
-        components: {},
-        data() {
-            return {
-                loading: false,
-                fileList1: [],
-                xiangji: require('@/static/index/xj.png'),
-                columns: [
-                    [],
-                    [],
-                    []
-                ],
-                columnData: [],
-                columnDatalist: [],
-                showfloor: false,
-
-
-                showSex: false,
-                showday: false,
-                showPicker: false,
-                showtaskdegree: false,
-                showtaskpeople: false,
-
-                model1: {
-                    userInfo: {
-                        id: "",
-                        buildingId: "",//
-                        storeyId: "",//
-                        houseId: "",//
-                        repairPosition: "",//
-                        repairPositioncontactPerson: "",//报修位置名称
-                        repairRegion: '',//报修位置名称
-                        repairRegioncontactPerson: "",//报修区域
-                        repairType: '',//报修类型
-                        repairTypecontactPerson: "",//报修类型
-                        contactPerson: "",//联系人
-                        contactcontactPhone: "",//电话
-                        faultDes: "",// 故障描述
-                        faultPics: "",//图片
-                    },
-                },
-                columnsquyu: [
-                    [{
-                        label: '公共区域',
-                        id: 1
-
-                    }, {
-                        label: '室内',
-                        id: 2
-                    }]
-                ],
-
-                columnshowtaskdegree: [
-                    [{
-                        label: '水',
-                        id: 1
-
-                    }, {
-                        label: '电',
-                        id: 2
-                    },
-                        {
-                            label: '其他',
-                            id: 3
-                        },
-                    ]
-                ],
-
-                rules: {
-                    'userInfo.contactPerson': {
-                        type: 'string',
-                        required: true,
-                        message: '请填写姓名',
-                        trigger: ['blur', 'change']
-                    },
-                    'userInfo.contactPhone': {
-                        type: 'string',
-                        required: true,
-                        message: '请填写联系电话',
-                        trigger: ['blur', 'change']
-                    },
-                    'userInfo.contactcontactPhone': {
-                        type: 'string',
-                        required: true,
-                        message: '请填写故障',
-                        trigger: ['blur', 'change']
-                    },
-
-                    'userInfo.repairRegioncontactPerson': {
-                        type: 'string',
-                        required: true,
-                        message: '请选择报修区域',
-                        trigger: ['blur', 'change']
-                    },
-                    'userInfo.repairPositioncontactPerson': {
-                        type: 'string',
-                        required: true,
-                        message: '请选择报修位置',
-                        trigger: ['blur', 'change']
-                    },
-                    'userInfo.taskdegree': {
-                        type: 'string',
-                        required: true,
-                        message: '请选择报修类型',
-                        trigger: ['blur', 'change']
-                    },
-
-
-                },
-
-            };
-        },
-        onLoad() {
-            this.getfloor();
-            //	this.loadmore();
-        },
-
-        methods: {
-// 删除图片
-            deletePic(event) {
-                this[`fileList${event.contactPerson}`].splice(event.index, 1)
-            },
-            // 新增图片
-            async afterRead(event) {
-                // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
-                let lists = [].concat(event.file)
-                let fileListLen = this[`fileList${event.contactPerson}`].length
-                lists.map((item) => {
-                    this[`fileList${event.contactPerson}`].push({
-                        ...item,
-                        status: 'uploading',
-                        message: '上传中'
-                    })
-                })
-                for (let i = 0; i < lists.length; i++) {
-                    const result = await this.uploadFilePromise(lists[i].url)
-                    let item = this[`fileList${event.contactPerson}`][fileListLen]
-                    this[`fileList${event.contactPerson}`].splice(fileListLen, 1, Object.assign(item, {
-                        status: 'success',
-                        message: '',
-                        url: result
-                    }))
-                    fileListLen++
-                }
-            },
-            uploadFilePromise(url) {
-                return new Promise((resolve, reject) => {
-                    let a = uni.uploadFile({
-
-                        url: BaseApi.BaseApi + '/uploadFile',
-                        filePath: url,
-                        contactPerson: 'file',
-                        formData: {
-                            user: 'test'
-                        },
-                        success: (res) => {
-                            console.log('111111111111111111', res)
-                            setTimeout(() => {
-                                resolve(res.data.data)
-                            }, 1000)
-                        }
-                    });
-                })
-            },
-
-
-            changeHandler(e) {
-                // console.log('77777', e)
-                const {
-
-                    columnIndex,
-                    value,
-                    values, // values为当前变化列的数组内容
-                    index,
-                    indexs,
-
-
-                    picker = this.$refs.uPicker
-                } = e
-                console.log('999999', columnIndex, index, indexs)
-
-
-                if (columnIndex === 0) {
-                    //	this.loading = true
-
-                    picker.setColumnValues(1, this.alldata[index].childrenList)
-                    if (this.alldata[index].childrenList[0].childrenList == null) {
-                        console.log('66666',)
-                        this.alldata[index].childrenList[0].childrenList = []
-                    } else {
-                        console.log('00000000',)
-                    }
-
-                    //	picker.setColumnValues(2, this.alldata[index].childrenList[0].childrenList)
-
-                    picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[0].childrenList)
-                    //	this.loading = false
-                } else if (columnIndex === 1) {
-                    // picker为选择器this实例,变化第三列对应的选项
-
-                    if (this.alldata[indexs[0]].childrenList[indexs[1]] == null) {
-                        console.log('123',)
-                        this.alldata[indexs[0]].childrenList[indexs[1]] = []
-                    } else {
-                        console.log('345',)
-                    }
-                    console.log('222', this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
-                    picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
-
-                }
-
-
-            },
-            confirmfloor(e) {
-                console.log('222222', e.value)
-                //	this.model1.userInfo.myposition = e.value[0].orgcontactPerson + e.value[1].orgcontactPerson;
-
-                // this.dataForm.buildingId = e.value[0].orgId;
-                // this.dataForm.storeyId = e.value[1].orgId;
-                // this.showfloor = false;
-                // this.getalldata();
-            },
-            cancelfloor() {
-                this.showfloor = false;
-            },
-            getfloor() {
-                this.$api.get('/control/getOrgStructureTree', {})
-                    .then(res => {
-                        if (res.data.code == 0) {
-                            //this.dataForm.projectId = res.data.data[0].orgId;
-
-                            //	this.model1.userInfo.myposition = res.data.data[0].orgcontactPerson;
-                            this.alldata = res.data.data[0].childrenList;
-                            //console.log('111111111111111111', res.data.data[0].childrenList)
-                            this.columns = [
-                                this.alldata,
-                                this.alldata[0].childrenList,
-                                this.alldata[0].childrenList[0].childrenList
-                            ]
-                            let allfloor = [];
-                            for (let i = 0; i < this.alldata.length; i++) {
-                                allfloor.push(this.alldata[i].childrenList)
-                            }
-                            this.columnData = allfloor;
-                            //console.log('000', allfloor)
-                            let lastlist = [];
-                            for (let i = 0; i < this.alldata.length; i++) {
-                                for (let ii = 0; ii < this.alldata[i].childrenList.length; ii++) {
-                                    //  console.log('111111111111111111',this.alldata[i].childrenList[ii].childrenList)
-                                    lastlist.push(this.alldata[i].childrenList[ii].childrenList)
-                                }
-                            }
-                            this.columnDatalist = lastlist
-
-                            //	console.log('999', lastlist)
-
-                            //	this.getalldata();
-                        } else {
-                            this.showdct = true
-                        }
-                    })
-            },
-            onShowDatePicker() { //显示
-
-                this.showPicker = true;
-                //  this.value =this.model1.userInfo.repairPositioncontactPerson;
-            },
-
-            returndata() {
-                uni.navigateBack({
-                    delta: 1
-                });
-            },
-            editdata() {
-                uni.navigateBack({
-                    delta: 1
-                });
-            },
-
-            typeconfirm(e) {
-                console.log('111111111111111111', e.value[0].label)
-                this.model1.userInfo.repairRegioncontactPerson = e.value[0].label;
-                this.showSex = false;
-                // this.model1.userInfo.sex = e.contactPerson
-                this.$refs.form1.validateField('userInfo.repairRegioncontactPerson')
-            },
-
-            degreeconfirm(e) {
-                //console.log('111111111111111111', e.value[0].label)
-                this.model1.userInfo.taskdegree = e.value[0].label;
-                this.showtaskdegree = false;
-                // this.model1.userInfo.sex = e.contactPerson
-                this.$refs.form1.validateField('userInfo.taskdegree')
-            },
-            peopleconfirm(e) {
-                //console.log('111111111111111111', e.value[0].label)
-                this.model1.userInfo.taskpeople = e.value[0].label;
-                this.showtaskpeople = false;
-                // this.model1.userInfo.sex = e.contactPerson
-                this.$refs.form1.validateField('userInfo.taskpeople')
-            },
-
-
-        },
-        onReady() {
-            //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
-            this.$refs.form1.setRules(this.rules)
-        },
-    };
+	const BaseApi = require("@/http/baseApi.js");
+	export default {
+		components: {},
+		data() {
+			return {
+				loading: false,
+				fileList1: [],
+				xiangji: require('@/static/index/xj.png'),
+				columns: [
+					[],
+					[],
+					[]
+				],
+				columnData: [],
+				columnDatalist: [],
+				showfloor: false,
+
+				myposition: '',
+				showSex: false,
+				showday: false,
+				showPicker: false,
+				showtaskdegree: false,
+				showtaskpeople: false,
+
+				model1: {
+					userInfo: {
+						id: "",
+						buildingId: "", //  楼栋ID
+						storeyId: "", //  层数ID
+						houseId: "", //  房间ID
+						repairPosition: "", //  房间ID
+						repairPositionName: "", //报修位置名称
+						repairRegion: '', //报修修区域
+						repairRegionName: "", //报修区域名称
+						repairType: '', //报修类型
+						repairTypeName: "", //报修类型
+						contactPerson: "", //联系人
+						contactPhone: "", //电话
+						faultDes: "", // 故障描述
+						faultPics: "", //图片
+					},
+				},
+				columnsquyu: [
+					[{
+						label: '公共区域',
+						id: 1
+
+					}, {
+						label: '室内',
+						id: 2
+					}]
+				],
+
+				columnshowtaskdegree: [
+					[{
+							label: '水',
+							id: 1
+
+						}, {
+							label: '电',
+							id: 2
+						},
+						{
+							label: '其他',
+							id: 3
+						},
+					]
+				],
+
+				rules: {
+					'userInfo.contactPerson': {
+						type: 'string',
+						required: true,
+						message: '请填写联系人',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.faultDes': {
+						type: 'string',
+						required: true,
+						message: '请填写故障描述',
+						trigger: ['blur', 'change']
+					},
+					
+
+					'userInfo.contactPhone': [{
+							required: true,
+							message: '请填写联系电话',
+							trigger: ['change', 'blur'],
+						},
+						{
+							// 自定义验证函数,见上说明
+							validator: (rule, value, callback) => {
+								// 上面有说,返回true表示校验通过,返回false表示不通过
+								// uni.$u.test.mobile()就是返回true或者false的
+								return uni.$u.test.mobile(value);
+							},
+							message: '手机号码不正确',
+							// 触发器可以同时用blur和change
+							trigger: ['change', 'blur'],
+						}
+					],
+
+					'userInfo.repairRegionName': {
+						type: 'string',
+						required: true,
+						message: '请选择报修区域',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.repairPositionName': {
+						type: 'string',
+						required: true,
+						message: '请选择报修位置',
+						trigger: ['blur', 'change']
+					},
+					'userInfo.repairTypeName': {
+						type: 'string',
+						required: true,
+						message: '请选择报修类型',
+						trigger: ['blur', 'change']
+					},
+
+
+				},
+
+			};
+		},
+		onLoad() {
+			this.getfloor();
+			//	this.loadmore();
+		},
+
+		methods: {
+			
+			// 删除图片
+						deletePic(event) {
+							this.fileList1.splice(event.index, 1)
+						},
+						// 新增图片
+						async afterRead(event) {
+							// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
+							let lists = [].concat(event.file)
+							let fileListLen =this.fileList1.length
+							lists.map((item) => {
+								this.fileList1.push({
+									...item,
+									status: 'uploading',
+									message: '上传中'
+								})
+							})
+							
+							  console.log('111111111111111111',this.fileList1)
+							for (let i = 0; i < lists.length; i++) {
+								const result = await this.uploadFilePromise(lists[i].url)
+													
+								let item = this.fileList1[fileListLen]
+								this.fileList1.splice(fileListLen, 1, Object.assign(item, {
+									status: 'success',
+									message: '',
+									url: result
+								}))
+								fileListLen++
+							}
+						},
+						uploadFilePromise(url) {
+							  console.log('999',url)
+							this.$api.post('/uploadFile',{data:url})
+							.then(res=>{
+							  console.log('111111111111111111',res)
+							})
+							
+							
+							// return new Promise((resolve, reject) => {
+							// 	let a = uni.uploadFile({
+							// 		url: BaseApi.BaseApi + '/uploadFile', 
+							// 		filePath: url,
+							// 		name: 'file',
+							// 		formData: {
+							// 			user: 'test'
+							// 		},
+							// 		success: (res) => {
+							// 			setTimeout(() => {
+							// 				resolve(res.data.data)
+							// 			}, 1000)
+							// 		}
+							// 	});
+							// })
+						},
+			
+
+			changeHandler(e) {
+				const {
+					columnIndex,
+					value,
+					values, // values为当前变化列的数组内容
+					index,
+					indexs,
+					picker = this.$refs.uPicker
+				} = e
+				console.log('999999', columnIndex, index, indexs)
+
+
+				if (columnIndex == 0) {
+					//	this.loading = true
+
+					picker.setColumnValues(1, this.alldata[index].childrenList)
+					if (this.alldata[indexs[0]].childrenList[0].childrenList == null) {
+						console.log('66666', )
+						picker.setColumnValues(2, [])
+					} else {
+						console.log('00000000', )
+						picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[0].childrenList)
+					}
+
+
+					//  picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[0].childrenList)
+					//	this.loading = false
+				} else if (columnIndex == 1) {
+					// picker为选择器this实例,变化第三列对应的选项
+					// if (this.alldata[indexs[0]].childrenList[indexs[1]] == null) {
+					//     console.log('123',)
+					//     this.alldata[indexs[0]].childrenList[indexs[1]] = []
+					// } else {
+					//     console.log('345',)
+					// }
+					console.log('222', this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
+					picker.setColumnValues(2, this.alldata[indexs[0]].childrenList[indexs[1]].childrenList)
+
+				}
+
+
+			},
+			confirmfloor(e) {
+				console.log('222222', e.value)
+
+				this.model1.userInfo.repairPositionName = e.value[0].orgName + '/' + e.value[1].orgName + '/' + e.value[2].orgName;
+
+				this.model1.userInfo.buildingId = e.value[0].orgId;
+				this.model1.userInfo.storeyId = e.value[1].orgId;
+				this.model1.userInfo.houseId = e.value[2].orgId;
+				this.model1.userInfo.repairPosition = e.value[2].orgId;
+
+				this.showfloor = false;
+
+				// this.getalldata();
+			},
+			cancelfloor() {
+				this.showfloor = false;
+			},
+			getfloor() {
+				this.$api.get('/control/getOrgStructureTree', {})
+					.then(res => {
+						if (res.data.code == 0) {
+							//this.dataForm.projectId = res.data.data[0].orgId;
+
+							//	this.model1.userInfo.myposition = res.data.data[0].orgcontactPerson;
+							this.alldata = res.data.data[0].childrenList;
+
+							this.columns = [
+								this.alldata,
+								this.alldata[0].childrenList,
+								this.alldata[0].childrenList[0].childrenList
+							]
+
+
+						} else {
+							this.showdct = true
+						}
+					})
+			},
+			onShowDatePicker() { //显示
+
+				this.showPicker = true;
+				//  this.value =this.model1.userInfo.repairPositioncontactPerson;
+			},
+
+			returndata() {
+				uni.navigateBack({
+					delta: 1
+				});
+			},
+			editdata() {
+				console.log('111111111111111111', this.model1.userInfo)
+				this.$refs.form1.validate().then(res => {
+					uni.$u.toast('校验通过')
+					this.$api.post('/repairorder',this.model1.userInfo)
+					.then(res=>{
+					uni.navigateBack({
+					    delta: 1
+					});
+					})
+					
+					
+				}).catch(errors => {
+					uni.$u.toast('校验失败')
+				})
+
+				
+			},
+
+			typeconfirm(e) {
+
+				//  console.log('111111111111111111', e.value[0])
+				this.model1.userInfo.repairRegion = e.value[0].id;
+				this.model1.userInfo.repairRegionName = e.value[0].label;
+
+				this.showSex = false;
+				// this.model1.userInfo.sex = e.contactPerson
+				this.$refs.form1.validateField('userInfo.repairRegionName')
+			},
+
+			degreeconfirm(e) {
+				//console.log('111111111111111111', e.value[0].label)
+				this.model1.userInfo.repairType = e.value[0].id;
+				this.model1.userInfo.repairTypeName = e.value[0].label;
+
+				this.showtaskdegree = false;
+				// this.model1.userInfo.sex = e.contactPerson
+				this.$refs.form1.validateField('userInfo.repairTypeName')
+			},
+
+
+
+		},
+		onReady() {
+			//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
+			this.$refs.form1.setRules(this.rules)
+		},
+	};
 </script>
 
 <style>
-    .guidang {
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        margin-top: 40 rpx;
-    }
-
-    .queding {
-        width: 40%;
-    }
-
-    .wfgz {
-       margin: 20rpx;
-	   margin-top: 0px;
-    }
+	.guidang {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		margin-top: 40rpx;
+	}
+
+	.queding {
+		width: 40%;
+	}
+
+	.wfgz {
+		margin: 20rpx;
+		margin-top: 0px;
+	}
 </style>

+ 10 - 2
pages/index/Withholdingrecord/Withholdingrecord.vue

@@ -75,7 +75,7 @@
 </template>
 
 <script>
-import { isEmpty, getDictDataList } from "@/utils/index";
+//import { isEmpty, getDictDataList } from "@/utils/index";
 	export default {
 		components: {
 		
@@ -117,7 +117,15 @@ import { isEmpty, getDictDataList } from "@/utils/index";
 		},
 		//监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参
 		onLoad() {
-			this.columnstype=[getDictDataList("PayType")]
+
+			let getDictDataList=uni.getStorageSync('getDictDataList');
+
+			for(let i=0;i<getDictDataList.length;i++){
+				if(getDictDataList[i].dictType=='PayType'){
+					this.columnstype=getDictDataList[i]
+				}
+			}
+
 			//  console.log('111111111111111111',this.columnstype)
 			this.getfloor();
 			//	this.loadmore();

+ 1 - 1
pages/index/Workordertodone/Workorderdetails/Workorderdetails.vue

@@ -50,7 +50,7 @@
 </template>
 
 <script>
-	import { isEmpty, getDictDataList } from "@/utils/index";
+
 	export default {
 		data() {
 			return {

+ 1 - 1
pages/index/Workordertodone/Workordertodone.vue

@@ -117,7 +117,7 @@
 </template>
 
 <script>
-	import { isEmpty, getDictDataList } from "@/utils/index";
+//	import { isEmpty, getDictDataList } from "@/utils/index";
 	
 	export default {
 		data() {

+ 126 - 97
pages/login/login.vue

@@ -9,24 +9,24 @@
 			<view class="row-input">
 
 				<u-icon name="account" color="#2979ff" size="50" style="padding: 0 20rpx;"></u-icon>
-				<input  v-model="account" placeholder="请输入用户账号" maxlength="18" />
+				<input v-model="account" placeholder="请输入用户账号" maxlength="18" />
 			</view>
 			<view class="row-input">
 				<u-icon name="lock" color="#2979ff" size="50" style="padding: 0 20rpx;"></u-icon>
-				<input v-model="password"  placeholder="登陆密码" :password="!isShowPassword" />
+				<input v-model="password" placeholder="登陆密码" :password="!isShowPassword" />
 				<u-icon name="eye-fill" color="#2979ff" size="50" style="padding-right:20rpx" v-if="isShowPassword"
 					@click="showOrHide"></u-icon>
 				<u-icon name="eye-off" color="#2979ff" size="50" style="padding-right:0rpx" v-else @click="showOrHide">
 				</u-icon>
 			</view>
-			
+
 			<!-- <view class="rowinputcaptcha">
 				<u-icon name="hourglass" color="#2979ff" size="50" style="padding: 0 20rpx;"></u-icon>
 				<input class="captchainput" v-model="captcha"  placeholder="验证码"/>			
 				<u--image :showLoading="true" :src="captchaPath" width="150px" height="35px" @click="getCaptcha"></u--image>
 				
 			</view> -->
-			
+
 			<view class="menu-link">
 				<text @click="forget">找回密码</text>
 			</view>
@@ -35,108 +35,137 @@
 				还没有账号?<text @click="register">注册</text>
 			</view>
 		</view>
-		
+
 		<u-toast ref="uToast" />
 	</view>
 </template>
 
 <script>
-// function getUUID() {
-//   return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
-//     return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
-//   })
-// }
-const BaseApi= require("@/http/baseApi.js");
+	// function getUUID() {
+	//   return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
+	//     return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
+	//   })
+	// }
+	//const BaseApi= require("@/http/baseApi.js");
 
 	export default {
 		data() {
 			return {
 				isShowPassword: true,
-				account:'admin',
-				password:'cx868688',
-				captcha:'',
-				 uuid: '',
-				captchaPath:'',
-			
-				
+				account: 'admin',
+				password: 'cx868688',
+				captcha: '',
+				uuid: '',
+				captchaPath: '',
+
+
 			}
 		},
-		
+
 		onLoad() {
-		//	 this.getCaptcha(); 
+			//	 this.getCaptcha(); 
 		},
-		
+
 		methods: {
-			  // 获取验证码			  
-			   //  getCaptcha() {
-			   //    this.uuid = getUUID();
-				  // this.captchaPath =BaseApi.BaseApi+ `/captcha?uuid=${this.uuid}`; 
-				  				
-			   //  },
-			
+			// 获取验证码			  
+			//  getCaptcha() {
+			//    this.uuid = getUUID();
+			// this.captchaPath =BaseApi.BaseApi+ `/captcha?uuid=${this.uuid}`; 
+
+			//  },
+
 			loginbtn() {
-			
-				if(this.account==''){
+
+				if (this.account == '') {
 					this.$refs.uToast.show({
-					    type:'error',
-					 message: "请输入账号", 
-					})  				
+						type: 'error',
+						message: "请输入账号",
+					})
 					// uni.showToast({
 					// 	title: "请输入账号",
 					// 	icon:'error',
 					// 	duration: 1000,
 					// })
-				}else if(this.password==''){
+				} else if (this.password == '') {
 					this.$refs.uToast.show({
-					    type:'error',
-					 message: "请输入密码", 
-					})  
+						type: 'error',
+						message: "请输入密码",
+					})
 				}
-				
+
 				let formData = {
 					username: this.account,
 					password: this.password,
 					// uuid:this.uuid,
 					// captcha:this.captcha,
 				}
-				 //登录功能
-				  this.$api.post('/login',formData)
-				  	.then(res => {
-							
-						if(res.data.code==0){  
-					
-						 uni.setStorageSync('tokendata', res.data.data.token);//token
-						  uni.setStorageSync('Userinformation',formData);//用户信息
-						 //获取用户权限功能
-	// 					 this.$api.get('/sys/menu/permissions',{})
-	// 					 .then(res1=>{
-	// 					 	uni.setStorageSync('ButtonPermissions', res1.data.data);//权限列表
-	// 						uni.switchTab({
-	// 							url: '/pages/index/index',
-	// 							success:res=>{},
-	// 							fail:()=>{},
-	// 							complete:()=>{},
-	// 						})
-	
-	// 					 })
-						 uni.switchTab({
-						 							url: '/pages/index/index',
-						  							success:res=>{},
-						  							fail:()=>{},
-													complete:()=>{},
-						 						})
-						 
-						 }else{
-							 this.$refs.uToast.show({
-							     type:'error',
-							  message: "账号或者密码错误,请重新输入", 
-							 })  
-						 }																				  		
-				  	})
-				  
-			
+				//登录功能
+				this.$api.post('/login', formData)
+					.then(res => {
+
+						if (res.data.code == 0) {
+
+							uni.setStorageSync('tokendata', res.data.data.token); //token
+							uni.setStorageSync('Userinformation', formData); //用户信息
+							//获取用户权限功能
+							// 					 this.$api.get('/sys/menu/permissions',{})
+							// 					 .then(res1=>{
+							// 					 	uni.setStorageSync('ButtonPermissions', res1.data.data);//权限列表
+							// 						uni.switchTab({
+							// 							url: '/pages/index/index',
+							// 							success:res=>{},
+							// 							fail:()=>{},
+							// 							complete:()=>{},
+							// 						})
+
+							// 					 })
+
+						
+							Promise.all([this.getpermissions(), this.getDictList()]).then(() => {
+
+								uni.switchTab({
+									url: '/pages/index/index',
+									success: res => {},
+									fail: () => {},
+									complete: () => {},
+								})
+
+							});
+
+
+
+
+						} else {
+							this.$refs.uToast.show({
+								type: 'error',
+								message: "账号或者密码错误,请重新输入",
+							})
+						}
+					})
+
+
+			},
+
+			getpermissions() {
+				  console.log('权限功能',)
+				//获取用户权限功能
+				// 					 this.$api.get('/sys/menu/permissions',{})
+				// 					 .then(res1=>{
+				// 					 	uni.setStorageSync('ButtonPermissions', res1.data.data);//权限列表
+				// 						
+				// 					 })
+			},
+			getDictList() {
+//获取字典列表, 添加并全局变量保存
+									 this.$api.get('/all',{})
+									 .then(res=>{
+										 //  console.log('88888', res.data.data)
+									 	uni.setStorageSync('getDictDataList', res.data.data);
+										
+									 })
 			},
 
+
 			// 密码显示/密码隐藏
 			showOrHide() {
 				this.isShowPassword = !this.isShowPassword
@@ -146,9 +175,9 @@ const BaseApi= require("@/http/baseApi.js");
 			forget() {
 				uni.navigateTo({
 					url: '/pages/login/forget',
-					success:res=>{},
-					fail:()=>{},
-					complete:()=>{},
+					success: res => {},
+					fail: () => {},
+					complete: () => {},
 				})
 			},
 
@@ -156,9 +185,9 @@ const BaseApi= require("@/http/baseApi.js");
 			register() {
 				uni.navigateTo({
 					url: '/pages/login/register',
-					success:res=>{},
-					fail:()=>{},
-					complete:()=>{},
+					success: res => {},
+					fail: () => {},
+					complete: () => {},
 				})
 			}
 		}
@@ -196,21 +225,21 @@ const BaseApi= require("@/http/baseApi.js");
 	}
 
 	.form-box {
-.rowinputcaptcha{
-	display: flex;
-	justify-content: flex-start;
-	align-items: center;
-	height: 110rpx;
-	//background-color: #2b2f41;
-	border-radius: 8rpx;
-	margin-bottom: 50rpx;
-	
-	input {
-		width: 300rpx;
-		font-size: 30rpx;
-		color: #a1a2a3;
-	}
-}
+		.rowinputcaptcha {
+			display: flex;
+			justify-content: flex-start;
+			align-items: center;
+			height: 110rpx;
+			//background-color: #2b2f41;
+			border-radius: 8rpx;
+			margin-bottom: 50rpx;
+
+			input {
+				width: 300rpx;
+				font-size: 30rpx;
+				color: #a1a2a3;
+			}
+		}
 
 
 		.row-input {
@@ -271,8 +300,8 @@ const BaseApi= require("@/http/baseApi.js");
 			}
 		}
 	}
-	.captchainput{
+
+	.captchainput {
 		width: 300rpx;
 	}
-	
 </style>

Разница между файлами не показана из-за своего большого размера
+ 2 - 2
unpackage/cache/wgt/__UNI__FF40C0C/app-config-service.js


Разница между файлами не показана из-за своего большого размера
+ 6 - 6
unpackage/cache/wgt/__UNI__FF40C0C/app-service.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/cache/wgt/__UNI__FF40C0C/app-view.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/cache/wgt/__UNI__FF40C0C/manifest.json


Разница между файлами не показана из-за своего большого размера
+ 36 - 0
unpackage/cache/wgt/__UNI__FF40C0C/static/index/arrow-right.svg


Разница между файлами не показана из-за своего большого размера
+ 21 - 0
unpackage/cache/wgt/__UNI__FF40C0C/static/index/btn-arrow-right.svg


Разница между файлами не показана из-за своего большого размера
+ 76 - 0
unpackage/cache/wgt/__UNI__FF40C0C/static/index/check-review.svg


Разница между файлами не показана из-за своего большого размера
+ 84 - 0
unpackage/cache/wgt/__UNI__FF40C0C/static/index/reduce-record.svg


Разница между файлами не показана из-за своего большого размера
+ 89 - 0
unpackage/cache/wgt/__UNI__FF40C0C/static/index/repair-online.svg


BIN
unpackage/cache/wgt/__UNI__FF40C0C/static/index/xj.png


BIN
unpackage/cache/wgt/__UNI__FF40C0C/static/management/yc.png


BIN
unpackage/cache/wgt/__UNI__FF40C0C/static/management/zd.png


Разница между файлами не показана из-за своего большого размера
+ 2 - 2
unpackage/dist/build/app-plus/app-config-service.js


Разница между файлами не показана из-за своего большого размера
+ 6 - 6
unpackage/dist/build/app-plus/app-service.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/build/app-plus/app-view.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/build/app-plus/manifest.json


Разница между файлами не показана из-за своего большого размера
+ 36 - 0
unpackage/dist/build/app-plus/static/index/arrow-right.svg


Разница между файлами не показана из-за своего большого размера
+ 21 - 0
unpackage/dist/build/app-plus/static/index/btn-arrow-right.svg


Разница между файлами не показана из-за своего большого размера
+ 76 - 0
unpackage/dist/build/app-plus/static/index/check-review.svg


Разница между файлами не показана из-за своего большого размера
+ 84 - 0
unpackage/dist/build/app-plus/static/index/reduce-record.svg


Разница между файлами не показана из-за своего большого размера
+ 89 - 0
unpackage/dist/build/app-plus/static/index/repair-online.svg


BIN
unpackage/dist/build/app-plus/static/index/xj.png


BIN
unpackage/dist/build/app-plus/static/management/yc.png


BIN
unpackage/dist/build/app-plus/static/management/zd.png