Przeglądaj źródła

Signed-off-by: zhaobao <528046418@qq.com>

zhaobao 2 lat temu
rodzic
commit
bf67d95671
75 zmienionych plików z 4015 dodań i 1892 usunięć
  1. 76 0
      api/check.js
  2. 81 0
      api/dangerApi.js
  3. 48 0
      api/goaf.js
  4. 1 7
      api/index.js
  5. 70 0
      api/system/wfApi.js
  6. 20 0
      api/task.js
  7. 15 0
      api/user.js
  8. 2 2
      config/index.js
  9. 19 1
      pages.json
  10. 9 11
      pages/index/index.vue
  11. 129 56
      pages/risk/check/form/form.vue
  12. 165 54
      pages/risk/rectify/form/form.vue
  13. 177 67
      pages/risk/review/form/form.vue
  14. 36 2
      pages/risk/review/review.vue
  15. 13 18
      pages/risk/risk.vue
  16. 341 0
      pages/task/submit/submit.vue
  17. 7 9
      pages/task/task.vue
  18. 180 0
      pages/task/taskList/taskList.vue
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/password/password.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/check/check.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/check/form/form.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/rectify/form/form.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/rectify/rectify.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/repeal/repeal.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/review/form/form.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/review/review.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/risk.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/task/form/form.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/task/task.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  43. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  44. 969 1488
      unpackage/dist/dev/mp-weixin/common/vendor.js
  45. 7 8
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  46. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  47. 3 3
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  48. 3 3
      unpackage/dist/dev/mp-weixin/pages/mine/password/password.js
  49. 13 13
      unpackage/dist/dev/mp-weixin/pages/risk/check/check.js
  50. 16 16
      unpackage/dist/dev/mp-weixin/pages/risk/check/form/form.js
  51. 16 16
      unpackage/dist/dev/mp-weixin/pages/risk/rectify/form/form.js
  52. 13 13
      unpackage/dist/dev/mp-weixin/pages/risk/rectify/rectify.js
  53. 13 13
      unpackage/dist/dev/mp-weixin/pages/risk/repeal/repeal.js
  54. 7 7
      unpackage/dist/dev/mp-weixin/pages/risk/review/form/form.js
  55. 64 11
      unpackage/dist/dev/mp-weixin/pages/risk/review/review.js
  56. 3 1
      unpackage/dist/dev/mp-weixin/pages/risk/review/review.json
  57. 1 1
      unpackage/dist/dev/mp-weixin/pages/risk/review/review.wxml
  58. 9 0
      unpackage/dist/dev/mp-weixin/pages/risk/review/review.wxss
  59. 0 0
      unpackage/dist/dev/mp-weixin/pages/risk/risk.wxml
  60. 4 4
      unpackage/dist/dev/mp-weixin/pages/task/form/form.js
  61. 2 3
      unpackage/dist/dev/mp-weixin/pages/task/task.js
  62. 1 1
      unpackage/dist/dev/mp-weixin/pages/task/task.wxml
  63. 613 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js
  64. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.json
  65. 0 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxml
  66. 264 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxss
  67. 13 13
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
  68. 12 12
      unpackage/dist/dev/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js
  69. 11 11
      unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js
  70. 13 13
      unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js
  71. 12 12
      unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js
  72. 231 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js
  73. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json
  74. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml
  75. 299 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss

+ 76 - 0
api/check.js

@@ -0,0 +1,76 @@
+import { request } from '../libs/request.js'
+// 获取所有检查表及其内容
+export function getChecklist(params) {
+  return request({
+    url: '/goaf/goafChecklist/list',
+    params
+  })
+}
+// 分页获取所有检查表及其内容
+export function getChecklistByPage(params) {
+  return request({
+    url: '/goaf/goafChecklist/page',
+    params
+  })
+}
+// 获取指定的检查表及其内容
+export function getChecklistById(goafchecklistId) {
+  return request({
+    url: `/goaf/goafChecklist/${goafchecklistId}`
+  })
+}
+
+// 获取指定的检查项
+export function getChecklistItemById(goafchecklistId) {
+  return request({
+    url: `/goaf/goafChecklist/checklistitem/${goafchecklistId}`
+  })
+}
+// 增加检查表及其内容
+export function createChecklist(data) {
+  return request({
+    url: '/goaf/goafChecklist/add',
+    method: 'POST',
+    data
+  })
+}
+// 更新
+export function updateChecklist(data) {
+  return request({
+    url: '/goaf/goafChecklist/update',
+    method: 'PUT',
+    data
+  })
+}
+
+// 删除指定检查表
+export function deleteChecklistById(goafchecklistId) {
+  return request({
+    url: `/goaf/goafChecklist/deletechecklist/${goafchecklistId}`,
+    method: 'DELETE'
+  })
+}
+// .删除指定检查表的某项内容
+export function deleteChecklistItemById(goafchecklistitemid) {
+  return request({
+    url: `/goaf/goafChecklist/deletecheckitemlist/${goafchecklistitemid}`,
+    method: 'DELETE'
+  })
+}
+
+// 增加检查表及其内容
+export function createChecklistItem(data) {
+  return request({
+    url: '/goaf/goafChecklist/add',
+    method: 'POST',
+    data
+  })
+}
+// 更新
+export function updateChecklistItem(data) {
+  return request({
+    url: '/goaf/goafChecklist/update',
+    method: 'PUT',
+    data
+  })
+}

+ 81 - 0
api/dangerApi.js

@@ -0,0 +1,81 @@
+import {request} from '@/libs/request.js'
+
+/**
+ * 获取Danger列表
+ * @param data
+ * @returns
+ */
+export function getDangerByList(data) {
+  return request({
+    url: '/goaf/goafhdanger/list',
+    method: 'GET',
+    params: data
+  })
+}
+
+/**
+ * 获取Danger分页
+ * @param data
+ * @returns
+ */
+export function getDangerByPage(data) {
+  return request({
+    url: '/goaf/goafhdanger/page',
+    method: 'GET',
+    params: data
+  })
+}
+
+/**
+ * 根据Id获取Danger
+ * @param dangerId
+ * @returns
+ */
+export function getDangerById(dangerId) {
+  return request({
+    url: `/goaf/goafhdanger/${dangerId}`,
+    method: 'GET'
+  })
+}
+// export function getDangerById(dangerId) {
+//   return request({
+//     url: `/ent/danger/${dangerId}`,
+//     method: 'GET'
+//   })
+// }
+/**
+ * 删除Danger
+ * @param dangerId
+ * @returns
+ */
+export function deleteDangerById(dangerId) {
+  return request({
+    url: `goaf/goafhdanger/delete/${dangerId}`,
+    method: 'DELETE'
+  })
+}
+
+/**
+ * 处理Danger
+ * @param data
+ * @returns
+ */
+export function handleDanger(data) {
+  return request({
+    url: `/goaf/goafhdanger/add`,
+    method: 'POST',
+    data
+  })
+}
+/**
+ * 修改Danger
+ * @param dangerId
+ * @returns
+ */
+export function updateDanger(data) {
+  return request({
+    url: "/goaf/goafhdanger/update",
+    method: 'PUT',
+    data
+  })
+}

+ 48 - 0
api/goaf.js

@@ -0,0 +1,48 @@
+import { request } from '../libs/request.js'
+
+// 获取所有采空区信息
+export function getGoafBaseInfo(params) {
+  return request({
+    url: '/goaf/goafbaseinfo/list',
+    params
+  })
+}
+// 获取所有采空区信息分页
+export function getGoafBaseInfoByPage(params) {
+  return request({
+    url: '/goaf/goafbaseinfo/page',
+    params
+  })
+}
+
+// 根据采空区id获取信息
+export function getGoafInfoById(id) {
+  return request({
+    url: `/goaf/goafbaseinfo/${id}`
+  })
+}
+// 新增
+export function createGoaf(data) {
+  return request({
+    url: '/goaf/goafbaseinfo/add',
+    method: 'POST',
+    data
+  })
+}
+// 更新
+export function updateGoaf(data) {
+  return request({
+    url: '/goaf/goafbaseinfo/update',
+    method: 'PUT',
+    data
+  })
+}
+
+// 删除
+export function delGoaf(goafId) {
+  return request({
+    url: `/goaf/goafbaseinfo/delete/${goafId}`,
+    method: 'DELETE'
+  })
+}
+

+ 1 - 7
api/index.js

@@ -1,15 +1,9 @@
 import {getToken} from '@/libs/auth.js';
 import config from "@/config/index.js"
-const baseUrl = process.env.NODE_ENV === 'development' ? config.uploadFile.dev : config.uploadFile.pro;	
-/*
-opCode	
-0 上传
-1删除
-*/
 export const upload=({formData,filePath,callback})=>{
 	return new Promise(function(resolve,reject){
 		const uploadTask=uni.uploadFile({
-			url: baseUrl+'/admin/uploadFile',
+			url: config.uploadFile+'/admin/uploadFile',
 			filePath,
 			header:{
 				[config.TokenKey]:getToken()

+ 70 - 0
api/system/wfApi.js

@@ -0,0 +1,70 @@
+import {request} from '@/libs/request.js'
+	
+/**
+ * 启动Workflow
+ * @param wfDefId
+ * @returns
+ */
+export function startWorkflow(wfDefId) {
+  return request({
+    url: `/wf/start/${wfDefId}`,
+    method: 'GET'
+  })
+}
+
+export function getWorkflowById(wfInsId) {
+  return request({
+    url: `/wf/getIns/${wfInsId}`,
+    method: 'GET'
+  })
+}
+
+/**
+ * 处理
+ * @param data
+ * @returns
+ */
+export function handleWorkflow(data) {
+  return request({
+    url: `/wf/handle`,
+    method: 'POST',
+    data
+  })
+}
+
+/**
+ * 移交
+ * @param data
+ * @returns
+ */
+export function transferWorkflow(data) {
+  return request({
+    url: `/wf/transfer`,
+    method: 'POST',
+    data
+  })
+}
+
+/**
+ * 完成
+ * @param wfInsId
+ * @returns
+ */
+export function completeWorkflow(wfInsId) {
+  return request({
+    url: `/wf/complete/${wfInsId}`,
+    method: 'GET'
+  })
+}
+
+/**
+ * 撤消
+ * @param wfInsId
+ * @returns
+ */
+export function cancelWorkflow(wfInsId) {
+  return request({
+    url: `/wf/cancel/${wfInsId}`,
+    method: 'GET'
+  })
+}

+ 20 - 0
api/task.js

@@ -1,6 +1,17 @@
 import { request } from '../libs/request.js'
 /**
  * 获取分页任务列表
+ * @param {Object} params
+ */
+export function getCheckTaskByList(data) {
+	return request({
+		url: "/goaf/goaftask/list",
+		method: 'GET',
+		data
+	})
+}
+/**
+ * 获取分页任务列表
  * @param {Object} data
  */
 export function getCheckTaskByPage(data) {
@@ -82,3 +93,12 @@ export function batchUpdateCheckTaskDoingItem(taskId, checkResult) {
     method: 'PUT'
   })
 }
+
+// 提交任务
+export function handleCheckTask(data) {
+  return request({
+    url: '/goaf/goaftask/completed',
+    method: 'POST',
+    data
+  })
+}

+ 15 - 0
api/user.js

@@ -61,3 +61,18 @@ export function wxWorkLogin({userId,code}) {
     method: 'post'
   })
 }
+/**
+ * 分页获取用户
+ * @param data
+ * @returns
+ */
+export function getUserByPage(data) {
+  return request({
+    url: '/user/page',
+    method: 'GET',
+	header: {
+		'content-type': "application/x-www-form-urlencoded"
+	},
+	data
+  })
+}

+ 2 - 2
config/index.js

@@ -1,6 +1,6 @@
 export default {
     base: {
-      dev: 'http://192.168.3.201:8080',
+      dev: 'http://192.168.3.5:8080',
       pro: 'https://zhycapi.58yunkang.com'
     },
 	appID: '10001',
@@ -8,5 +8,5 @@ export default {
 	appSecret: '82a8bf439373e305',
 	permitTplId: 7,
 	TokenKey:"Authorization",
-	uploadFile:'http://192.168.3.201:8080'
+	uploadFile:'http://192.168.3.5:8080'
 }

+ 19 - 1
pages.json

@@ -109,6 +109,24 @@
             }
             
         }
+        ,{
+            "path" : "pages/task/taskList/taskList",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "检查任务",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+		,{
+		    "path" : "pages/task/submit/submit",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "登记隐患",
+		        "enablePullDownRefresh": false
+		    }
+		    
+		}
     ],
 	"tabBar": {
 		"color": "#999999",
@@ -128,7 +146,7 @@
 			"pagePath": "pages/risk/risk",
 			"iconPath": "static/tabBar/risk.png",
 			"selectedIconPath": "static/tabBar/riskEd.png",
-			"text": "风险"
+			"text": "隐患"
 		}, {
 			"pagePath": "pages/mine/mine",
 			"iconPath": "static/tabBar/mine.png",

+ 9 - 11
pages/index/index.vue

@@ -25,14 +25,15 @@
 		<div class="task-list">
 			<div class="head">待办任务</div>
 			<div class="item" v-for="(item,index) in items" :key="index" @click="linkTo(item)">
-				<div class="task-title">{{item.title}}</div>
-				<div class="time">{{item.time}}</div>
+				<div class="task-title">{{item.taskTitle}}</div>
+				<div class="time">{{item.expectedStartDate}}-{{item.expectedEndDate}}</div>
 			</div>
 		</div>
 	</view>
 </template>
 
 <script>
+	import {getCheckTaskByList} from '@/api/task.js'
 	export default {
 		data() {
 			return {
@@ -56,15 +57,12 @@
 			initStatusBarHeight(){
 				this.statusBarHeight=uni.getSystemInfoSync().statusBarHeight
 			},
-			init(){
-				const items=[]
-				for(let i=0;i<10;i++){
-					items.push({
-						title:'{2号-770-32002}:采空区封堵完好,无渗水情况。'	,
-						time:'2022-02-03 09:00'
-					})
-				}
-				this.items=items
+			init(){				
+				getCheckTaskByList({
+					status:0
+				}).then((res)=>{
+					this.items=res.data
+				})
 			},
 			changeTab(type){
 				this.type=type

+ 129 - 56
pages/risk/check/form/form.vue

@@ -1,20 +1,20 @@
 <template>
 	<div class="body">		
-		<uni-forms ref="form" label-position="top" :rules="rules" :model="form">
-<!-- 			<uni-forms-item label="整改人" name="user" required>
-				<uni-data-select
-					v-model="form.user"
-					:localdata="users"
-				></uni-data-select>
-			</uni-forms-item> -->
-			<uni-forms-item label="描述" name="desc" required>
-				<uni-easyinput type="textarea" autoHeight v-model="form.desc" placeholder="请输入描述"></uni-easyinput>
+		<uni-forms ref="form" label-position="top" :model="formData">
+			<uni-forms-item label="处理动作" name="actionId" required>
+				<uni-data-checkbox v-model="flowData.actionId" :localdata="actionList" @change="changeCheck"/>
+			</uni-forms-item>
+			<uni-forms-item label="处理说明" name="acceptRemark" required>
+				<uni-easyinput type="textarea" autoHeight v-model="formData.acceptRemark" placeholder="请输入描述"></uni-easyinput>
 			</uni-forms-item>
 			<uni-forms-item label="附件">
 				<div class="upload-container">
 					<image @click="upload" class="upload" src="/static/icon/upload.png" mode="widthFix"></image>
 					<p class="tip">注:单个附件上传不超过10M,附件累计不超过20M</p>					
 				</div>
+				<view class="preview" v-if="formData.attachList.length>0">
+					<image class="preview-item" :src="attach.fileUrl" mode="widthFix" v-for="(attach,index) in formData.attachList" :key="index"></image>
+				</view>
 			</uni-forms-item>
 		</uni-forms>	
 		<view class="footer" @click="onSubmit">提交</view>
@@ -22,73 +22,139 @@
 </template>
 
 <script>
+	import {upload} from '@/api/index.js'
+    import { startWorkflow, getWorkflowById, handleWorkflow } from '@/api/system/wfApi'
+	import { updateDanger, getDangerById } from '@/api/dangerApi'
+	import {parseTime} from '@/libs'
 	export default {
 		data() {
 			return {
-				// users:[
-				//   { value: 0, text: "张三" },
-				//   { value: 1, text: "李四" }					
-				// ],
-				rules:{
-					// user:{
-					// 	rules:[
-					// 		{
-					// 			required: true,
-					// 			errorMessage: '请选择整改人',
-					// 		},						
-					// 	],
-					// },
-					desc:{
-						rules:[
-							{
-								required: true,
-								errorMessage: '请填写描述',
-							},						
-						]						
-					}
+				formData:{
+					'hdangerId': undefined,
+					'formCode': 'submit',
+					'hdangerTitle': '', // 隐患标题
+					'dangerCatId': undefined, // 隐患类别ID
+					'hdangerLevel': 1, // 隐患等级
+					'acceptRemark': '', // 描述
+					'submitTime': parseTime(new Date()),
+					'dangerDeadline': '', // 截止时间
+					'goafId': undefined,
+					'checklistId': '',
+					"attachList":[]
 				},
-				form:{
-					desc:"",
-					attachList:[]
-				}
+				flowData:{
+				},
+				actionList:[]
 			}
 		},
+		created() {
+			this.init()
+		},
 		methods: {
+			// 获取流程
+			get(wfInsId) {
+			  // this.resetFormData()
+			  getWorkflowById(wfInsId).then((resp) => {
+				const { code, data, msg } = resp
+				if (code === 0) {
+				  this.flowData = data
+				  this.flowData.wfDefId = data.wfDefId
+				  this.flowData.wfInsId = data.wfInsId
+				  this.flowData.activityDefId = data.curActivityIns.activityDefId
+				  this.flowData.activityInsId = data.curActivityIns.activityInsId
+				  this.flowData.activityCode = data.curActivityIns.activityCode
+				  let actionList=this.flowData.curActivityIns.actionList.map(function(item){
+					  item.value=item.actionId
+					  item.text=item.actionTitle
+					  return item
+				  })
+				  this.actionList=JSON.parse(JSON.stringify(actionList))
+				  this.flowData.actionId=actionList[0].actionId
+				}
+			  })
+			},
+			init(){
+				let data=uni.getStorageSync('submit-data')
+				//初始化流程
+				let danger_info=uni.getStorageSync('danger-info')
+				this.get(danger_info.hdangerId)
+				this.formData={...this.formData,...danger_info}
+				if(data){
+					this.formData.checklistId = data.checklistId
+					this.formData.goafId = data.goafId
+					this.formData.acceptRemark = data.checkItemNopass
+					this.formData.hdangerTitle = data.checkItemNopass		
+				}
+			},
+			async onSubmit(){
+				if(!this.verify()){
+					return
+				}
+				handleWorkflow({
+				    "wfDefId": this.flowData.wfDefId,
+				    "wfInsId": this.flowData.wfInsId,
+				    "activityDefId": this.flowData.activityDefId,
+				    "activityInsId": this.flowData.activityInsId,
+				    "activityCode": this.flowData.activityCode,
+				    "actionId": this.flowData.actionId,
+				    "actionCode": this.flowData.actionCode,
+				    "actionRemark": this.formData.acceptRemark,
+					"attachList":this.formData.attachList
+				})
+				//renshengkuduan !
+				this.formData.status=4
+				this.formData.submitTime=parseTime(this.formData.submitTime)
+				this.formData.dangerDeadline=parseTime(this.formData.dangerDeadline)
+				updateDanger(this.formData).then((resp) => {
+					uni.switchTab({
+						url:'/pages/risk/risk'
+					})
+				})
+			},
 			upload(){
+				let self=this;
 				uni.chooseImage({
-					success: (files) => {
-						const tempFilePaths = files.tempFilePaths;
-						uni.uploadFile({
-							url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'user': 'test'
-							},
-							success: (uploadFileRes) => {
-								console.log(uploadFileRes.data);
-							}
-						});
+					success:(files)=>{
+						let filePath = files.tempFilePaths[0]
+						upload({
+							filePath
+						}).then((res)=>{
+							let result=JSON.parse(res);
+							let attachList=[result.data]
+							self.$set(self.formData,'attachList',attachList)
+						})
 					}
-				});
-			},
-			onSubmit(){
-				this.$refs.form.validate().then(res=>{
-					console.log('表单数据信息:', res);
-				}).catch(err =>{
-					console.log('表单错误信息:', err);
 				})
+			},
+			verify(){
+				let items={
+					'acceptRemark': '处理说明', // 		
+				}
+				for(let key in items){
+					if(this.formData[key]===""||this.formData[key]===undefined||this.formData[key]==="undefined"){
+						uni.showToast({
+							icon:'none',
+							title:`请填写${items[key]}`
+						})	
+						return false;
+					}
+				}
+				return true
+			},
+			changeCheck(){
+				let actionCode=this.actionList.filter(item=>item.actionId===this.flowData.actionId)[0].actionCode
+				this.flowData.actionCode=actionCode
 			}
 		}
 	}
 </script>
-
 <style lang="scss" scoped>
 .body{
-	height: 100vh;
+	min-height: 100vh;
 	box-sizing: border-box;
 	padding:21rpx 16rpx;
 	background-color: #F3F5FB;
+	padding-bottom: 160rpx;
 	.status-item{
 		padding: 22rpx 32rpx;
 		background-color: #fff;
@@ -134,5 +200,12 @@
 		padding-top: 20upx;
 		letter-spacing: 2px;
 	}
+	.preview{
+		padding-top: 50rpx;
+		.preview-item{
+			width: 200rpx;
+			height: 200rpx;
+		}
+	}
 }
 </style>

+ 165 - 54
pages/risk/rectify/form/form.vue

@@ -1,20 +1,26 @@
 <template>
 	<div class="body">		
-		<uni-forms ref="form" label-position="top" :rules="rules" :model="form">
-<!-- 			<uni-forms-item label="整改人" name="user" required>
+		<uni-forms ref="form" label-position="top" :model="formData">
+			<uni-forms-item label="处理动作" name="actionId" required>
+				<uni-data-checkbox v-model="flowData.actionId" :localdata="actionList" @change="changeCheck"/>
+			</uni-forms-item>
+			<uni-forms-item label="处理说明" name="rectifyRemark" required>
+				<uni-easyinput type="textarea" autoHeight v-model="formData.rectifyRemark" placeholder="请输入描述"></uni-easyinput>
+			</uni-forms-item>
+			<uni-forms-item label="验收人" name="rectifyAccountId" required>
 				<uni-data-select
-					v-model="form.user"
-					:localdata="users"
+					v-model="formData.rectifyAccountId"
+					:localdata="userList"
 				></uni-data-select>
-			</uni-forms-item> -->
-			<uni-forms-item label="描述" name="desc" required>
-				<uni-easyinput type="textarea" autoHeight v-model="form.desc" placeholder="请输入描述"></uni-easyinput>
 			</uni-forms-item>
 			<uni-forms-item label="附件">
 				<div class="upload-container">
 					<image @click="upload" class="upload" src="/static/icon/upload.png" mode="widthFix"></image>
 					<p class="tip">注:单个附件上传不超过10M,附件累计不超过20M</p>					
 				</div>
+				<view class="preview" v-if="formData.attachList.length>0">
+					<image class="preview-item" :src="attach.fileUrl" mode="widthFix" v-for="(attach,index) in formData.attachList" :key="index"></image>
+				</view>
 			</uni-forms-item>
 		</uni-forms>	
 		<view class="footer" @click="onSubmit">提交</view>
@@ -22,73 +28,171 @@
 </template>
 
 <script>
+	import {getUserByPage} from '@/api/user.js'
+	import {upload} from '@/api/index.js'
+    import { startWorkflow, getWorkflowById, handleWorkflow } from '@/api/system/wfApi'
+	import { updateDanger, getDangerById } from '@/api/dangerApi'
+	import {parseTime} from '@/libs'
 	export default {
 		data() {
 			return {
-				// users:[
-				//   { value: 0, text: "张三" },
-				//   { value: 1, text: "李四" }					
-				// ],
-				rules:{
-					// user:{
-					// 	rules:[
-					// 		{
-					// 			required: true,
-					// 			errorMessage: '请选择整改人',
-					// 		},						
-					// 	],
-					// },
-					desc:{
-						rules:[
-							{
-								required: true,
-								errorMessage: '请填写描述',
-							},						
-						]						
-					}
+				formData:{
+					'hdangerId': undefined,
+					'formCode': 'submit',
+					'hdangerTitle': '', // 隐患标题
+					'dangerCatId': undefined, // 隐患类别ID
+					'hdangerLevel': 1, // 隐患等级
+					'rectifyRemark': '', // 描述
+					'submitTime': parseTime(new Date()),
+					'dangerDeadline': '', // 截止时间
+					'goafId': undefined,
+					'checklistId': '',
+					"attachList":[]
 				},
-				form:{
-					desc:"",
-					attachList:[]
-				}
+				flowData:{
+				},
+				actionList:[],
+				userList:[]
 			}
 		},
+		created() {
+			this.init()
+		},
 		methods: {
+			// 获取流程
+			get(wfInsId) {
+			  // this.resetFormData()
+			  getWorkflowById(wfInsId).then((resp) => {
+				const { code, data, msg } = resp
+				if (code === 0) {
+				  this.flowData = data
+				  this.flowData.wfDefId = data.wfDefId
+				  this.flowData.wfInsId = data.wfInsId
+				  this.flowData.activityDefId = data.curActivityIns.activityDefId
+				  this.flowData.activityInsId = data.curActivityIns.activityInsId
+				  this.flowData.activityCode = data.curActivityIns.activityCode
+				  let actionList=this.flowData.curActivityIns.actionList.map(function(item){
+					  item.value=item.actionId
+					  item.text=item.actionTitle
+					  return item
+				  })
+				  this.actionList=JSON.parse(JSON.stringify(actionList))
+				  this.flowData.actionId=actionList[0].actionId
+				}
+			  })
+			},
+			init(){
+				let data=uni.getStorageSync('submit-data')
+				//初始化流程
+				let danger_info=uni.getStorageSync('danger-info')
+				this.formData={...this.formData,...danger_info}
+				this.get(danger_info.hdangerId)
+				this.getUser()
+				if(data){
+					this.formData.checklistId = data.checklistId
+					this.formData.goafId = data.goafId
+					this.formData.rectifyRemark = data.checkItemNopass
+					this.formData.hdangerTitle = data.checkItemNopass		
+				}
+			},
+			async onSubmit(){
+				let user=this.userList.filter(item=>item.accountId===this.formData.acceptAccountId)[0]
+				if(user){
+					this.formData.acceptAccountName = user.accountName
+					this.formData.acceptGroupId = user.groupId
+					this.formData.acceptGroupName = user.groupName
+					this.formData.acceptPositionId = user.positionId
+					this.formData.acceptPositionName = user.positionName	
+					this.formData.ocId=user.ocId
+				}
+				if(!this.verify()){
+					return
+				}
+				handleWorkflow({
+				    "wfDefId": this.flowData.wfDefId,
+				    "wfInsId": this.flowData.wfInsId,
+				    "activityDefId": this.flowData.activityDefId,
+				    "activityInsId": this.flowData.activityInsId,
+				    "activityCode": this.flowData.activityCode,
+				    "actionId": this.flowData.actionId,
+				    "actionCode": this.flowData.actionCode,
+				    "actionRemark": this.formData.rectifyRemark,
+					"attachList":this.formData.attachList,
+					"groupIdTo": user.groupId,
+					"positionIdTo": user.positionId,
+					"accountIdTo": user.groupId,
+					"groupNameTo": user.groupName,
+					"positionNameTo": user.positionName,
+					"accountNameTo": user.accountName,
+				})
+				//renshengkuduan !
+				this.formData.status=3
+				this.formData.submitTime=parseTime(this.formData.submitTime)
+				this.formData.dangerDeadline=parseTime(this.formData.dangerDeadline)
+				updateDanger(this.formData).then((resp) => {
+					uni.switchTab({
+						url:'/pages/risk/risk'
+					})
+				})
+			},
+			getUser(){
+				getUserByPage({
+					page: 1,
+					limit: 999999
+				}).then((res)=>{
+					this.userList=res.data.map(item=>{
+						return{
+							...item,
+							value:item.accountId,
+							text:item.accountName
+						}
+					})
+				})
+			},
 			upload(){
+				let self=this;
 				uni.chooseImage({
-					success: (files) => {
-						const tempFilePaths = files.tempFilePaths;
-						uni.uploadFile({
-							url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'user': 'test'
-							},
-							success: (uploadFileRes) => {
-								console.log(uploadFileRes.data);
-							}
-						});
+					success:(files)=>{
+						let filePath = files.tempFilePaths[0]
+						upload({
+							filePath
+						}).then((res)=>{
+							let result=JSON.parse(res);
+							let attachList=[result.data]
+							self.$set(self.formData,'attachList',attachList)
+						})
 					}
-				});
-			},
-			onSubmit(){
-				this.$refs.form.validate().then(res=>{
-					console.log('表单数据信息:', res);
-				}).catch(err =>{
-					console.log('表单错误信息:', err);
 				})
+			},
+			verify(){
+				let items={
+					'rectifyRemark': '处理说明', // 		
+				}
+				for(let key in items){
+					if(this.formData[key]===""||this.formData[key]===undefined||this.formData[key]==="undefined"){
+						uni.showToast({
+							icon:'none',
+							title:`请填写${items[key]}`
+						})	
+						return false;
+					}
+				}
+				return true
+			},
+			changeCheck(){
+				let actionCode=this.actionList.filter(item=>item.actionId===this.flowData.actionId)[0].actionCode
+				this.flowData.actionCode=actionCode
 			}
 		}
 	}
 </script>
-
 <style lang="scss" scoped>
 .body{
-	height: 100vh;
+	min-height: 100vh;
 	box-sizing: border-box;
 	padding:21rpx 16rpx;
 	background-color: #F3F5FB;
+	padding-bottom: 160rpx;
 	.status-item{
 		padding: 22rpx 32rpx;
 		background-color: #fff;
@@ -134,5 +238,12 @@
 		padding-top: 20upx;
 		letter-spacing: 2px;
 	}
+	.preview{
+		padding-top: 50rpx;
+		.preview-item{
+			width: 200rpx;
+			height: 200rpx;
+		}
+	}
 }
 </style>

+ 177 - 67
pages/risk/review/form/form.vue

@@ -1,32 +1,25 @@
 <template>
 	<div class="body">		
-		<uni-forms ref="form" label-position="top" :rules="rules" :model="form">
-			<uni-forms-item label="是否通过" required>
-				<text class="status-item"
-				 :class="form.status==1?'active':''"
-				 @click="form.status=1"
-				>通过</text>
-				<text class="status-item"
-				 :class="form.status==2?'active':''"
-				 @click="form.status=2"
-				>不通过</text>
+		<uni-forms ref="form" label-position="top" :model="formData">
+			<uni-forms-item label="处理动作" name="actionId" required>
+				<uni-data-checkbox v-model="flowData.actionId" :localdata="actionList" @change="changeCheck"/>
 			</uni-forms-item>
-			<uni-forms-item label="整改人" name="user" required>
+			<uni-forms-item label="处理说明" name="reviewRemark" required>
+				<uni-easyinput type="textarea" autoHeight v-model="formData.reviewRemark" placeholder="请输入描述"></uni-easyinput>
+			</uni-forms-item>
+			<uni-forms-item label="整改人" name="rectifyAccountId" required>
 				<uni-data-select
-					v-model="form.user"
-					:localdata="users"
+					v-model="formData.rectifyAccountId"
+					:localdata="userList"
 				></uni-data-select>
 			</uni-forms-item>
-			<uni-forms-item label="描述" name="desc" required>
-				<uni-easyinput type="textarea" autoHeight v-model="form.desc" placeholder="请输入描述"></uni-easyinput>
-			</uni-forms-item>
 			<uni-forms-item label="附件">
 				<div class="upload-container">
 					<image @click="upload" class="upload" src="/static/icon/upload.png" mode="widthFix"></image>
 					<p class="tip">注:单个附件上传不超过10M,附件累计不超过20M</p>					
 				</div>
-				<view class="preview" v-if="form.attachList.length>0">
-					<image :src="attach.path" mode="widthFix" v-for="(attach,index) in form.attachList" :key="index"></image>
+				<view class="preview" v-if="formData.attachList.length>0">
+					<image class="preview-item" :src="attach.fileUrl" mode="widthFix" v-for="(attach,index) in formData.attachList" :key="index"></image>
 				</view>
 			</uni-forms-item>
 		</uni-forms>	
@@ -35,75 +28,185 @@
 </template>
 
 <script>
-	import {uploadFile,uploadFiles,uploadApi} from '@/api/upload.js'
+	import {getUserByPage} from '@/api/user.js'
+	import {upload} from '@/api/index.js'
+    import { startWorkflow, getWorkflowById, handleWorkflow } from '@/api/system/wfApi'
+	import { updateDanger, getDangerById } from '@/api/dangerApi'
+	import {parseTime} from '@/libs'
 	export default {
 		data() {
 			return {
-				status: [
-				  { value: 0, text: "否" },
-				  { value: 1, text: "是" }
-				],
-				users:[
-				  { value: 0, text: "张三" },
-				  { value: 1, text: "李四" }					
-				],
-				rules:{
-					user:{
-						rules:[
-							{
-								required: true,
-								errorMessage: '请选择整改人',
-							},						
-						],
-					},
-					desc:{
-						rules:[
-							{
-								required: true,
-								errorMessage: '请填写描述',
-							},						
-						]						
-					}
+				formData:{
+					'hdangerId': undefined,
+					'formCode': 'submit',
+					'hdangerTitle': '', // 隐患标题
+					'dangerCatId': undefined, // 隐患类别ID
+					'hdangerLevel': 1, // 隐患等级
+					'reviewRemark': '', // 描述
+					'submitTime': parseTime(new Date()),
+					'dangerDeadline': '', // 截止时间
+					'goafId': undefined,
+					'checklistId': '',
+					"attachList":[]
 				},
-				form:{
-					status:1,
-					password:"",
-					desc:"",
-					attachList:[]
-				}
+				flowData:{
+				},
+				actionList:[],
+				userList:[]
 			}
 		},
+		created() {
+			this.init()
+		},
 		methods: {
+			// 启动流程
+			async start(wfDefId) {
+			  const { code, data, msg } = await startWorkflow(wfDefId)
+			  if (code === 0) {
+				this.flowData = data
+				this.flowData.wfDefId = data.wfDefId
+				this.flowData.wfInsId = data.wfInsId
+				this.flowData.activityDefId = data.curActivityIns.activityDefId
+				this.flowData.activityInsId = data.curActivityIns.activityInsId
+				this.flowData.activityCode = data.curActivityIns.activityCode
+				this.formData.hdangerId=data.wfInsId 
+				return data.wfInsId
+			  }
+			},
+			// 获取流程
+			get(wfInsId) {
+			  // this.resetFormData()
+			  getWorkflowById(wfInsId).then((resp) => {
+				const { code, data, msg } = resp
+				if (code === 0) {
+				  this.flowData = data
+				  this.flowData.wfDefId = data.wfDefId
+				  this.flowData.wfInsId = data.wfInsId
+				  this.flowData.activityDefId = data.curActivityIns.activityDefId
+				  this.flowData.activityInsId = data.curActivityIns.activityInsId
+				  this.flowData.activityCode = data.curActivityIns.activityCode
+				  let actionList=this.flowData.curActivityIns.actionList.map(function(item){
+					  item.value=item.actionId
+					  item.text=item.actionTitle
+					  return item
+				  })
+				  this.actionList=JSON.parse(JSON.stringify(actionList))
+				  this.flowData.actionId=actionList[0].actionId
+				}
+			  })
+			},
+			init(){
+				let data=uni.getStorageSync('submit-data')
+				//初始化流程
+				let danger_info=uni.getStorageSync('danger-info')
+				this.formData={...this.formData,...danger_info}
+				this.get(danger_info.hdangerId)
+				this.getUser()
+				if(data){
+					this.formData.checklistId = data.checklistId
+					this.formData.goafId = data.goafId
+					this.formData.reviewRemark = data.checkItemNopass
+					this.formData.hdangerTitle = data.checkItemNopass		
+				}
+			},
+			async onSubmit(){
+				let user=this.userList.filter(item=>item.accountId===this.formData.rectifyAccountId)[0]
+				if(user){
+					this.formData.rectifyAccountName = user.accountName
+					this.formData.rectifyGroupId = user.groupId
+					this.formData.rectifyGroupName = user.groupName
+					this.formData.rectifyPositionId = user.positionId
+					this.formData.rectifyPositionName = user.positionName	
+					this.formData.ocId=user.ocId
+				}
+				if(!this.verify()){
+					return
+				}
+				handleWorkflow({
+				    "wfDefId": this.flowData.wfDefId,
+				    "wfInsId": this.flowData.wfInsId,
+				    "activityDefId": this.flowData.activityDefId,
+				    "activityInsId": this.flowData.activityInsId,
+				    "activityCode": this.flowData.activityCode,
+				    "actionId": this.flowData.actionId,
+				    "actionCode": this.flowData.actionCode,
+				    "actionRemark": this.formData.reviewRemark,
+					"attachList":this.formData.attachList,
+					"groupIdTo": user.groupId,
+					"positionIdTo": user.positionId,
+					"accountIdTo": user.groupId,
+					"groupNameTo": user.groupName,
+					"positionNameTo": user.positionName,
+					"accountNameTo": user.accountName,
+				})
+				//renshengkuduan !
+				this.formData.status=2
+				this.formData.submitTime=parseTime(this.formData.submitTime)
+				this.formData.dangerDeadline=parseTime(this.formData.dangerDeadline)
+				updateDanger(this.formData).then((resp) => {
+					uni.switchTab({
+						url:'/pages/risk/risk'
+					})
+				})
+			},
+			getUser(){
+				getUserByPage({
+					page: 1,
+					limit: 999999
+				}).then((res)=>{
+					this.userList=res.data.map(item=>{
+						return{
+							...item,
+							value:item.accountId,
+							text:item.accountName
+						}
+					})
+				})
+			},
 			upload(){
+				let self=this;
 				uni.chooseImage({
-					success: (files) => {
-						const tempFilePaths = files.tempFilePaths;
-						const tempFiles = files.tempFiles
-						const formData = new FormData()
-						formData.append('file', tempFilePaths)
-						// uploadApi({
-						// 	formData
-						// })
+					success:(files)=>{
+						let filePath = files.tempFilePaths[0]
+						upload({
+							filePath
+						}).then((res)=>{
+							let result=JSON.parse(res);
+							let attachList=[result.data]
+							self.$set(self.formData,'attachList',attachList)
+						})
 					}
-				});
-			},
-			onSubmit(){
-				this.$refs.form.validate().then(res=>{
-					console.log('表单数据信息:', res);
-				}).catch(err =>{
-					console.log('表单错误信息:', err);
 				})
+			},
+			verify(){
+				let items={
+					'reviewRemark': '处理说明', // 		
+				}
+				for(let key in items){
+					if(this.formData[key]===""||this.formData[key]===undefined||this.formData[key]==="undefined"){
+						uni.showToast({
+							icon:'none',
+							title:`请填写${items[key]}`
+						})	
+						return false;
+					}
+				}
+				return true
+			},
+			changeCheck(){
+				let actionCode=this.actionList.filter(item=>item.actionId===this.flowData.actionId)[0].actionCode
+				this.flowData.actionCode=actionCode
 			}
 		}
 	}
 </script>
-
 <style lang="scss" scoped>
 .body{
-	height: 100vh;
+	min-height: 100vh;
 	box-sizing: border-box;
 	padding:21rpx 16rpx;
 	background-color: #F3F5FB;
+	padding-bottom: 160rpx;
 	.status-item{
 		padding: 22rpx 32rpx;
 		background-color: #fff;
@@ -149,5 +252,12 @@
 		padding-top: 20upx;
 		letter-spacing: 2px;
 	}
+	.preview{
+		padding-top: 50rpx;
+		.preview-item{
+			width: 200rpx;
+			height: 200rpx;
+		}
+	}
 }
 </style>

+ 36 - 2
pages/risk/review/review.vue

@@ -32,7 +32,9 @@
 					time:"",
 					desc:"",
 					attachList:[]
-				}
+				},
+				items:[],
+				checkState:[{"value": 1,"text": "是"	},{"value": 0,"text": "否"}]
 			}
 		},
 		onLoad() {
@@ -41,6 +43,30 @@
 		methods: {
 			parseTime,
 			init(){
+				let items=[]
+				for(let i=0;i<10;i++){
+					items.push({
+						id:i,
+						title:'检查防水是否完好',
+						state:1
+					})
+				}
+				this.items=items
+			},
+			changeCheck(item){
+				if(!item.state){
+					uni.showModal({
+						title: '提示',
+						content: `请确认${item.title}状态为否`,
+						success: function (res) {
+							if (res.confirm) {
+								console.log('用户点击确定');
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					});
+				}
 			},
 			onSubmit(){
 				uni.navigateTo({
@@ -106,5 +132,13 @@
 			letter-spacing: 2px;
 		}
 	}
-
+.item-checklist{
+	display: flex;
+	justify-content: space-between;
+	padding: 15rpx 32rpx;
+    border-bottom: 1rpx solid #EFF1F3;	
+	.name{
+		flex: 1;
+	}
+}
 </style>

+ 13 - 18
pages/risk/risk.vue

@@ -31,16 +31,17 @@
 			</div>
 		</div>
 		<div class="task-list">
-			<div class="head">待办任务</div>
+			<div class="head">待办风险</div>
 			<div class="item" v-for="(item,index) in items" :key="index" @click="linkTo(item)">
-				<div class="task-title">{{item.title}}</div>
-				<div class="time">{{item.time}}</div>
+				<div class="task-title">{{item.hdangerTitle}}</div>
+				<div class="time">{{item.dangerDeadline}}</div>
 			</div>
 		</div>
 	</view>
 </template>
 
 <script>
+	import { getDangerByList, getDangerByPage } from '@/api/dangerApi'
 	export default {
 		data() {
 			return {
@@ -61,15 +62,9 @@
 		},
 		methods: {
 			init(){
-				let items=[];
-				for(let i=0;i<10;i++){
-					items.push({
-						id:i+1,
-						title:'{2号-770-32002}:采空区封堵完好,无渗水情况。',
-						time:'2022-02-03 09:00'
-					})
-				}
-				this.items=items
+				getDangerByList().then((res)=>{
+					this.items=res.data
+				})
 			},
 			changeTab(type){
 				this.type=type
@@ -80,22 +75,22 @@
 				}
 			},
 			linkTo(item){
-				let status=item.id%4>0?item.id%4:item.id%4+4
 				let url="";
-				switch(status){
-					case 1 ://评审
+				switch(item.curActivityCode){
+					case "review" ://评审
 					url='/pages/risk/review/review'
 					break;
-					case 2 ://撤销
+					case "submit" ://提交
 					url='/pages/risk/repeal/repeal'
 					break;
-					case 3 ://验收
+					case "accept" ://验收
 					url='/pages/risk/check/check'
 					break;
-					case 4 ://整改
+					case "rectify" ://整改
 					url='/pages/risk/rectify/rectify'
 					break;
 				}
+				uni.setStorageSync('danger-info',item)
 				uni.navigateTo({
 					url
 				})

+ 341 - 0
pages/task/submit/submit.vue

@@ -0,0 +1,341 @@
+<template>
+	<div class="body">		
+		<uni-forms ref="form" label-position="top" :rules="rules" :model="formData">
+			<uni-forms-item label="隐患标题" name="desc" required>
+				<uni-easyinput v-model="formData.hdangerTitle" placeholder="请输入描述"></uni-easyinput>
+			</uni-forms-item>	
+			<uni-forms-item label="采空区" name="goafId" required>
+				<uni-data-select
+					v-model="formData.goafId"
+					:localdata="goafList"
+				></uni-data-select>
+			</uni-forms-item>
+			<uni-forms-item label="检查表" name="checklistId" required>
+				<uni-data-select
+					v-model="formData.checklistId"
+					:localdata="checkList"
+				></uni-data-select>
+			</uni-forms-item>
+			<uni-forms-item label="评审人" name="reviewAccountId" required>
+				<uni-data-select
+					v-model="formData.reviewAccountId"
+					:localdata="userList"
+				></uni-data-select>
+			</uni-forms-item>
+			<uni-forms-item label="描述" name="hdangerLevel" required>
+				<uni-data-checkbox v-model="formData.hdangerLevel" :localdata="hdangerLevels"></uni-data-checkbox>
+			</uni-forms-item>							  
+			<uni-forms-item label="发生时间" name="submitTime" required>
+				<uni-datetime-picker
+					type="datetime"
+					v-model="formData.submitTime"
+				/>
+			</uni-forms-item>
+			<uni-forms-item label="截止时间" name="dangerDeadline" required>
+				<uni-datetime-picker
+					type="datetime"
+					v-model="formData.dangerDeadline"
+				/>
+			</uni-forms-item>
+			<uni-forms-item label="描述" name="hdangerDesc" required>
+				<uni-easyinput type="textarea" autoHeight v-model="formData.hdangerDesc" placeholder="请输入描述"></uni-easyinput>
+			</uni-forms-item>
+			<uni-forms-item label="附件">
+				<div class="upload-container">
+					<image @click="upload" class="upload" src="/static/icon/upload.png" mode="widthFix"></image>
+					<p class="tip">注:单个附件上传不超过10M,附件累计不超过20M</p>					
+				</div>
+				<view class="preview" v-if="formData.attachList.length>0">
+					<image class="preview-item" :src="attach.fileUrl" mode="widthFix" v-for="(attach,index) in formData.attachList" :key="index"></image>
+				</view>
+			</uni-forms-item>
+		</uni-forms>	
+		<view class="footer" @click="onSubmit">提交</view>
+	</div>
+</template>
+
+<script>
+	import {getUserByPage} from '@/api/user.js'
+	import {upload} from '@/api/index.js'
+	import { getChecklist } from '@/api/check'
+	import { getGoafBaseInfo } from '@/api/goaf'
+    import { startWorkflow, getWorkflowById, handleWorkflow } from '@/api/system/wfApi'
+	import { handleDanger, getDangerById } from '@/api/dangerApi'
+	import {parseTime} from '@/libs'
+	export default {
+		data() {
+			return {
+				formData:{
+					'hdangerId': undefined,
+					'formCode': 'submit',
+					'hdangerTitle': '', // 隐患标题
+					'dangerCatId': undefined, // 隐患类别ID
+					'hdangerLevel': 1, // 隐患等级
+					'hdangerDesc': '', // 描述
+					'submitTime': parseTime(new Date()),
+					'dangerDeadline': '', // 截止时间
+					'goafId': undefined,
+					'checklistId': '',
+					"attachList":[]
+				},
+				flowData:{},
+				userList:[],
+				checkList:[],
+				goafList:[],
+				hdangerLevels:[
+					{"value": 0,"text": "较低"	},
+					{"value": 1,"text": "一般"},
+					{"value": 2,"text": "较大"},
+					{"value": 3,"text": "重大"},
+				],
+				rules:{
+					reviewAccountId:{
+						rules:[
+							{
+								required: true,
+								errorMessage: '请选择评审人',
+							},						
+						],
+					},
+					desc:{
+						rules:[
+							{
+								required: true,
+								errorMessage: '请填写描述',
+							},						
+						]						
+					}
+				},
+			}
+		},
+		created() {
+			this.init()
+		},
+		methods: {
+			// 启动流程
+			async start(wfDefId) {
+			  const { code, data, msg } = await startWorkflow(wfDefId)
+			  if (code === 0) {
+				this.flowData = data
+				this.flowData.wfDefId = data.wfDefId
+				this.flowData.wfInsId = data.wfInsId
+				this.flowData.activityDefId = data.curActivityIns.activityDefId
+				this.flowData.activityInsId = data.curActivityIns.activityInsId
+				this.flowData.activityCode = data.curActivityIns.activityCode
+				this.formData.hdangerId=data.wfInsId
+				return data.wfInsId
+			  }
+			},
+			// 获取流程
+			get(wfInsId) {
+			  this.resetFormData()
+			  getWorkflowById(wfInsId).then((resp) => {
+				const { code, data, msg } = resp
+				if (code === 0) {
+				  this.flowData = data
+				  this.flowData.wfDefId = data.wfDefId
+				  this.flowData.wfInsId = data.wfInsId
+				  this.flowData.activityDefId = data.curActivityIns.activityDefId
+				  this.flowData.activityInsId = data.curActivityIns.activityInsId
+				  this.flowData.activityCode = data.curActivityIns.activityCode
+				  this.renderAction()
+				} else {
+				  this.$message.error(msg)
+				}
+			  }).catch((error) => {
+				console.log(error)
+			  })
+			},
+			init(){
+				let data=uni.getStorageSync('submit-data')
+				if(data){
+					this.formData.checklistId = data.checklistId
+					this.formData.goafId = data.goafId
+					this.formData.hdangerDesc = data.checkItemNopass
+					this.formData.hdangerTitle = data.checkItemNopass		
+				}
+				this.getUser()
+				this.getChecklist()
+				this.getGoafBaseInfo()
+				//初始化流程
+				this.start(1)
+			},
+			getUser(){
+				getUserByPage({
+					page: 1,
+					limit: 999999
+				}).then((res)=>{
+					this.userList=res.data.map(item=>{
+						return{
+							...item,
+							value:item.accountId,
+							text:item.accountName
+						}
+					})
+				})
+			},
+			getChecklist(){
+				getChecklist().then((res)=>{
+					this.checkList=res.data.map(item=>{
+						return{
+							...item,
+							value:item.checklistId,
+							text:item.checklistTitle
+						}
+					})
+				})
+			},
+			getGoafBaseInfo(){
+				getGoafBaseInfo().then((res)=>{
+					this.goafList=res.data.map(item=>{
+						return{
+							...item,
+							value:item.goafId,
+							text:item.goafName
+						}
+					})
+				})				
+			},
+			async onSubmit(){
+				let user=this.userList.filter(item=>item.accountId===this.formData.reviewAccountId)[0]
+				if(user){
+					this.formData.reviewAccountName = user.accountName
+					this.formData.reviewGroupId = user.groupId
+					this.formData.reviewGroupName = user.groupName
+					this.formData.reviewPositionId = user.positionId
+					this.formData.reviewPositionName = user.positionName	
+					this.formData.ocId=user.ocId
+				}
+				if(!this.verify()){
+					return
+				}
+				handleWorkflow({
+				    "wfDefId": this.flowData.wfDefId,
+				    "wfInsId": this.flowData.wfInsId,
+				    "activityDefId": this.flowData.activityDefId,
+				    "activityInsId": this.flowData.activityInsId,
+				    "activityCode": this.flowData.activityCode,
+				    "actionId": 1,
+				    "actionCode": "submit",
+				    "actionRemark": this.flowData.hdangerDesc,
+					"attachList":this.formData.attachList,
+					"groupIdTo": user.groupId,
+					"positionIdTo": user.positionId,
+					"accountIdTo": user.groupId,
+					"groupNameTo": user.groupName,
+					"positionNameTo": user.positionName,
+					"accountNameTo": user.accountName,
+				})
+				//renshengkuduan !
+				this.formData.status=1
+				this.formData.submitTime=parseTime(this.formData.submitTime)
+				this.formData.dangerDeadline=parseTime(this.formData.dangerDeadline)
+				handleDanger(this.formData).then((resp) => {
+					uni.switchTab({
+						url:'/pages/risk/risk'
+					})
+				})
+			},
+			upload(){
+				let self=this;
+				uni.chooseImage({
+					success:(files)=>{
+						let filePath = files.tempFilePaths[0]
+						console.log(self.formData.attachList)
+						upload({
+							filePath
+						}).then((res)=>{
+							let result=JSON.parse(res);
+							let attachList=[result.data]
+							self.$set(self.formData,'attachList',attachList)
+						})
+					}
+				})
+			},
+			verify(){
+				let items={
+					'hdangerTitle': '隐患标题', // 
+					"reviewAccountId":'评审人',
+					'hdangerLevel': "隐患等级", // 隐患等级
+					'hdangerDesc': '描述', // 
+					'submitTime': "发生时间",
+					'dangerDeadline': '截止时间', // 
+					'goafId': "采空区",
+					'checklistId': '检查表',
+					// 'attachList':"附件"			
+				}
+				for(let key in items){
+					if(this.formData[key]===""||this.formData[key]===undefined||this.formData[key]==="undefined"){
+						uni.showToast({
+							icon:'none',
+							title:`请填写${items[key]}`
+						})	
+						return false;
+					}
+				}
+				return true
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+.body{
+	min-height: 100vh;
+	box-sizing: border-box;
+	padding:21rpx 16rpx;
+	background-color: #F3F5FB;
+	padding-bottom: 160rpx;
+	.status-item{
+		padding: 22rpx 32rpx;
+		background-color: #fff;
+		font-size: 28rpx;
+		line-height: 1;
+		display: inline-block;
+		color: #434343;
+		margin-right: 20rpx;
+		border-radius: 2px;
+		&.active{
+			background: rgba(22, 141, 236, 0.16);
+			color:#168DEC ;
+		}
+	}
+	::v-deep .uni-forms-item__content{
+		.uni-easyinput,.uni-select{
+			background-color: #fff;
+		}	
+	}
+	.upload-container{
+		.upload{
+			width: 216rpx;
+			display: block;
+		}
+		.tip{
+			font-size: 24rpx;
+			line-height: 28rpx;
+			color: #999999;
+			padding-top: 20rpx;
+		}
+	}
+	.footer{
+		width: 100%;
+		height: 136upx;
+		background: #FFFFFF;
+		border-radius: 16upx 16upx 0px 0px;
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		text-align: center;
+		color: #168DEC;
+		font-size: 32upx;
+		padding-top: 20upx;
+		letter-spacing: 2px;
+	}
+	.preview{
+		padding-top: 50rpx;
+		.preview-item{
+			width: 200rpx;
+			height: 200rpx;
+		}
+	}
+}
+</style>

+ 7 - 9
pages/task/task.vue

@@ -1,23 +1,23 @@
 <template>
 	<view class="task-page">
-		<div class="title">{{item.title}}</div>
+		<div class="title">{{item.taskTitle}}</div>
 		<div class="info">
 			<div class="item">
 				<view class="name">执行人</view>
-				<view class="cont">执行人</view>	
+				<view class="cont">{{item.handleAccountName}}</view>	
 			</div>
 			<div class="item">
 				<view class="name">执行部门</view>
-				<view class="cont">执行部门</view>	
+				<view class="cont">{{item.handleGroupName}}</view>	
 			</div>
 			<div class="item">
 				<view class="name">发布时间</view>
-				<view class="cont">{{parseTime(new Date())}}</view>	
+				<view class="cont">{{item.expectedStartDate}}</view>	
 			</div>
 		</div>
 		<div class="status">
 			<div class="head">处置过程</div>
-			<template v-if="flow.status===-1">
+			<template v-if="item.status===0">
 				<image class="icon-empty" src="/static/icon/empty.png" mode="widthFix"></image>
 				<p>暂无处置信息</p>	
 				<image class="add" @click="add" src="/static/icon/add.png" mode="widthFix"></image>
@@ -71,18 +71,16 @@
 						{url:"/static/preview/2.png"}
 					]
 				}
+				this.getTask()
 			},
 			getTask(){
 				this.item=uni.getStorageSync('task-item')
 			},
 			add(){
 				uni.navigateTo({
-					url:'/pages/task/form/form'
+					url:'/pages/task/taskList/taskList'
 				})
 			}
-		},
-		destroyed() {
-			uni.removeStorageSync('task-item')
 		}
 	}
 </script>

+ 180 - 0
pages/task/taskList/taskList.vue

@@ -0,0 +1,180 @@
+<template>
+	<view class="task-page">
+		<div class="title">{{item.title}}</div>
+		<div class="info" v-if="items.length>0">
+			<div class="item-checklist" v-for="item in items">
+				<view class="name">检查防水是否完好检查防水是否完好检查防水是否完好检查防水是否完好检查防水是否完好</view>	
+				<view class="cont">
+					<uni-data-checkbox v-model="item.state" :localdata="checkState" @change="changeCheck(item)"/>
+				</view>	
+			</div>
+		</div>
+		<view class="empty" v-else>
+			没有可检查项
+		</view>
+		<view class="footer" @click="onSubmit"  v-if="items.length>0">提交</view>
+	</view>
+</template>
+
+<script>
+	import {parseTime} from '@/libs/index.js'
+	import { getChecklistItemById } from '@/api/check'
+	import { handleCheckTask } from '@/api/task'
+	export default {
+		data() {
+			return {
+				userData:{},
+				item:{
+					title:"水位预{2号-770-32002}:采空区封堵完好,无渗水情况。"
+				},
+				flow:{
+					status:"",
+					time:"",
+					desc:"",
+					attachList:[]
+				},
+				items:[],
+				checkState:[{"value": 1,"text": "通过"	},{"value": 0,"text": "不通过"}]
+			}
+		},
+		onLoad() {
+			this.init()
+		},
+		methods: {
+			parseTime,
+			init(){
+			  let data=uni.getStorageSync('task-item')
+			  this.userData=uni.getStorageSync('accountInfo')
+			  getChecklistItemById(data.checklistId).then((res) => {
+				this.items = res.data
+			  })
+			},
+			changeCheck(item){
+				if(!item.state){
+					uni.showModal({
+						title: '提示',
+						content: `请确认${item.title}状态为否`,
+						success: function (res) {
+							if (res.confirm) {
+								console.log('用户点击确定');
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					});
+				}
+			},
+			onSubmit(){
+				  let viewData=uni.getStorageSync('task-item')
+				  let checkItemNopass = ''
+				  let checkItemPass = ''
+				  let checkResult=0
+				  this.dataList.forEach(item => {
+					if (item.state===1) {
+					   checkItemPass += item.checkItemPass + ','
+					}else{
+						checkResult=1
+					   checkItemNopass += item.checklistItemContent + '不通过,'
+					}
+				  })
+				  checkItemPass = checkItemPass.substring(0, checkItemPass.length - 1)
+				  checkItemNopass = checkItemNopass.substring(0, checkItemNopass.length - 1)
+				  handleCheckTask({
+					...viewData,
+					'handleAccountId': this.userData.userId,
+					'handleAccountName': this.userData.userName,
+					'handlePositionId': this.userData.positionId,
+					'handlePositionName': this.userData.positionName,
+					'handleGroupId': this.userData.groupId,
+					'handleGroupName': this.userData.groupName,
+					'status': 1,
+					checkResult,
+					checkItemPass,
+					checkItemNopass
+				  }).then(() => {
+					this.dialogVisible = false
+					this.$emit('success')
+					if (checkResult===1) {
+						uni.setStorageSync('submit-data',{
+							...viewData,
+							'handleAccountId': this.userData.userId,
+							'handleAccountName': this.userData.userName,
+							'handlePositionId': this.userData.positionId,
+							'handlePositionName': this.userData.positionName,
+							'handleGroupId': this.userData.groupId,
+							'handleGroupName': this.userData.groupName,
+							'status': 1,
+							checkResult,
+							checkItemPass,
+							checkItemNopass						
+						})
+						uni.navigateTo({
+							url:'/pages/task/submit/submit'
+						})
+					}
+				  })
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.task-page{
+		background-color: #F3F5FB;
+		height: 100vh;
+		.title{
+			font-family: 'Source Han Sans CN';
+			font-style: normal;
+			font-weight: 700;
+			font-size: 36rpx;
+			line-height: 54rpx;
+			color: #212121;
+			padding:0 32rpx;
+		}
+		.info{
+			padding: 0 10rpx;
+			margin: 40rpx 0 0;
+			padding-bottom: 150rpx;
+			background: #FFFFFF;
+			border-radius: 32rpx 32rpx 0px 0px;	
+			.item-checklist{
+				display: flex;
+				justify-content: space-between;
+				padding: 18rpx 20rpx;
+			    border-bottom: 1rpx solid #EFF1F3;	
+				.name{
+					flex: 1;
+				}
+				.cont{
+					padding-left: 20rpx;
+					width: 200rpx;
+					display: flex;
+					justify-content: flex-end;
+					align-items: center;
+					box-sizing: border-box;
+				}
+			}
+		}
+		.empty{
+			text-align: center;
+			font-size: 28rpx;
+			margin-top: 10%;
+			color: #666;
+		}
+		.footer{
+			width: 100%;
+			height: 136rpx;
+			background: #FFFFFF;
+			border-radius: 16upx 16upx 0px 0px;
+			position: fixed;
+			left: 0;
+			bottom: 0;
+			text-align: center;
+			color: #168DEC;
+			font-size: 32upx;
+			padding-top: 20upx;
+			letter-spacing: 2px;
+			border-top: 1rpx solid #eaeaea;
+		}
+	}
+</style>

Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/password/password.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/check/check.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/check/form/form.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/rectify/form/form.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/rectify/rectify.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/repeal/repeal.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/review/form/form.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/review/review.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/risk/risk.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/task/form/form.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/task/task.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -105,11 +105,11 @@
 /******/
 /******/
 /******/ 		// mini-css-extract-plugin CSS loading
-/******/ 		var cssChunks = {"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item":1,"uni_modules/uni-forms/components/uni-forms/uni-forms":1,"uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput":1,"uni_modules/uni-data-select/components/uni-data-select/uni-data-select":1,"uni_modules/uni-icons/components/uni-icons/uni-icons":1};
+/******/ 		var cssChunks = {"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item":1,"uni_modules/uni-forms/components/uni-forms/uni-forms":1,"uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput":1,"uni_modules/uni-data-select/components/uni-data-select/uni-data-select":1,"uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox":1,"uni_modules/uni-icons/components/uni-icons/uni-icons":1,"uni_modules/uni-load-more/components/uni-load-more/uni-load-more":1};
 /******/ 		if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
 /******/ 		else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
 /******/ 			promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
-/******/ 				var href = "" + ({"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item":"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item","uni_modules/uni-forms/components/uni-forms/uni-forms":"uni_modules/uni-forms/components/uni-forms/uni-forms","uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput":"uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput","uni_modules/uni-data-select/components/uni-data-select/uni-data-select":"uni_modules/uni-data-select/components/uni-data-select/uni-data-select","uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons"}[chunkId]||chunkId) + ".wxss";
+/******/ 				var href = "" + ({"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item":"uni_modules/uni-forms/components/uni-forms-item/uni-forms-item","uni_modules/uni-forms/components/uni-forms/uni-forms":"uni_modules/uni-forms/components/uni-forms/uni-forms","uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput":"uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput","uni_modules/uni-data-select/components/uni-data-select/uni-data-select":"uni_modules/uni-data-select/components/uni-data-select/uni-data-select","uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox":"uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox","uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons","uni_modules/uni-load-more/components/uni-load-more/uni-load-more":"uni_modules/uni-load-more/components/uni-load-more/uni-load-more"}[chunkId]||chunkId) + ".wxss";
 /******/ 				var fullhref = __webpack_require__.p + href;
 /******/ 				var existingLinkTags = document.getElementsByTagName("link");
 /******/ 				for(var i = 0; i < existingLinkTags.length; i++) {

Plik diff jest za duży
+ 969 - 1488
unpackage/dist/dev/mp-weixin/common/vendor.js


+ 7 - 8
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -141,6 +141,7 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.default = void 0;
+var _task = __webpack_require__(/*! @/api/task.js */ 222);
 //
 //
 //
@@ -199,14 +200,12 @@ var _default = {
       this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
     },
     init: function init() {
-      var items = [];
-      for (var i = 0; i < 10; i++) {
-        items.push({
-          title: '{2号-770-32002}:采空区封堵完好,无渗水情况。',
-          time: '2022-02-03 09:00'
-        });
-      }
-      this.items = items;
+      var _this = this;
+      (0, _task.getCheckTaskByList)({
+        status: 0
+      }).then(function (res) {
+        _this.items = res.data;
+      });
     },
     changeTab: function changeTab(type) {
       this.type = type;

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml

@@ -1 +1 @@
-<view class="page-index data-v-57280228"><view class="status_bar data-v-57280228"></view><view class="title _div data-v-57280228"><text data-event-opts="{{[['tap',[['changeTab',['user']]]]]}}" class="{{['tab','data-v-57280228',type==='user'?'active':'']}}" bindtap="__e">我的</text><text data-event-opts="{{[['tap',[['changeTab',['group']]]]]}}" class="{{['tab','data-v-57280228',type==='group'?'active':'']}}" bindtap="__e">部门</text></view><view class="statistics _div data-v-57280228"><view class="head _div data-v-57280228">任务统计</view><view class="container _div data-v-57280228"><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/wait.png" alt></image><text class="data-v-57280228">{{"待巡检"+statistics.wait+"个"}}</text></view><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/expire.png" alt></image><text class="data-v-57280228">{{"已逾期"+statistics.expire+"个"}}</text></view><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/complete.png" alt></image><text class="data-v-57280228">{{"已完成"+statistics.complete+"个"}}</text></view></view></view><view class="task-list _div data-v-57280228"><view class="head _div data-v-57280228">待办任务</view><block wx:for="{{items}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['linkTo',['$0'],[[['items','',index]]]]]]]}}" class="item _div data-v-57280228" bindtap="__e"><view class="task-title _div data-v-57280228">{{item.title}}</view><view class="time _div data-v-57280228">{{item.time}}</view></view></block></view></view>
+<view class="page-index data-v-57280228"><view class="status_bar data-v-57280228"></view><view class="title _div data-v-57280228"><text data-event-opts="{{[['tap',[['changeTab',['user']]]]]}}" class="{{['tab','data-v-57280228',type==='user'?'active':'']}}" bindtap="__e">我的</text><text data-event-opts="{{[['tap',[['changeTab',['group']]]]]}}" class="{{['tab','data-v-57280228',type==='group'?'active':'']}}" bindtap="__e">部门</text></view><view class="statistics _div data-v-57280228"><view class="head _div data-v-57280228">任务统计</view><view class="container _div data-v-57280228"><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/wait.png" alt></image><text class="data-v-57280228">{{"待巡检"+statistics.wait+"个"}}</text></view><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/expire.png" alt></image><text class="data-v-57280228">{{"已逾期"+statistics.expire+"个"}}</text></view><view class="item _div data-v-57280228"><image class="icon _img data-v-57280228" src="/static/index/complete.png" alt></image><text class="data-v-57280228">{{"已完成"+statistics.complete+"个"}}</text></view></view></view><view class="task-list _div data-v-57280228"><view class="head _div data-v-57280228">待办任务</view><block wx:for="{{items}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['linkTo',['$0'],[[['items','',index]]]]]]]}}" class="item _div data-v-57280228" bindtap="__e"><view class="task-title _div data-v-57280228">{{item.taskTitle}}</view><view class="time _div data-v-57280228">{{item.expectedStartDate+"-"+item.expectedEndDate}}</view></view></block></view></view>

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/login/login.js

@@ -101,13 +101,13 @@ var components
 try {
   components = {
     uniForms: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 155))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 156))
     },
     uniFormsItem: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 168))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 169))
     },
     uniEasyinput: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 175))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 176))
     },
   }
 } catch (e) {

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/mine/password/password.js

@@ -101,13 +101,13 @@ var components
 try {
   components = {
     uniForms: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 155))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 156))
     },
     uniFormsItem: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 168))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 169))
     },
     uniEasyinput: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 175))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 176))
     },
   }
 } catch (e) {

Plik diff jest za duży
+ 13 - 13
unpackage/dist/dev/mp-weixin/pages/risk/check/check.js


Plik diff jest za duży
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/risk/check/form/form.js


Plik diff jest za duży
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/risk/rectify/form/form.js


Plik diff jest za duży
+ 13 - 13
unpackage/dist/dev/mp-weixin/pages/risk/rectify/rectify.js


Plik diff jest za duży
+ 13 - 13
unpackage/dist/dev/mp-weixin/pages/risk/repeal/repeal.js


Plik diff jest za duży
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/risk/review/form/form.js


+ 64 - 11
unpackage/dist/dev/mp-weixin/pages/risk/review/review.js

@@ -77,19 +77,33 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
 var components
+try {
+  components = {
+    uniDataCheckbox: function () {
+      return Promise.all(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 195))
+    },
+  }
+} catch (e) {
+  if (
+    e.message.indexOf("Cannot find module") !== -1 &&
+    e.message.indexOf(".vue") !== -1
+  ) {
+    console.error(e.message)
+    console.error("1. 排查组件名称拼写是否正确")
+    console.error(
+      "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
+    )
+    console.error(
+      "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
+    )
+  } else {
+    throw e
+  }
+}
 var render = function () {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
-  var m0 = _vm.parseTime(new Date())
-  _vm.$mp.data = Object.assign(
-    {},
-    {
-      $root: {
-        m0: m0,
-      },
-    }
-  )
 }
 var recyclableRender = false
 var staticRenderFns = []
@@ -151,6 +165,12 @@ var _index = __webpack_require__(/*! @/libs/index.js */ 88);
 //
 //
 //
+//
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
     return {
@@ -162,7 +182,15 @@ var _default = {
         time: "",
         desc: "",
         attachList: []
-      }
+      },
+      items: [],
+      checkState: [{
+        "value": 1,
+        "text": "是"
+      }, {
+        "value": 0,
+        "text": "否"
+      }]
     };
   },
   onLoad: function onLoad() {
@@ -170,7 +198,32 @@ var _default = {
   },
   methods: {
     parseTime: _index.parseTime,
-    init: function init() {},
+    init: function init() {
+      var items = [];
+      for (var i = 0; i < 10; i++) {
+        items.push({
+          id: i,
+          title: '检查防水是否完好',
+          state: 1
+        });
+      }
+      this.items = items;
+    },
+    changeCheck: function changeCheck(item) {
+      if (!item.state) {
+        uni.showModal({
+          title: '提示',
+          content: "\u8BF7\u786E\u8BA4".concat(item.title, "\u72B6\u6001\u4E3A\u5426"),
+          success: function success(res) {
+            if (res.confirm) {
+              console.log('用户点击确定');
+            } else if (res.cancel) {
+              console.log('用户点击取消');
+            }
+          }
+        });
+      }
+    },
     onSubmit: function onSubmit() {
       uni.navigateTo({
         url: '/pages/risk/review/form/form'

+ 3 - 1
unpackage/dist/dev/mp-weixin/pages/risk/review/review.json

@@ -1,5 +1,7 @@
 {
   "navigationBarTitleText": "待评审",
   "enablePullDownRefresh": false,
-  "usingComponents": {}
+  "usingComponents": {
+    "uni-data-checkbox": "/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox"
+  }
 }

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/risk/review/review.wxml

@@ -1 +1 @@
-<view class="task-page data-v-012b4130"><view class="title _div data-v-012b4130">{{item.title}}</view><view class="info _div data-v-012b4130"><view class="item _div data-v-012b4130"><view class="name data-v-012b4130">执行人</view><view class="cont data-v-012b4130">执行人</view></view><view class="item _div data-v-012b4130"><view class="name data-v-012b4130">执行部门</view><view class="cont data-v-012b4130">执行部门</view></view><view class="item _div data-v-012b4130"><view class="name data-v-012b4130">上报时间</view><view class="cont data-v-012b4130">{{$root.m0}}</view></view></view><view data-event-opts="{{[['tap',[['onSubmit',['$event']]]]]}}" class="footer data-v-012b4130" bindtap="__e">评审</view></view>
+<view class="task-page data-v-012b4130"><view class="title _div data-v-012b4130">{{item.title}}</view><view class="info _div data-v-012b4130"><block wx:for="{{items}}" wx:for-item="item" wx:for-index="__i0__"><view class="item-checklist _div data-v-012b4130"><view class="name data-v-012b4130">检查防水是否完好</view><view class="cont data-v-012b4130"><uni-data-checkbox vue-id="{{'243be2c4-1-'+__i0__}}" localdata="{{checkState}}" value="{{item.state}}" data-event-opts="{{[['^change',[['changeCheck',['$0'],[[['items','',__i0__]]]]]],['^input',[['__set_model',['$0','state','$event',[]],[[['items','',__i0__]]]]]]]}}" bind:change="__e" bind:input="__e" class="data-v-012b4130" bind:__l="__l"></uni-data-checkbox></view></view></block></view></view>

+ 9 - 0
unpackage/dist/dev/mp-weixin/pages/risk/review/review.wxss

@@ -52,4 +52,13 @@
   padding-top: 20rpx;
   letter-spacing: 2px;
 }
+.item-checklist.data-v-012b4130 {
+  display: flex;
+  justify-content: space-between;
+  padding: 15rpx 32rpx;
+  border-bottom: 1rpx solid #EFF1F3;
+}
+.item-checklist .name.data-v-012b4130 {
+  flex: 1;
+}
 

Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/risk/risk.wxml


+ 4 - 4
unpackage/dist/dev/mp-weixin/pages/task/form/form.js

@@ -101,16 +101,16 @@ var components
 try {
   components = {
     uniForms: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 155))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 156))
     },
     uniFormsItem: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 168))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms-item/uni-forms-item")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 169))
     },
     uniDataSelect: function () {
-      return Promise.all(/*! import() | uni_modules/uni-data-select/components/uni-data-select/uni-data-select */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-select/components/uni-data-select/uni-data-select")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue */ 182))
+      return Promise.all(/*! import() | uni_modules/uni-data-select/components/uni-data-select/uni-data-select */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-select/components/uni-data-select/uni-data-select")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue */ 183))
     },
     uniEasyinput: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 175))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 176))
     },
   }
 } catch (e) {

+ 2 - 3
unpackage/dist/dev/mp-weixin/pages/task/task.js

@@ -102,14 +102,12 @@ var render = function () {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
-  var m0 = _vm.parseTime(new Date())
-  var m1 = !(_vm.flow.status === -1) ? _vm.parseTime(_vm.flow.time) : null
+  var m0 = !(_vm.item.status === 0) ? _vm.parseTime(_vm.flow.time) : null
   _vm.$mp.data = Object.assign(
     {},
     {
       $root: {
         m0: m0,
-        m1: m1,
       },
     }
   )
@@ -227,6 +225,7 @@ var _default = {
           url: "/static/preview/2.png"
         }]
       };
+      this.getTask();
     },
     getTask: function getTask() {
       this.item = uni.getStorageSync('task-item');

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/task/task.wxml

@@ -1 +1 @@
-<view class="task-page data-v-96a65fb4"><view class="title _div data-v-96a65fb4">{{item.title}}</view><view class="info _div data-v-96a65fb4"><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">执行人</view><view class="cont data-v-96a65fb4">执行人</view></view><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">执行部门</view><view class="cont data-v-96a65fb4">执行部门</view></view><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">发布时间</view><view class="cont data-v-96a65fb4">{{$root.m0}}</view></view></view><view class="status _div data-v-96a65fb4"><view class="head _div data-v-96a65fb4">处置过程</view><block wx:if="{{flow.status===-1}}"><image class="icon-empty data-v-96a65fb4" src="/static/icon/empty.png" mode="widthFix"></image><view class="_p data-v-96a65fb4">暂无处置信息</view><image class="add data-v-96a65fb4" src="/static/icon/add.png" mode="widthFix" data-event-opts="{{[['tap',[['add',['$event']]]]]}}" bindtap="__e"></image></block><block wx:else><view class="flow-head data-v-96a65fb4"><view class="{{['flow-status','_div','data-v-96a65fb4',flow.status===1?'success':'error']}}">{{flow.status===0?'异常':flow.status===1?'正常':''}}</view><view class="flow-time data-v-96a65fb4">{{$root.m1}}</view></view><view class="desc _div data-v-96a65fb4">{{flow.desc}}</view><view class="attach _div data-v-96a65fb4"><block wx:for="{{flow.attachList}}" wx:for-item="attach" wx:for-index="index"><view class="attach-item data-v-96a65fb4"><image class="image data-v-96a65fb4" src="{{attach.url}}" mode="widthFix"></image></view></block></view></block></view></view>
+<view class="task-page data-v-96a65fb4"><view class="title _div data-v-96a65fb4">{{item.taskTitle}}</view><view class="info _div data-v-96a65fb4"><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">执行人</view><view class="cont data-v-96a65fb4">{{item.handleAccountName}}</view></view><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">执行部门</view><view class="cont data-v-96a65fb4">{{item.handleGroupName}}</view></view><view class="item _div data-v-96a65fb4"><view class="name data-v-96a65fb4">发布时间</view><view class="cont data-v-96a65fb4">{{item.expectedStartDate}}</view></view></view><view class="status _div data-v-96a65fb4"><view class="head _div data-v-96a65fb4">处置过程</view><block wx:if="{{item.status===0}}"><image class="icon-empty data-v-96a65fb4" src="/static/icon/empty.png" mode="widthFix"></image><view class="_p data-v-96a65fb4">暂无处置信息</view><image class="add data-v-96a65fb4" src="/static/icon/add.png" mode="widthFix" data-event-opts="{{[['tap',[['add',['$event']]]]]}}" bindtap="__e"></image></block><block wx:else><view class="flow-head data-v-96a65fb4"><view class="{{['flow-status','_div','data-v-96a65fb4',flow.status===1?'success':'error']}}">{{flow.status===0?'异常':flow.status===1?'正常':''}}</view><view class="flow-time data-v-96a65fb4">{{$root.m0}}</view></view><view class="desc _div data-v-96a65fb4">{{flow.desc}}</view><view class="attach _div data-v-96a65fb4"><block wx:for="{{flow.attachList}}" wx:for-item="attach" wx:for-index="index"><view class="attach-item data-v-96a65fb4"><image class="image data-v-96a65fb4" src="{{attach.url}}" mode="widthFix"></image></view></block></view></block></view></view>

Plik diff jest za duży
+ 613 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uni-load-more": "/uni_modules/uni-load-more/components/uni-load-more/uni-load-more"
+  },
+  "component": true
+}

Plik diff jest za duży
+ 0 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxml


+ 264 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxss

@@ -0,0 +1,264 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-data-loading {
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  height: 36px;
+  padding-left: 10px;
+  color: #999;
+}
+.uni-data-checklist {
+  position: relative;
+  z-index: 0;
+  flex: 1;
+}
+.uni-data-checklist .checklist-group {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+}
+.uni-data-checklist .checklist-group.is-list {
+  flex-direction: column;
+}
+.uni-data-checklist .checklist-group .checklist-box {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  position: relative;
+  margin: 5px 0;
+  margin-right: 25px;
+}
+.uni-data-checklist .checklist-group .checklist-box .hidden {
+  position: absolute;
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content {
+  display: flex;
+  flex: 1;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
+  font-size: 14px;
+  color: #666;
+  margin-left: 5px;
+  line-height: 14px;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content .checkobx__list {
+  border-right-width: 1px;
+  border-right-color: #007aff;
+  border-right-style: solid;
+  border-bottom-width: 1px;
+  border-bottom-color: #007aff;
+  border-bottom-style: solid;
+  height: 12px;
+  width: 6px;
+  left: -5px;
+  -webkit-transform-origin: center;
+          transform-origin: center;
+  -webkit-transform: rotate(45deg);
+          transform: rotate(45deg);
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box .checkbox__inner {
+  flex-shrink: 0;
+  box-sizing: border-box;
+  position: relative;
+  width: 16px;
+  height: 16px;
+  border: 1px solid #DCDFE6;
+  border-radius: 4px;
+  background-color: #fff;
+  z-index: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box .checkbox__inner .checkbox__inner-icon {
+  position: absolute;
+  top: 1px;
+  left: 5px;
+  height: 8px;
+  width: 4px;
+  border-right-width: 1px;
+  border-right-color: #fff;
+  border-right-style: solid;
+  border-bottom-width: 1px;
+  border-bottom-color: #fff;
+  border-bottom-style: solid;
+  opacity: 0;
+  -webkit-transform-origin: center;
+          transform-origin: center;
+  -webkit-transform: rotate(40deg);
+          transform: rotate(40deg);
+}
+.uni-data-checklist .checklist-group .checklist-box .radio__inner {
+  display: flex;
+  flex-shrink: 0;
+  box-sizing: border-box;
+  justify-content: center;
+  align-items: center;
+  position: relative;
+  width: 16px;
+  height: 16px;
+  border: 1px solid #DCDFE6;
+  border-radius: 16px;
+  background-color: #fff;
+  z-index: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box .radio__inner .radio__inner-icon {
+  width: 8px;
+  height: 8px;
+  border-radius: 10px;
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .radio__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  -webkit-transform: rotate(45deg);
+          transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .radio__inner {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .checkbox__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .checklist-text {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .radio__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button {
+  margin-right: 10px;
+  padding: 5px 10px;
+  border: 1px #DCDFE6 solid;
+  border-radius: 3px;
+  transition: border-color 0.2s;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable {
+  border: 1px #eee solid;
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .radio__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  -webkit-transform: rotate(45deg);
+          transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .radio__inner {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked.is-disable {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag {
+  margin-right: 10px;
+  padding: 5px 10px;
+  border: 1px #DCDFE6 solid;
+  border-radius: 3px;
+  background-color: #f5f5f5;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag .checklist-text {
+  margin: 0;
+  color: #666;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-disable {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked {
+  background-color: #2979ff;
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked .checklist-text {
+  color: #fff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list {
+  display: flex;
+  padding: 10px 15px;
+  padding-left: 0;
+  margin: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-list-border {
+  border-top: 1px #eee solid;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  -webkit-transform: rotate(45deg);
+          transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checklist-content .checkobx__list {
+  opacity: 1;
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked.is-disable .checkbox__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked.is-disable .checklist-text {
+  opacity: 0.4;
+}
+

Plik diff jest za duży
+ 13 - 13
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js


Plik diff jest za duży
+ 12 - 12
unpackage/dist/dev/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js


Plik diff jest za duży
+ 11 - 11
unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js


Plik diff jest za duży
+ 13 - 13
unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js


Plik diff jest za duży
+ 12 - 12
unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js


Plik diff jest za duży
+ 231 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml

@@ -0,0 +1 @@
+<view data-event-opts="{{[['tap',[['onClick',['$event']]]]]}}" class="uni-load-more" bindtap="__e"><block wx:if="{{!webviewHide&&(iconType==='circle'||iconType==='auto'&&platform==='android')&&status==='loading'&&showIcon}}"><view class="uni-load-more__img uni-load-more__img--android-MP" style="{{'width:'+(iconSize+'px')+';'+('height:'+(iconSize+'px')+';')}}"><view class="uni-load-more__img-icon" style="{{'border-top-color:'+(color)+';'+('border-top-width:'+(iconSize/12)+';')}}"></view><view class="uni-load-more__img-icon" style="{{'border-top-color:'+(color)+';'+('border-top-width:'+(iconSize/12)+';')}}"></view><view class="uni-load-more__img-icon" style="{{'border-top-color:'+(color)+';'+('border-top-width:'+(iconSize/12)+';')}}"></view></view></block><block wx:else><block wx:if="{{!webviewHide&&status==='loading'&&showIcon}}"><view class="uni-load-more__img uni-load-more__img--ios-H5" style="{{'width:'+(iconSize+'px')+';'+('height:'+(iconSize+'px')+';')}}"><image src="{{imgBase64}}" mode="widthFix"></image></view></block></block><block wx:if="{{showText}}"><text class="uni-load-more__text" style="{{'color:'+(color)+';'}}">{{status==='more'?contentdownText:status==='loading'?contentrefreshText:contentnomoreText}}</text></block></view>

+ 299 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss

@@ -0,0 +1,299 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-load-more {
+  display: flex;
+  flex-direction: row;
+  height: 40px;
+  align-items: center;
+  justify-content: center;
+}
+.uni-load-more__text {
+  font-size: 14px;
+  margin-left: 8px;
+}
+.uni-load-more__img {
+  width: 24px;
+  height: 24px;
+}
+.uni-load-more__img--nvue {
+  color: #666666;
+}
+.uni-load-more__img--android,
+.uni-load-more__img--ios {
+  width: 24px;
+  height: 24px;
+  -webkit-transform: rotate(0deg);
+          transform: rotate(0deg);
+}
+.uni-load-more__img--android {
+  -webkit-animation: loading-ios 1s 0s linear infinite;
+          animation: loading-ios 1s 0s linear infinite;
+}
+@-webkit-keyframes loading-android {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes loading-android {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+.uni-load-more__img--ios-H5 {
+  position: relative;
+  -webkit-animation: loading-ios-H5 1s 0s step-end infinite;
+          animation: loading-ios-H5 1s 0s step-end infinite;
+}
+.uni-load-more__img--ios-H5 image {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+}
+@-webkit-keyframes loading-ios-H5 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+8% {
+    -webkit-transform: rotate(30deg);
+            transform: rotate(30deg);
+}
+16% {
+    -webkit-transform: rotate(60deg);
+            transform: rotate(60deg);
+}
+24% {
+    -webkit-transform: rotate(90deg);
+            transform: rotate(90deg);
+}
+32% {
+    -webkit-transform: rotate(120deg);
+            transform: rotate(120deg);
+}
+40% {
+    -webkit-transform: rotate(150deg);
+            transform: rotate(150deg);
+}
+48% {
+    -webkit-transform: rotate(180deg);
+            transform: rotate(180deg);
+}
+56% {
+    -webkit-transform: rotate(210deg);
+            transform: rotate(210deg);
+}
+64% {
+    -webkit-transform: rotate(240deg);
+            transform: rotate(240deg);
+}
+73% {
+    -webkit-transform: rotate(270deg);
+            transform: rotate(270deg);
+}
+82% {
+    -webkit-transform: rotate(300deg);
+            transform: rotate(300deg);
+}
+91% {
+    -webkit-transform: rotate(330deg);
+            transform: rotate(330deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes loading-ios-H5 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+8% {
+    -webkit-transform: rotate(30deg);
+            transform: rotate(30deg);
+}
+16% {
+    -webkit-transform: rotate(60deg);
+            transform: rotate(60deg);
+}
+24% {
+    -webkit-transform: rotate(90deg);
+            transform: rotate(90deg);
+}
+32% {
+    -webkit-transform: rotate(120deg);
+            transform: rotate(120deg);
+}
+40% {
+    -webkit-transform: rotate(150deg);
+            transform: rotate(150deg);
+}
+48% {
+    -webkit-transform: rotate(180deg);
+            transform: rotate(180deg);
+}
+56% {
+    -webkit-transform: rotate(210deg);
+            transform: rotate(210deg);
+}
+64% {
+    -webkit-transform: rotate(240deg);
+            transform: rotate(240deg);
+}
+73% {
+    -webkit-transform: rotate(270deg);
+            transform: rotate(270deg);
+}
+82% {
+    -webkit-transform: rotate(300deg);
+            transform: rotate(300deg);
+}
+91% {
+    -webkit-transform: rotate(330deg);
+            transform: rotate(330deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+.uni-load-more__img--android-MP {
+  position: relative;
+  width: 24px;
+  height: 24px;
+  -webkit-transform: rotate(0deg);
+          transform: rotate(0deg);
+  -webkit-animation: loading-ios 1s 0s ease infinite;
+          animation: loading-ios 1s 0s ease infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon {
+  position: absolute;
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+  border-radius: 50%;
+  border: solid 2px transparent;
+  border-top: solid 2px #777777;
+  -webkit-transform-origin: center;
+          transform-origin: center;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(1) {
+  -webkit-animation: loading-android-MP-1 1s 0s linear infinite;
+          animation: loading-android-MP-1 1s 0s linear infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(2) {
+  -webkit-animation: loading-android-MP-2 1s 0s linear infinite;
+          animation: loading-android-MP-2 1s 0s linear infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(3) {
+  -webkit-animation: loading-android-MP-3 1s 0s linear infinite;
+          animation: loading-android-MP-3 1s 0s linear infinite;
+}
+@keyframes loading-android {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@-webkit-keyframes loading-android-MP-1 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(90deg);
+            transform: rotate(90deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-1 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(90deg);
+            transform: rotate(90deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@-webkit-keyframes loading-android-MP-2 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(180deg);
+            transform: rotate(180deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-2 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(180deg);
+            transform: rotate(180deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@-webkit-keyframes loading-android-MP-3 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(270deg);
+            transform: rotate(270deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-3 {
+0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+50% {
+    -webkit-transform: rotate(270deg);
+            transform: rotate(270deg);
+}
+100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików