From f07b70558d5b84f1070470229037629bc1ace006 Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期六, 22 六月 2024 14:39:30 +0800
Subject: [PATCH] 接口对接
---
policy/reportRecord/reportRecord.vue | 169 +++---
policy/translateRecord/translateRecord.vue | 77 ++
static/policy/rank3.png | 0
static/policy/loginHeader.png | 0
policy/reportRecord/reportRecord.scss | 3
policy/components/tabs.vue | 3
uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js | 17
policy/reportDetails/reportDetails.vue | 128 +++--
common/upload.js | 27 +
policy/dataLook/dataLook.scss | 25
policy/policyApply/policyApply.vue | 41 +
policy/components/popup.vue | 27
policy/applyRecordDetails/applyRecordDetails.vue | 144 ++++--
policy/applyRecord/applyRecord.vue | 37 +
api/policy.js | 40 +
pages.json | 2
policy/dataLook/dataLook.vue | 268 ++++++++---
policy/translate/translate.vue | 38 +
policy/scodePage/scodePage.vue | 114 +++-
static/policy/rank1.png | 0
api/data.js | 19
policy/components/mine.vue | 4
policy/reportPage/reportPage.vue | 106 +--
static/policy/rank2.png | 0
policy/applyRecordDetails/applyRecordDetails.scss | 5
manifest.json | 2
static/policy/loginHeaer1.png | 0
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js | 3
policy/components/upload.vue | 27 +
policy/scodePage/scodePage.scss | 10
30 files changed, 898 insertions(+), 438 deletions(-)
diff --git a/api/data.js b/api/data.js
index 3438f47..0fdef00 100644
--- a/api/data.js
+++ b/api/data.js
@@ -4,4 +4,23 @@
export function getDicts(dictType){
return http.get('/system/dict/data/type/' + dictType, {}, { custom: { loading: true }});
+}
+
+// 鏁版嵁鍒嗘瀽鎺ュ彛
+// 鎵ф硶鏁版嵁姹囨�� /report/team/getTotalInfo
+export function getTotalInfo(data){
+ return http.get('/report/team/getTotalInfo', {params: data}, { custom: { loading: true }});
+}
+// 鎵ф硶娆℃暟閮ㄩ棬鍒嗘瀽 /report/team/getDeptCount
+export function getDeptCount(data){
+ return http.get('/report/team/getDeptCount', {params: data}, { custom: { loading: true }});
+}
+// 浼佷笟琚墽娉曟鏁� /report/team/getCompanyCount
+export function getCompanyCount(data) {
+ return http.get(`/report/team/getCompanyCount`, {params: data}, { custom: { loading: true }});
+}
+// 鎵ф硶绫诲瀷
+
+export function getEnforceTypeCount(data) {
+ return http.get(`/report/team/getEnforceTypeCount`, {params: data}, { custom: { loading: true }});
}
\ No newline at end of file
diff --git a/api/policy.js b/api/policy.js
index 7f62732..c1a8d96 100644
--- a/api/policy.js
+++ b/api/policy.js
@@ -26,9 +26,43 @@
// 鎵ф硶瀹℃壒鍒楄〃
export function checkLogList(data) {
+ return http.get(`/enforce/order/checkList`, {params: data}, { custom: { loading: true }});
+}
+// 鎵ф硶瀹℃壒
+export function checkUpd(data) {
+ return http.post(`/tool/check/checkOrder`, data, { custom: { loading: true }});
+}
+
+// 鎵ф硶鍗曡妭鐐�
+export function orderNodeList(data) {
+ return http.get(`/enforce/order/orderNodeList`, {params: data}, { custom: { loading: true }});
+}
+// 鎵ф硶瀹℃壒璁板綍 /enforce/check/log/list
+export function enforceLogList(data) {
return http.get(`/enforce/check/log/list`, {params: data}, { custom: { loading: true }});
}
-// 鎵ф硶瀹℃壒 /enforce/check/log/upd
-export function checkUpd(data) {
- return http.get(`/enforce/check/log/upd`, {params: data}, { custom: { loading: true }});
+// 瀹℃壒浜哄鎵硅褰� /enforce/order/checkedList
+
+export function checkedList(data) {
+ return http.get(`/enforce/order/checkedList`, {params: data}, { custom: { loading: true }});
}
+// 鎵爜鎺ュ彛
+export function getScanList(data) {
+ return http.get(`/enforce/order/getScanList`, {params: data}, { custom: { loading: true }});
+}
+// 纭鎵ф硶 /enforce/order/doScanOrder/{orderId}
+export function doScanOrder(data) {
+ return http.post(`/enforce/order/doScanOrder/${data}`, {}, { custom: { loading: true }});
+}
+// 甯︿笂鎶ユ墽娉曞垪琛� /enforce/order/execute/list
+export function executeList(data) {
+ return http.get(`/enforce/order/execute/list`, {params: data}, { custom: { loading: true }});
+}
+// 淇敼鎵ф硶鍗� /enforce/order/upd
+export function orderUpd(data) {
+ return http.post(`/enforce/order/doResultOrder`, data, { custom: { loading: true }});
+}
+// 浼佷笟琚墽娉曟鏁� /report/team/getCompanyCount
+export function getCompanyCount(data) {
+ return http.get(`/report/team/getCompanyCount`, data, { custom: { loading: true }});
+}
\ No newline at end of file
diff --git a/common/upload.js b/common/upload.js
new file mode 100644
index 0000000..4d44e33
--- /dev/null
+++ b/common/upload.js
@@ -0,0 +1,27 @@
+import { config } from './config.js'
+export const upload = (file) => {
+ return new Promise((resolve,refject) => {
+ uni.uploadFile({
+ url: config.baseUrl + '/tool/file/upload',
+ filePath: file,
+ name: 'file',
+ success: val => {
+ const info = JSON.parse(val.data)
+ if(info.code == 200) {
+ resolve(info)
+ } else {
+ refject(info.msg)
+ }
+
+ },
+ fail: err => {
+ // uni.showToast({
+ // title: '鏂囦欢涓婁紶澶辫触锛岃绋嶅悗閲嶈瘯',
+ // icon: 'none'
+ // })
+ // console.log(err)
+ refject(err)
+ }
+ })
+ })
+}
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index 61a4ef1..99b67bf 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
{
"name" : "娌堜笜鎯犱紒鎵ф硶",
- "appid" : "__UNI__B26A980",
+ "appid" : "__UNI__0113FBA",
"description" : "娌堜笜鎯犱紒鎵ф硶",
"versionName" : "1.0.0",
"versionCode" : "100",
diff --git a/pages.json b/pages.json
index 11a6fb0..43fc58a 100644
--- a/pages.json
+++ b/pages.json
@@ -150,7 +150,7 @@
"path" : "translateRecord/translateRecord",
"style" :
{
- "navigationBarTitleText" : ""
+ "navigationBarTitleText" : "瀹℃壒璁板綍"
}
},
{
diff --git a/policy/applyRecord/applyRecord.vue b/policy/applyRecord/applyRecord.vue
index 41a70c4..39f515a 100644
--- a/policy/applyRecord/applyRecord.vue
+++ b/policy/applyRecord/applyRecord.vue
@@ -8,27 +8,27 @@
<u-tabs :list="list1" @click="click" :current="current" :scrollable="false" bgColor="white"></u-tabs>
</u-sticky>
<view class="list">
- <view class="list-item" @click="goReport" v-for="(item,index) in dataList" :key="index">
+ <view class="list-item" @click="goReport(item.orderId)" v-for="(item,index) in dataList" :key="index">
<view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">宸茬粨鏉�</text>
+ <text>{{item.enforceReason}}</text>
+ <text class="status">{{mapStatus[item.orderStatus]}}</text>
</view>
<view class="user-info">
- <text>鐜嬫�濋洦</text>
+ <text>{{item.applyUser}}</text>
<view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
+ <text>{{item.applyDeptName}}</text>
</view>
<view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
</view>
<view class="line"></view>
<view class="set-flex set-start set-flex-content-between">
<view>
<view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
</view>
<view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
</view>
</view>
@@ -69,37 +69,46 @@
pageSize: 10
},
total: 1,
- dataList: []
+ dataList: [],
+ mapStatus: {
+ 1: '寰呭鎵�',
+ 2: "寰呮墽琛�",
+ 3: "寰呬笂鎶�",
+ '-1':"宸叉嫆缁�",
+ 4: "宸茬粨鏉�"
+ }
}
},
- onShow() {
+ onLoad() {
this.orderList()
},
onReachBottom() {
- if(this.list.length == this.total) {
+ if(this.dataList.length == this.total) {
return
}
this.queryParams.pageNum++
this.orderList()
},
methods: {
- goReport() {
+ goReport(id) {
uni.navigateTo({
- url: `/policy/applyRecordDetails/applyRecordDetails`
+ url: `/policy/applyRecordDetails/applyRecordDetails?id=${id}`
})
},
click(e) {
+ this.dataList = []
this.queryParams.pageNum = 1
this.current = e.index
+ this.orderList()
},
orderList() {
orderList({...this.queryParams, orderStatus: this.list1[this.current].value}).then(val => {
- // console.log(val.data)
this.total = val.data.total
this.dataList = [...this.dataList,...val.data.rows]
})
},
search(e){
+ this.dataList = []
this.queryParams.pageNum =1
this.queryParams.companyName = e
this.orderList()
diff --git a/policy/applyRecordDetails/applyRecordDetails.scss b/policy/applyRecordDetails/applyRecordDetails.scss
index c9475f9..8d98922 100644
--- a/policy/applyRecordDetails/applyRecordDetails.scss
+++ b/policy/applyRecordDetails/applyRecordDetails.scss
@@ -56,6 +56,7 @@
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 22rpx;
+ padding: 0 32rpx;
image{
width: 100%;
height: 220rpx;
@@ -96,6 +97,10 @@
align-items: center;
.time{
margin-left: 32rpx;
+ width: 58%;
+ }
+ .submit-per{
+ width: 42%;
}
text{
color: #4A4E60;
diff --git a/policy/applyRecordDetails/applyRecordDetails.vue b/policy/applyRecordDetails/applyRecordDetails.vue
index 95516ee..45668b8 100644
--- a/policy/applyRecordDetails/applyRecordDetails.vue
+++ b/policy/applyRecordDetails/applyRecordDetails.vue
@@ -25,23 +25,40 @@
</view>
<view class="view-form-item">
<view class="label">鎵ф硶鏃堕棿</view>
- <view>{{details.executeTime}}</view>
+ <view>{{details.planTime}}</view>
</view>
<view class="view-form-item">
<view class="label">鎵ф硶绫诲瀷</view>
- <view>{{details.enforceTypeName}}</view>
+ <view>{{typeList}}</view>
</view>
- <view class="view-form-item">
- <view class="label">鎵ф硶浜哄憳</view>
- <view>{{details.executeUser}}</view>
+
+ <view v-if="!details.executeUser">
+ <view class="view-form-item">
+ <view class="label">鎵ф硶浜哄憳</view>
+ <view>{{details.applyUser}}</view>
+ </view>
+ <view class="view-form-item">
+ <view class="label">鎵ф硶閮ㄩ棬</view>
+ <view>{{details.applyDeptName}}</view>
+ </view>
</view>
- <view class="view-form-item">
- <view class="label">鎵ф硶閮ㄩ棬</view>
- <view>{{details.executeDeptName}}</view>
+ <view v-else>
+ <view class="view-form-item">
+ <view class="label">鎵ф硶浜哄憳</view>
+ <view>{{details.executeUser}}</view>
+ </view>
+ <view class="view-form-item">
+ <view class="label">鎵ф硶閮ㄩ棬</view>
+ <view>{{details.executeDeptName}}</view>
+ </view>
</view>
- <view class="view-form-item">
+ <view class="view-form-item" style="margin-top: 20rpx;">
<view class="label">闅忚浜哄憳</view>
- <view>闅忚浜哄憳</view>
+ <view>
+ <view style="margin-bottom: 20rpx;"v-for="(item,index) in details.peers" :key="index">
+ {{item.peerUser}}({{item.peerDeptName}})
+ </view>
+ </view>
</view>
<view class="view-form-item">
<view class="label">鏄惁閫氱煡浼佷笟</view>
@@ -65,40 +82,39 @@
{{ details.regionReason }}
</view>
</view>
- <view class="base-card">
+ <view class="base-card" v-if="judgeDetails.length">
<view class="title">
<text>瀹℃壒鎯呭喌</text>
</view>
<view class="view-form">
- <view class="view-form-item">
- <view class="label">瀹℃壒缁撴灉</view>
- <view>24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
- </view>
- <view class="view-form-item">
- <view class="label">瀹℃壒浜�</view>
- <view>24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
- </view>
- <view class="view-form-item">
- <view class="label">瀹℃壒閮ㄩ棬</view>
- <view>24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
- </view>
- <view class="view-form-item">
- <view class="label">瀹℃壒鏃堕棿</view>
- <view>24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view v-for="(item,index) in judgeDetails" :key="index">
+ <view class="view-form-item">
+ <view class="label">瀹℃壒缁撴灉</view>
+ <view v-if="item.checkStatus == 1" style="color: #3EB47A;">閫氳繃</view>
+ <view v-else style="color: red">鎷掔粷</view>
+ </view>
+ <view class="view-form-item">
+ <view class="label">瀹℃壒浜�</view>
+ <view>{{item.checkUser}}</view>
+ </view>
+ <view class="view-form-item">
+ <view class="label">瀹℃壒閮ㄩ棬</view>
+ <view>{{item.checkDeptName}}</view>
+ </view>
+ <view class="view-form-item">
+ <view class="label">瀹℃壒鏃堕棿</view>
+ <view>{{item.checkTime}}</view>
+ </view>
</view>
</view>
</view>
- <view class="base-card">
+ <view class="base-card" v-if="details.orderStatus == 3 || details.orderStatus == 4">
<view class="title">
<text>鎵ф硶鍥剧墖</text>
</view>
<view class="view-image">
- <image src="https://picsum.photos/200/300" mode="widthFix"></image>
- <image src="https://picsum.photos/200/300" mode="widthFix"></image>
- <image src="https://picsum.photos/200/300" mode="widthFix"></image>
- <image src="https://picsum.photos/200/300" mode="widthFix"></image>
- <image src="https://picsum.photos/200/300" mode="widthFix"></image>
- <!-- {{regionImgs}} -->
+ <image :src="baseUrl+item" mode="widthFix" v-for="(item,index) in details.regionImgs" :key="index"></image>
+
</view>
</view>
<view class="base-card">
@@ -106,20 +122,22 @@
<text>鎵ф硶杩涘害</text>
</view>
<view class="view-step">
- <view class="step-content">
- <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
+ <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
+ <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image>
+ <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image>
<view class="top-title">
- 鎻愪氦鐢宠
+ {{item.nodeName}}
</view>
<view class="down-tips">
- <view>鎻愪氦浜猴細<text>鏋楀皬闆�</text></view>
- <view class="time">2024-06-07 12:14</view>
+ <view class="u-line-1 submit-per">鎻愪氦浜猴細<text>{{item.nodeUser}}</text></view>
+ <view class="time">{{item.nodeTime}}</view>
</view>
+
</view>
- <view class="step-content">
+ <!-- <view class="step-content">
<image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
<view class="top-title">
- 鎻愪氦鐢宠
+ 瀹℃壒閫氳繃
</view>
<view class="down-tips">
<view>鎻愪氦浜猴細<text>鏋楀皬闆�</text></view>
@@ -127,7 +145,7 @@
</view>
</view>
<view class="step-content none">
- <!-- <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> -->
+ <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
<image src="/static/policy/refject.png" mode="widthFix" class="icon"></image>
<view class="top-title">
鎻愪氦鐢宠
@@ -136,7 +154,7 @@
<view>鎻愪氦浜猴細<text>鏋楀皬闆�</text></view>
<view class="time">2024-06-07 12:14</view>
</view>
- </view>
+ </view> -->
</view>
</view>
</view>
@@ -145,30 +163,64 @@
<script>
import {
- orderDetails
+ orderDetails,
+ orderNodeList,
+ enforceLogList
} from '@/api/policy.js'
+ import { getDicts } from '@/api/data.js'
+ import { config } from '@/common/config'
export default {
data() {
return {
details: {},
+ nodeList: [],
mapStatus: {
1: '寰呭鎵�',
2: "寰呮墽琛�",
3: "寰呬笂鎶�",
'-1':"宸叉嫆缁�",
4: "宸茬粨鏉�"
- }
+ },
+ typeList: '',
+ judgeDetails: [],
+ baseUrl: config.baseUrl
}
},
onLoad(options) {
- this.orderDetails(options.id)
+ this.getDetails(options.id)
+ this.orderNodeList(options.id)
+ this.enforceLogList(options.id)
+
},
methods: {
getDetails(orderId) {
orderDetails({
orderId
}).then(val => {
- this.details = val.data
+ this.details = val.data.data
+ if(this.details.regionImgs){
+ this.details.regionImgs = this.details.regionImgs.split(",")
+ }
+ this.getDicts()
+ })
+ },
+ // 鑺傜偣
+ orderNodeList(orderId) {
+ orderNodeList({orderId}).then(val => {
+ this.nodeList = val.data.data
+ })
+ },
+ // 鐢宠璁板綍
+ enforceLogList(orderId) {
+ enforceLogList({orderId}).then(val => {
+ // console.log(val.data.rows)
+ this.judgeDetails = val.data.rows
+ })
+ },
+ getDicts() {
+ getDicts('enforce_type').then(val => {
+ const value = val.data.data.find(item => item.dictCode == this.details.enforceType)
+ this.typeList = value.dictLabel
})
}
}
diff --git a/policy/components/mine.vue b/policy/components/mine.vue
index 1fab1b4..587effb 100644
--- a/policy/components/mine.vue
+++ b/policy/components/mine.vue
@@ -11,7 +11,7 @@
<view class="dept-per">鎵ф硶浜哄憳</view>
</view>
<view class="dept-name">
- {{userInfo.data.dept.parentName}}
+ {{userInfo.data.dept.deptName}}
</view>
</view>
</view>
@@ -19,7 +19,7 @@
<view class="main-box">
<view class="show-phone-number">
<text class="label">鑱旂郴鐢佃瘽</text>
- <text v-if="userInfo.phonenumber">{{userInfo.data.phonenumber.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")}}</text>
+ <text v-if="userInfo.data.phonenumber">{{userInfo.data.phonenumber.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")}}</text>
<text v-else>鏆傛棤鎵嬫満鍙�</text>
</view>
<view class="show-phone-number" @click="goChangePhone">
diff --git a/policy/components/popup.vue b/policy/components/popup.vue
index 8c34dc4..f4114b8 100644
--- a/policy/components/popup.vue
+++ b/policy/components/popup.vue
@@ -7,32 +7,36 @@
<view class="border"></view>
<view class="padding">
<view>
- <u-radio-group placement="row">
- <u-radio active-color="#3EB47A" label="閫氳繃" name="3"></u-radio>
- <u-radio active-color="#3EB47A" label="鎷掔粷" name="3"></u-radio>
+ <u-radio-group placement="row" v-model="form.checkStatus">
+ <u-radio active-color="#3EB47A" label="閫氳繃" name="1"></u-radio>
+ <u-radio active-color="#3EB47A" label="鎷掔粷" name="-1"></u-radio>
</u-radio-group>
</view>
<view class="margin-top">
- <u-textarea placeholder="璇疯緭鍏ユ嫆缁濈悊鐢�..."></u-textarea>
+ <u-textarea placeholder="璇疯緭鍏ユ嫆缁濈悊鐢�..." v-model="form.checkReason"></u-textarea>
</view>
</view>
<view class="down">
<view class="cancel button" @click="close">鍙栨秷</view>
- <view class="enter" @entery="entery">纭</view>
+ <view class="enter" @click="entery">纭</view>
</view>
</view>
</u-popup>
</template>
<script>
+
export default {
data() {
return {
- show: false
+ show: false,
+ id: '',
+ form: {}
}
},
methods: {
- open() {
+ open(id) {
+ this.form = {}
this.show = true
},
close(){
@@ -40,7 +44,14 @@
this.$emit('cancel')
},
entery(){
- this.$emit('entery')
+ if(this.form.checkStatus == -1 && !this.form.checkReason) {
+ uni.showToast({
+ title: '璇疯緭鍏ユ嫆缁濈悊鐢�',
+ icon: 'none'
+ })
+ return
+ }
+ this.$emit('entery', this.form)
}
}
}
diff --git a/policy/components/tabs.vue b/policy/components/tabs.vue
index 84ebf76..db70f0b 100644
--- a/policy/components/tabs.vue
+++ b/policy/components/tabs.vue
@@ -29,6 +29,9 @@
success: val => {
if(val.errMsg === 'scanCode:ok'){
console.log(val.result)
+ uni.navigateTo({
+ url: `/policy/scodePage/scodePage?code=${val.result}`
+ })
}
}
})
diff --git a/policy/components/upload.vue b/policy/components/upload.vue
index 8538aa7..d421f03 100644
--- a/policy/components/upload.vue
+++ b/policy/components/upload.vue
@@ -2,7 +2,7 @@
<view>
<view class="grid-box">
<view class="image-box" v-for="(item,index) in imageList" :key="index">
- <image :src="item" mode="aspectFit"></image>
+ <image :src="baseUrl+item" mode="aspectFit"></image>
<image src="/static/policy/close.png" mode="widthFix" @click="delImage(index)" class="close"></image>
</view>
<view class="cam-box" @click="upload" v-if="imageList.length < max">
@@ -13,6 +13,8 @@
</template>
<script>
+ import { upload } from '@/common/upload.js'
+ import { config } from '@/common/config.js'
export default {
props: {
max: {
@@ -21,12 +23,13 @@
},
maxSize: {
type: Number,
- default: 2 * 1024 * 1024
+ default: 10 * 1024 * 1024
}
},
data() {
return {
- imageList: []
+ imageList: [],
+ baseUrl: config.baseUrl
}
},
methods: {
@@ -42,10 +45,26 @@
})
return
}
- this.imageList.push(val.tempFilePaths[0])
+ // console.log(val.tempFilePaths)
+ // this.imageList.push(...val.tempFilePaths)
+ val.tempFilePaths.forEach(async item => {
+ await this.uploadImage(item)
+ })
}
})
},
+ async uploadImage(file) {
+ try{
+ const code = await upload(file)
+ this.imageList.push(code.fileName)
+ } catch(err) {
+ uni.showToast({
+ title: '鏂囦欢涓婁紶澶辫触锛岃绋嶅悗閲嶈瘯',
+ icon: 'none'
+ })
+ console.log(err)
+ }
+ },
delImage(index) {
this.imageList.splice(index,1)
}
diff --git a/policy/dataLook/dataLook.scss b/policy/dataLook/dataLook.scss
index 0444d58..dbf5ca5 100644
--- a/policy/dataLook/dataLook.scss
+++ b/policy/dataLook/dataLook.scss
@@ -3,10 +3,14 @@
height: 380rpx;
flex-shrink: 0;
background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
+ position: fixed;
+ top: 50px;
+ z-index: -1;
}
.page-main{
- position: relative;
- top: -380rpx;
+ // position: relative;
+ // top: -380rpx;
+ padding-bottom: 140rpx;
.box{
margin: 32rpx 32rpx 20rpx;
background-color: white;
@@ -61,12 +65,24 @@
}
.value{
font-weight: 500;
+ font-size: 32rpx;
}
.width-set{
width: 80%;
display: flex;
justify-content: flex-start;align-items: center;
-
+ image{
+ width: 48rpx;
+ height: 48rpx;
+ margin-right: 36rpx;
+ }
+ .set-index{
+ width: 48rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: center;
+ display: inline-block;
+ }
}
}
@@ -82,4 +98,7 @@
margin: 0 5rpx;
}
}
+ .origin{
+ color: #FE7B32;
+ }
}
\ No newline at end of file
diff --git a/policy/dataLook/dataLook.vue b/policy/dataLook/dataLook.vue
index 4023b29..d5d6813 100644
--- a/policy/dataLook/dataLook.vue
+++ b/policy/dataLook/dataLook.vue
@@ -14,58 +14,63 @@
<view class="grid-box">
<view class="grid-item">
<view class="label">浼佷笟鎬绘暟</view>
- <view>5,400</view>
+ <view>{{infoData.companyNum || 0}}</view>
</view>
<view class="grid-item">
<view class="label">鎵ф硶鍗曚綅</view>
- <view>5,400</view>
+ <view>{{infoData.enforceCompanyNum || 0}}</view>
</view>
<view class="grid-item">
<view class="label">鎵ф硶浜哄憳</view>
- <view>5,400</view>
+ <view>{{infoData.enforceUserNum || 0}}</view>
</view>
<view class="grid-item">
<view class="label">鎵ф硶鐢宠</view>
- <view>5,400</view>
+ <view>{{infoData.enforceOrderNum || 0}}</view>
</view>
<view class="grid-item">
<view class="label">宸插鎵�</view>
- <view>5,400</view>
+ <view>{{infoData.enforceOrderCheckedNum || 0}}</view>
</view>
<view class="grid-item">
<view class="label">宸茬粨鏉�</view>
- <view>5,400</view>
+ <view>{{infoData.enforceOrderCompleteNum || 0}}</view>
</view>
</view>
</view>
<view class="box">
<view class="title set-flex-content-between set-flex">
<text>鎵ф硶鍗曚綅鎵ф硶娆℃暟</text>
- <u-icon name="calendar" size="24"></u-icon>
+ <u-icon name="calendar" size="24" @click="openDate(1)"></u-icon>
</view>
<view class="number">
- <view class="date">2024-04-05 <text class="margin-text">鑷�</text> 2024-06-14</view>
+ <view class="date">{{pageQuerm.beginTimeStr1}} <text class="margin-text">鑷�</text> {{pageQuerm.endTimeStr1}}</view>
<view class="progress-box">
- <qiun-data-charts key="11" type="bar" :opts="opts" :chartData="chartData" />
+ <qiun-data-charts key="11" type="bar"
+ :opts="opts" :chartData="chartData" />
</view>
</view>
</view>
<view class="box">
<view class="title set-flex-content-between set-flex">
<text>浼佷笟琚墽娉曟鏁版帓琛�</text>
- <u-icon name="calendar" size="24"></u-icon>
+ <u-icon name="calendar" size="24" @click="openDate(2)"></u-icon>
</view>
<view class="number">
- <view class="date" style="margin-bottom: 36rpx;">2024-04-05 <text class="margin-text">鑷�</text> 2024-06-14</view>
+ <view class="date" style="margin-bottom: 36rpx;">{{pageQuerm.beginTimeStr2}} <text class="margin-text">鑷�</text>
+ {{pageQuerm.endTimeStr2}}</view>
<view class="list-box">
<view class="list-item" v-for="(item,index) in listData" :key="index">
<view class="width-set">
- <text style="margin-right: 10rpx;">{{index+1}}</text>
- <text class="company u-line-1">鍖椾含涓滄柟鐩堣仈绉戞妧鏈夐檺鍏徃</text>
+ <image src="/static/policy/rank1.png" mode="widthFix" v-if="index == 0"></image>
+ <image src="/static/policy/rank2.png" mode="widthFix" v-if="index == 1"></image>
+ <image src="/static/policy/rank3.png" mode="widthFix" v-if="index == 2"></image>
+ <text class="set-index" style="margin-right: 36rpx;color: #7E8596;" v-if="index > 2">{{index+1}}</text>
+ <text class="company u-line-1" style="color: #202D44;">{{item.k}}</text>
</view>
- <text class="value">54</text>
+ <text class="value" :class="{origin: index <= 2}">{{item.v}}</text>
</view>
- <view class="look-more">
+ <view class="look-more" @click="lookMore" v-if="showMore">
<text>鏌ョ湅鏇村</text>
<u-icon name="arrow-right" color="#7E8596"></u-icon>
</view>
@@ -75,46 +80,54 @@
<view class="box">
<view class="title set-flex-content-between set-flex">
<text>鎵ф硶绫诲瀷鍗犳瘮</text>
- <u-icon name="calendar" size="24"></u-icon>
+ <u-icon name="calendar" size="24" @click="openDate(3)"></u-icon>
</view>
<view class="number">
- <view class="date">2024-04-05 <text class="margin-text">鑷�</text> 2024-06-14</view>
+ <view class="date" style="margin-bottom: 20rpx;">{{pageQuerm.beginTimeStr3}} <text class="margin-text">鑷�</text> {{pageQuerm.endTimeStr3}}</view>
<view class="progress-box">
- <qiun-data-charts
- type="rose"
- key="22"
- :opts="opts1"
- :chartData="chartData1"
- /> </view>
+ <qiun-data-charts type="rose" tooltipFormat="tooltipDemo1"
+
+ key="22" :opts="opts1" :chartData="chartData1" />
+ </view>
</view>
</view>
</view>
+ <u-datetime-picker
+ :show="show"
+ :maxDate="new Date().getTime()"
+ v-model="currentValue"
+ mode="year-month"
+ @confirm="confirmDate"
+ ></u-datetime-picker>
</view>
</template>
<script>
+ import {
+ getTotalInfo,
+ getDeptCount,
+ getCompanyCount,
+ getEnforceTypeCount
+ } from '@/api/data.js'
export default {
data() {
return {
+ typeItem: '',
+ currentValue: '',
+ show: false,
+ infoData: [],
listData: [
- {
- name: '鍖椾含涓滄柟鐩堣仈绉戞妧鏈夐檺鍏徃',
- value: 54
- },
- {
- name: '鍖椾含涓滄柟鐩堣仈绉戞妧鏈夐檺鍏徃',
- value: 54
- },
- {
- name: '鍖椾含涓滄柟鐩堣仈绉戞妧鏈夐檺鍏徃',
- value: 54
- },
- {
- name: '鍖椾含涓滄柟鐩堣仈绉戞妧鏈夐檺鍏徃',
- value: 54
- }
],
chartData: {},
+ pageQuerm: {
+ pageNum: 1,
+ pageSize: 10,
+ total: 1,
+ beginTimeStr: '',
+ endTimeStr: '',
+ },
+ originData: [],
+ showMore: true,
//鎮ㄥ彲浠ラ�氳繃淇敼 config-ucharts.js 鏂囦欢涓笅鏍囦负 ['bar'] 鐨勮妭鐐规潵閰嶇疆鍏ㄥ眬榛樿鍙傛暟锛屽閮芥槸榛樿鍙傛暟锛屾澶勫彲浠ヤ笉浼� opts 銆傚疄闄呭簲鐢ㄨ繃绋嬩腑 opts 鍙渶浼犲叆涓庡叏灞�榛樿鍙傛暟涓笉涓�鑷寸殑銆愭煇涓�涓睘鎬с�戝嵆鍙疄鐜板悓绫诲瀷鐨勫浘琛ㄦ樉绀轰笉鍚岀殑鏍峰紡锛岃揪鍒伴〉闈㈢畝娲佺殑闇�姹傘��
opts: {
color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
@@ -149,65 +162,154 @@
}
},
chartData1: {},
+ tooltipCustom: {},
opts1: {
- color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
- padding: [5,5,5,5],
- enableScroll: false,
- legend: {
- show: true,
- position: "left",
- lineHeight: 25
- },
- extra: {
- rose: {
- type: "area",
- minRadius: 50,
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- border: false,
- borderWidth: 2,
- borderColor: "#FFFFFF"
- }
- }
- }
+ color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
+ "#ea7ccc"
+ ],
+ tooltipFormat: function (item) {
+ return "456"
+ },
+ padding: [5, 5, 5, 5],
+ enableScroll: false,
+ legend: {
+ show: false,
+ },
+ extra: {
+ rose: {
+ type: "area",
+ minRadius: 50,
+ activeOpacity: 0.5,
+ activeRadius: 10,
+ offsetAngle: 0,
+ labelWidth: 15,
+ border: false,
+ borderWidth: 2,
+ borderColor: "#FFFFFF"
+ },
+ tooltip: {
+ // bgColor: "#fff",
+ // showArrow: false,
+ // fontColor: "#202D44",
+ // bgOpacity: 1,
+ }
+ }
+ }
}
},
onReady() {
+ // console.log(new Date().getMonth() + 1, new Date().getDate())
+ let date = new Date()
+ date.setMonth(date.getMonth() - 1); // 鍑忓幓1涓湀
+ date.setDate(1); // 璁剧疆鏃ヤ负鏈堜唤鐨勭涓�澶�
+ this.pageQuerm.beginTime = this.$u.timeFormat(date, "yyyy-mm-dd") + " " + "00:00:00"
+ this.pageQuerm.endTime = this.$u.timeFormat(new Date(), "yyyy-mm-dd") + " " +"23:59:59"
+ this.pageQuerm.beginTimeStr1 = this.pageQuerm.beginTimeStr2 = this.pageQuerm.beginTimeStr3 = this.$u.timeFormat(date, "yyyy-mm-dd")
+ this.pageQuerm.endTimeStr1 = this.pageQuerm.endTimeStr2 = this.pageQuerm.endTimeStr3 = this.$u.timeFormat(new Date(), "yyyy-mm-dd")
+ this.getTotalInfo()
+ this.getCompanyCount()
this.getServerData();
this.getServerData1()
},
methods: {
+ confirmDate(e) {
+ if(new Date().getMonth() == new Date(e.value).getMonth()){
+ this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd')
+ this.pageQuerm[`endTimeStr${this.typeItem}`] = this.$u.timeFormat(e.value, 'yyyy-mm-dd')
+ this.pageQuerm.beginTime = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd') + " " + "00:00:00"
+ this.pageQuerm.endTime = this.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
+ } else {
+ this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd')
+ this.pageQuerm.beginTime = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd') + " " + "00:00:00"
+ const date = new Date(e.value);
+ const year = date.getFullYear();
+ const month = date.getMonth() + 1; // 鏈堜唤浠�0寮�濮嬭绠楋紝闇�瑕佸姞1
+ const lastDay = new Date(year, month, 0)
+
+ this.pageQuerm.endTime = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd') + " " + "23:59:59"
+ this.pageQuerm[`endTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd')
+ }
+
+ if(this.typeItem == 1) {
+ this.getServerData()
+ }
+ if(this.typeItem == 2) {
+ this.getCompanyCount()
+ }
+ if(this.typeItem == 3) {
+ this.getServerData1()
+ }
+ this.show = false
+ },
+ openDate(item) {
+ this.typeItem = item
+ this.currentValue = new Date().getTime()
+ this.show = true
+ },
+ lookMore() {
+ this.pageQuerm.pageNum++
+ const value = this.pageQuerm.pageNum * this.pageQuerm.pageSize
+ const data = this.originData.slice((this.pageQuerm.pageNum - 1) * this.pageQuerm.pageSize, value)
+ this.listData.push(...data)
+ if(value >= this.pageQuerm.total) {
+ this.showMore = false
+ }
+ },
+ // 鑾峰彇鎵ф硶淇℃伅
+ getTotalInfo() {
+ getTotalInfo(this.pageQuerm).then(val => {
+ // console.log(val)
+ this.infoData = val.data.data
+ })
+ },
+ // 鎵ф硶娆℃暟閮ㄩ棬
getServerData() {
- //妯℃嫙浠庢湇鍔″櫒鑾峰彇鏁版嵁鏃剁殑寤舵椂
- setTimeout(() => {
- //妯℃嫙鏈嶅姟鍣ㄨ繑鍥炴暟鎹紝濡傛灉鏁版嵁鏍煎紡鍜屾爣鍑嗘牸寮忎笉鍚岋紝闇�鑷鎸変笅闈㈢殑鏍煎紡鎷兼帴
+ getDeptCount(this.pageQuerm).then(val => {
+ const value = val.data.data
+ const label = value.map(item => item.k)
+ const data = value.map(item => item.v)
let res = {
- categories: ["宸ュ晢绠$悊灞�", "鍩庡競绠$悊灞�", "鍩庡競绠$悊灞�", "鍩庡競绠$悊灞�", "鍩庡競绠$悊灞�", "鍩庡競绠$悊灞�"],
+ categories: label,
series: [{
- name: "鐩爣鍊�",
- data: [35, 36, 31, 33, 13, 34]
- }
- ]
+ name: "鎵ф硶娆℃暟",
+ data: data,
+
+ }]
};
this.chartData = JSON.parse(JSON.stringify(res));
- }, 500);
+ })
+
},
+ // 浼佷笟琚墽娉曟鏁版帓琛�
+ getCompanyCount() {
+ getCompanyCount(this.pageQuerm).then(val => {
+ this.listData = val.data.data.slice(0, this.pageQuerm.pageSize)
+ this.originData = val.data.data
+ this.pageQuerm.total = val.data.data.length
+ if(this.pageQuerm.total <= this.pageQuerm.pageSize) {
+ this.showMore = false
+ }
+ })
+ },
+
getServerData1() {
- //妯℃嫙浠庢湇鍔″櫒鑾峰彇鏁版嵁鏃剁殑寤舵椂
- setTimeout(() => {
- //妯℃嫙鏈嶅姟鍣ㄨ繑鍥炴暟鎹紝濡傛灉鏁版嵁鏍煎紡鍜屾爣鍑嗘牸寮忎笉鍚岋紝闇�鑷鎸変笅闈㈢殑鏍煎紡鎷兼帴
- let res = {
- series: [
- {
- data: [{"name":"涓�鐝�","value":50},{"name":"浜岀彮","value":30},{"name":"涓夌彮","value":20},{"name":"鍥涚彮","value":18},{"name":"浜旂彮","value":8}]
- }
- ]
- };
- this.chartData1 = JSON.parse(JSON.stringify(res));
- }, 500);
- },
+ getEnforceTypeCount(this.pageQuerm).then(val => {
+ const data = val.data.data.map(item => {
+ return {
+ name: item.k,
+ value: item.v,
+ "labelText": item.k
+ }
+ })
+ let res = {
+ series: [{
+ data: data,
+ }]
+ };
+ this.chartData1 = JSON.parse(JSON.stringify(res));
+
+ })
+ },
}
}
</script>
diff --git a/policy/policyApply/policyApply.vue b/policy/policyApply/policyApply.vue
index 49ff902..2144073 100644
--- a/policy/policyApply/policyApply.vue
+++ b/policy/policyApply/policyApply.vue
@@ -41,7 +41,7 @@
鎵ф硶鍐呭
</view>
<view class="back">
- <u--textarea :height="120" v-model="form.regionReason" placeholder="璇疯緭鍏�" count maxlength="500"></u--textarea>
+ <u--textarea :height="120" v-model="form.enforceContent" placeholder="璇疯緭鍏�" count maxlength="500"></u--textarea>
</view>
</view>
</view>
@@ -166,9 +166,10 @@
applyDeptName: '',
enforceType: 1,
isNoticeCompany: 0,
- regionReason: '',
+ regionReason: 0,
planTimeStr: '',
- peers: []
+ peers: [],
+ orderStatus: 1
},
show: false,
columns: [],
@@ -227,7 +228,39 @@
}
return options;
},
+ authFile() {
+ if(!this.form.enforceReason){
+ return '璇峰~鍐欎富棰�'
+ }
+ if(!this.form.companyName){
+ return '璇峰~鍐欑‘璁ゆ墽娉曞璞�'
+ }
+ if(!this.form.companyId) {
+ return '璇风偣鍑绘悳绱㈢‘璁ゆ墽娉曞璞�'
+ }
+ if(!this.form.planTimeStr) {
+ return '璇峰~鍐欐墽娉曟椂闂�'
+ }
+ if(!this.form.enforceTypeName){
+ return '璇烽�夋嫨鎵ф硶绫诲瀷'
+ }
+ if(!this.form.regionReason) {
+ return '璇峰~鍐欐墽娉曞唴瀹�'
+ }
+ if(!this.form.peers.length){
+ return '璇锋坊鍔犲悓琛屼汉'
+ }
+ return ''
+ },
submitApply(){
+ const res = this.authFile()
+ if(res){
+ uni.showToast({
+ title: res,
+ icon: 'none'
+ })
+ return
+ }
orderAdd(this.form).then(val => {
if(val.data.code == 200) {
uni.showToast({
@@ -303,7 +336,7 @@
peerDeptName: item.dept.deptName,
peerId: item.userId,
peerPhone: item.phonenumber,
- peerType: 3,
+ peerType: 2,
peerUser: item.nickName
})
}
diff --git a/policy/reportDetails/reportDetails.vue b/policy/reportDetails/reportDetails.vue
index cb8dd39..2115ae8 100644
--- a/policy/reportDetails/reportDetails.vue
+++ b/policy/reportDetails/reportDetails.vue
@@ -4,35 +4,44 @@
<view class="form">
<view class="form-item">
<view class="label">鎵ф硶涓婚</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{details.enforceReason}}</view>
</view>
<view class="form-item">
<view class="label">鎵ф硶瀵硅薄</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{details.companyName}}</view>
</view>
<view class="form-item">
<view class="label">鎵ф硶鏃堕棿</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{details.planTime}}</view>
</view>
<view class="form-item">
<view class="label">鎵ф硶绫诲瀷</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{enforceType}}</view>
</view>
<view class="form-item">
<view class="label">鎵ф硶浜哄憳</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{details.executeUser}}</view>
</view>
<view class="form-item">
<view class="label">鎵ф硶閮ㄩ棬</view>
- <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view>
+ <view class="input">{{details.executeDeptName}}</view>
</view>
</view>
</view>
<view class="box">
<view class="form-input">
+ <view class="form-input-item" style="margin-bottom: 40rpx;">
+ <view class="form-label require" style="margin-bottom: 40rpx;">鎵ф硶缁撴灉</view>
+ <view>
+ <u-radio-group v-model="form.regionStatus">
+ <u-radio shape="circle" label="姝e父" name="0"></u-radio>
+ <u-radio shape="circle" label="寰呮暣鏀�" name="1"></u-radio>
+ </u-radio-group>
+ </view>
+ </view>
<view class="form-input-item">
- <view class="form-label require">鎵ф硶缁撴灉</view>
- <u-textarea placeholder="璇疯緭鍏�..." count v-model="form.reasoon" maxlength="500"></u-textarea>
+ <view class="form-label require">鎵ф硶缁撴灉璇存槑</view>
+ <u-textarea placeholder="璇疯緭鍏�..." count v-model="form.regionReason" maxlength="500"></u-textarea>
</view>
<view class="form-input-item">
@@ -41,13 +50,13 @@
<view class="show-hint">鍙笂浼�9寮犲浘锛屽崟寮犱笉寰楄秴杩�10m</view>
</view>
<view>
- <uploadImage></uploadImage>
+ <uploadImage ref="uploadImage"></uploadImage>
</view>
</view>
</view>
</view>
<view class="down">
- <view class="button">
+ <view class="button" @click="startReport">
涓婃姤缁撴灉
</view>
</view>
@@ -56,6 +65,8 @@
<script>
import uploadImage from '@/policy/components/upload.vue'
+ import { orderDetails,orderUpd } from '@/api/policy.js'
+ import { getDicts } from '@/api/data.js'
export default {
components: {
uploadImage
@@ -63,57 +74,65 @@
data() {
return {
form: {
- reasoon: ''
+ regionReason: '',
+ regionStatus: '0'
},
- fileList1: []
+ fileList1: [],
+ details: {},
+ enforceType: ""
}
},
+ onLoad(options) {
+ this.orderDetails(options.id)
+ },
methods: {
- // 鍒犻櫎鍥剧墖
- deletePic(event) {
- this[`fileList${event.name}`].splice(event.index, 1)
+ // 鑾峰彇鎵ф硶绫诲瀷鏋氫妇
+ getDicts() {
+ getDicts('enforce_type').then(val => {
+ if(val.data.data) {
+ this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel
+ }
+ })
},
- // 鏂板鍥剧墖
- async afterRead(event) {
- // 褰撹缃� multiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
- let lists = [].concat(event.file)
- let fileListLen = this[`fileList${event.name}`].length
- lists.map((item) => {
- this[`fileList${event.name}`].push({
- ...item,
- status: 'uploading',
- message: '涓婁紶涓�'
+ // 鑾峰彇鎵ф硶鍗曡鎯�
+ orderDetails(id) {
+ orderDetails({orderId: id}).then(val => {
+ this.details = val.data.data
+ this.getDicts()
+ })
+ },
+ // 涓婃姤鎵ц缁撴灉
+ startReport() {
+ if(!this.form.regionReason){
+ uni.showToast({
+ title: '璇峰~鍐欐墽娉曠粨鏋�',
+ icon: 'none'
})
- })
- for (let i = 0; i < lists.length; i++) {
- const result = await this.uploadFilePromise(lists[i].url)
- let item = this[`fileList${event.name}`][fileListLen]
- this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
- status: 'success',
- message: '',
- url: result
- }))
- fileListLen++
+ return
}
- },
- uploadFilePromise(url) {
- return new Promise((resolve, reject) => {
- let a = uni.uploadFile({
- url: 'http://192.168.2.21:7001/upload', // 浠呬负绀轰緥锛岄潪鐪熷疄鐨勬帴鍙e湴鍧�
- filePath: url,
- name: 'file',
- formData: {
- user: 'test'
- },
- success: (res) => {
- setTimeout(() => {
- resolve(res.data.data)
- }, 1000)
- }
- });
+ const image = this.$refs.uploadImage.imageList
+ if(!image.length){
+ uni.showToast({
+ title: '璇蜂笂浼犳墽娉曞浘鐗�',
+ icon: 'none'
+ })
+ return
+ }
+ this.details.regionReason = this.form.regionReason
+ this.form.regionImgs = image.join()
+ this.form.orderId = this.details.orderId
+ orderUpd(this.form).then(val =>{
+ if(val.data.code == 200) {
+ uni.showToast({
+ title: '涓婃姤鎴愬姛',
+ icon: 'none'
+ })
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 500)
+ }
})
- },
-
+ }
}
}
</script>
@@ -124,4 +143,7 @@
</style>
<style lang="scss" scoped>
@import "./reportDetails.scss";
+ /deep/ .u-radio{
+ margin-right: 80rpx;
+ }
</style>
\ No newline at end of file
diff --git a/policy/reportPage/reportPage.vue b/policy/reportPage/reportPage.vue
index 9e1e614..40f92aa 100644
--- a/policy/reportPage/reportPage.vue
+++ b/policy/reportPage/reportPage.vue
@@ -1,90 +1,36 @@
<template>
<view class="page-box">
<view class="list">
- <view class="list-item" @click="goReport">
+ <view class="list-item" v-for="(item,index) in list" :key="index">
<view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
+ <text>{{item.enforceReason}}</text>
<text class="status">寰呬笂鎶�</text>
</view>
<view class="user-info">
- <text>鐜嬫�濋洦</text>
+ <text>{{item.executeUser}}</text>
<view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
+ <text>{{item.executeDeptName}}</text>
</view>
<view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
</view>
<view class="line"></view>
<view class="set-flex set-start set-flex-content-between">
<view>
<view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
</view>
<view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
</view>
</view>
- <view class="button">
+ <view class="button" @click="goReport(item.orderId)" >
涓婃姤
</view>
</view>
</view>
- <view class="list-item">
- <view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">寰呬笂鎶�</text>
- </view>
- <view class="user-info">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
- </view>
- <view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="line"></view>
- <view class="set-flex set-start set-flex-content-between">
- <view>
- <view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
- <view class="button">
- 涓婃姤
- </view>
- </view>
- </view>
- <view class="list-item">
- <view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">寰呬笂鎶�</text>
- </view>
- <view class="user-info">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
- </view>
- <view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="line"></view>
- <view class="set-flex set-start set-flex-content-between">
- <view>
- <view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
- <view class="button">
- 涓婃姤
- </view>
- </view>
- </view>
+ <u-empty v-if="!list.length" mode="data"></u-empty>
+
</view>
<view class="down">
<view class="button" @click="goRecord">
@@ -95,22 +41,48 @@
</template>
<script>
+ import { executeList } from '@/api/policy.js'
export default {
data() {
return {
-
+ list: [],
+ total: 1,
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ orderStatus: 3
+ }
}
},
+ onShow() {
+ this.queryParams.pageNum = 1
+ this.list = []
+ this.executeList()
+ },
+ onReachBottom() {
+ if(this.list.length == this.list.length) {
+ return
+ }
+ this.queryParams.pageNum++
+ this.executeList()
+ },
methods: {
- goReport() {
+ goReport(id) {
uni.navigateTo({
- url: `/policy/reportDetails/reportDetails`
+ url: `/policy/reportDetails/reportDetails?id=${id}`
})
},
goRecord() {
uni.navigateTo({
url: `/policy/reportRecord/reportRecord`
})
+ },
+ // 鑾峰彇寰呮墽娉曞垪琛�
+ executeList() {
+ executeList(this.queryParams).then(val => {
+ this.list = [...this.list, ...val.data.rows]
+ this.total = val.data.total
+ })
}
}
}
diff --git a/policy/reportRecord/reportRecord.scss b/policy/reportRecord/reportRecord.scss
index e3fbbf3..60d7083 100644
--- a/policy/reportRecord/reportRecord.scss
+++ b/policy/reportRecord/reportRecord.scss
@@ -1,4 +1,7 @@
.page-box{
+ .padding{
+ padding: 20rpx 32rpx;
+ }
.list{
margin: 20rpx 32rpx;
.list-item{
diff --git a/policy/reportRecord/reportRecord.vue b/policy/reportRecord/reportRecord.vue
index b0da701..3b9eb91 100644
--- a/policy/reportRecord/reportRecord.vue
+++ b/policy/reportRecord/reportRecord.vue
@@ -1,119 +1,108 @@
<template>
<view class="page-box">
<u-sticky bgColor="white">
- <u-tabs :list="list1" @click="click" :scrollable="false" bgColor="white"></u-tabs>
+ <view class="padding">
+ <u-search placeholder="璇疯緭鍏ョ敵璇疯褰曞叧閿瘝" v-model="queryParams.enforceReason" @clear="clean" shape="square" @confirm="search" :showAction="false"></u-search>
+ </view>
</u-sticky>
<view class="list">
- <view class="list-item" @click="goReport">
- <view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">宸茬粨鏉�</text>
- </view>
- <view class="user-info">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
- </view>
- <view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="line"></view>
- <view class="set-flex set-start set-flex-content-between">
- <view>
- <view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
-
- </view>
- </view>
- <view class="list-item">
- <view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">宸茬粨鏉�</text>
- </view>
- <view class="user-info">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
- </view>
- <view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="line"></view>
- <view class="set-flex set-start set-flex-content-between">
- <view>
- <view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
-
- </view>
- </view>
- <view class="list-item">
- <view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status">宸茬粨鏉�</text>
- </view>
- <view class="user-info">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
- </view>
- <view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="line"></view>
- <view class="set-flex set-start set-flex-content-between">
- <view>
- <view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
-
- </view>
- </view>
+ <view class="list-item" @click="goReport(item.orderId)" v-for="(item,index) in list" :key="index">
+ <view class="top-title">
+ <text>{{item.enforceReason}}</text>
+ <text class="status">宸茬粨鏉�</text>
+ </view>
+ <view class="user-info">
+ <text>{{item.executeUser}}</text>
+ <view class="driver"></view>
+ <text>{{item.executeDeptName}}</text>
+ </view>
+ <view class="set-line">
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
+ </view>
+ <view class="line"></view>
+ <view class="set-flex set-start set-flex-content-between">
+ <view>
+ <view class="set-line1">
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
+ </view>
+ <view class="set-line1">
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
+ </view>
+ </view>
+ <!-- <view class="button" @click="goReport(item.orderId)" >
+ 涓婃姤
+ </view> -->
+ </view>
+ </view>
+ <u-empty v-if="!list.length" mode="data"></u-empty>
+
+
</view>
</view>
</template>
<script>
+ import {
+ executeList
+ } from '@/api/policy.js'
export default {
data() {
return {
- list1: [{
- name: '寰呬笂鎶�',
- }, {
- name: '宸蹭笂鎶�',
- }]
+ list: [],
+ total: 1,
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ orderStatus: 4
+ },
+ searchContent: ''
}
},
+ onShow() {
+ this.queryParams.pageNum = 1
+ this.list = []
+ this.executeList()
+ },
+ onReachBottom() {
+ if(this.list.length == this.total) {
+ return
+ }
+ this.queryParams.pageNum++
+ this.orderList()
+ },
methods: {
- goReport() {
+ clean() {
+ this.queryParams.enforceReason = ""
+ this.list = []
+ this.executeList()
+ },
+ search() {
+ this.queryParams.pageNum = 1
+ this.list = []
+ this.executeList()
+ },
+ goReport(order) {
uni.navigateTo({
- url: `/policy/reportDetails/reportDetails`
+ url: `/policy/applyRecordDetails/applyRecordDetails?id=${order}`
})
},
click() {
-
+
+ },
+ executeList() {
+ executeList(this.queryParams).then(val => {
+ this.list = [...this.list, ...val.data.rows]
+ this.total = val.data.total
+ })
}
}
}
</script>
<style>
- page{
+ page {
background-color: #F4F4F4;
}
</style>
<style lang="scss" scoped>
-@import "./reportRecord.scss";
-</style>
+ @import "./reportRecord.scss";
+</style>
\ No newline at end of file
diff --git a/policy/scodePage/scodePage.scss b/policy/scodePage/scodePage.scss
index 7659470..4dc32cf 100644
--- a/policy/scodePage/scodePage.scss
+++ b/policy/scodePage/scodePage.scss
@@ -158,4 +158,14 @@
}
.hide-canvas{
display: none;
+}
+.button-entery{
+ text-align: right;
+ .button{
+ background-color: #4F86F3;
+ color: white;
+ padding: 20rpx 32rpx;
+ border-radius: 10rpx;
+ display: inline-block;
+ }
}
\ No newline at end of file
diff --git a/policy/scodePage/scodePage.vue b/policy/scodePage/scodePage.vue
index 6ca01de..813ed64 100644
--- a/policy/scodePage/scodePage.vue
+++ b/policy/scodePage/scodePage.vue
@@ -29,66 +29,118 @@
<image src="/static/policy/qrcode-border.png" class="border" mode="widthFix"></image>
<image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image>
<view class="code-time">
- <text>鎵爜鏃堕棿锛�</text>2024-05-12 12:00
+ <text>鎵爜鏃堕棿锛�</text>{{$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss')}}
</view>
</view>
<view class="code">
<view class="item">
<text class="label">鎵ф硶浜哄憳</text>
- <text class="value">鐜嬪皬涓�</text>
+ <text class="value">{{userInfo.nickName}}</text>
</view>
<view class="write-border"></view>
<view class="item">
<text class="label">鎵ф硶閮ㄩ棬</text>
- <text class="value">宸ュ晢绠$悊灞�</text>
+ <text class="value">{{userInfo.dept.deptName}}</text>
</view>
</view>
<view class="hint-text">
- 褰撳墠浼佷笟瀛樺湪<text>1</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔�
+ 褰撳墠浼佷笟瀛樺湪<text>{{list.length}}</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔�
</view>
+ <!-- <view class="hint-text">
+ 褰撳墠浼佷笟鏈畬鎴愮殑鎵ф硶浠诲姟
+ </view> -->
<view class="down-block">
- <view class="box">
- <view class="title">24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</view>
- <view class="user-news">
- <text>鐜嬫�濋洦</text>
- <view class="driver"></view>
- <text>宸ュ晢绠$悊灞�</text>
- </view>
- <view class="font-13">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
- </view>
- <view class="border"></view>
- <view class="font-12 margin-bottom">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
- </view>
- <view class="font-12">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
- </view>
- </view>
+ <swiper style="height: 500rpx;" :indicator-dots="false" :interval="3000" :duration="1000">
+ <swiper-item v-for="(item,index) in list" :key="index">
+ <view class="box">
+ <view class="title">{{item.enforceReason}}</view>
+ <view class="user-news">
+ <text>{{item.applyUser}}</text>
+ <view class="driver"></view>
+ <text>{{item.applyDeptName}}</text>
+ </view>
+ <view class="font-13">
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
+ </view>
+ <view class="border"></view>
+ <view class="font-12 margin-bottom">
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
+ </view>
+ <view class="font-12">
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
+ </view>
+ <view class="button-entery">
+ <view class="button" @click="doScanOrder(item.orderId)">纭鎵ф硶</view>
+ </view>
+ </view>
+ </swiper-item>
+ </swiper>
</view>
</view>
- <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: 'green',useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode>
+ <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: color,useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode>
</view>
</template>
<script>
+ import { getScanList, doScanOrder } from '@/api/policy.js'
+ import { getInfo } from '@/api/auth.js'
export default {
data() {
return {
- companyCode: 'code===',
- uqrcodeImage: ''
+ companyCode: '',
+ uqrcodeImage: '',
+ list: [],
+ userInfo: {},
+ color: ''
}
},
onReady() {
- this.$refs.uqrcode.toTempFilePath({
- success: res => {
- this.uqrcodeImage = res.tempFilePath
- }
- });
+
+ },
+ onLoad(options) {
+ this.getScanList(options.code)
+
+ this.getInfo()
+ },
+ onShow() {
+
},
methods: {
-
+ getScanList(companyCode){
+ getScanList({companyCode}).then(val => {
+ this.list = val.data.data
+ if(this.list.length) {
+ this.color = 'green'
+ } else {
+ this.color = 'red'
+ }
+ this.companyCode = companyCode
+ setTimeout(() => {
+ this.$refs.uqrcode.toTempFilePath({
+ success: res => {
+ this.uqrcodeImage = res.tempFilePath
+ }
+ });
+ }, 500)
+ })
+ },
+ getInfo() {
+ getInfo().then(val => {
+ console.log(val.data.data)
+ this.userInfo = val.data.data
+ })
+ },
+ doScanOrder(item) {
+ doScanOrder(item).then(val => {
+ if(val.data.code == 200) {
+ uni.showToast({
+ title: '纭鎵ф硶鎴愬姛',
+ icon: 'none'
+ })
+ }
+ })
+ }
}
}
</script>
diff --git a/policy/translate/translate.vue b/policy/translate/translate.vue
index f463722..6058099 100644
--- a/policy/translate/translate.vue
+++ b/policy/translate/translate.vue
@@ -8,28 +8,28 @@
</view>
<view class="list-item">
<view class="top-title">
- <text>{{item.checkReason}}</text>
+ <text>{{item.enforceReason}}</text>
<text class="status">寰呭鎵�</text>
</view>
<view class="user-info">
- <text>鐜嬫�濋洦</text>
+ <text>{{item.applyUser}}</text>
<view class="driver"></view>
<text>{{item.checkDeptName}}</text>
</view>
<view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
</view>
<view class="line"></view>
<view class="set-flex set-start set-flex-content-between">
<view>
<view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
</view>
<view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
</view>
</view>
- <view class="button" v-if="!isJudege" @click="goStartJudeg">
+ <view class="button" v-if="!isJudege" @click="goStartJudeg(item.orderId)">
瀹℃壒
</view>
</view>
@@ -55,7 +55,7 @@
<script>
import popupCom from '@/policy/components/popup.vue'
- import { checkLogList,checkUpd } from '@/api/policy.js'
+ import { checkLogList, checkUpd } from '@/api/policy.js'
export default {
components: {
popupCom
@@ -71,7 +71,8 @@
pageNum: 1,
pageSize: 10,
checkStatus: 0
- }
+ },
+ recordList: []
}
},
computed: {
@@ -103,7 +104,8 @@
click() {
},
- goStartJudeg() {
+ goStartJudeg(id) {
+ this.recordList = id
this.$refs.popup.open()
},
// 鎵归噺瀹℃壒
@@ -130,8 +132,22 @@
})
}
},
- entery() {
- this.isJudege = false
+ entery(form) {
+ // 1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵�
+ checkUpd({...form, id: this.recordList, checkType: 2}).then(val => {
+ if(val.data.code == 200) {
+ uni.showToast({
+ title: '瀹℃壒鎴愬姛',
+ icon: 'none'
+ })
+ }
+ this.list = []
+ this.queryms.pageNum = 1
+ this.checkLogList()
+ this.$refs.popup.close()
+ this.isJudege = false
+ })
+
},
cancelSelect() {
this.isJudege = false
diff --git a/policy/translateRecord/translateRecord.vue b/policy/translateRecord/translateRecord.vue
index 7ba1ee2..5c62dc0 100644
--- a/policy/translateRecord/translateRecord.vue
+++ b/policy/translateRecord/translateRecord.vue
@@ -2,58 +2,101 @@
<view class="page-box">
<u-sticky bgColor="white">
<view class="set-search">
- <u-search placeholder="璇疯緭鍏ユ墽娉曚富棰� " shape="square" :showAction="false"></u-search>
+ <u-search placeholder="璇疯緭鍏ユ墽娉曚富棰� " v-model="value" @clear="value = '';search()" @search="search" @blur="search" shape="square" :showAction="false"></u-search>
</view>
<view class="border"></view>
- <u-tabs :list="list1" @click="click" :scrollable="false" bgColor="white"></u-tabs>
+ <u-tabs :list="list1" @click="click" :current="current" :scrollable="false" bgColor="white"></u-tabs>
</u-sticky>
<view class="list">
- <view class="list-item" @click="goReport">
+ <view class="list-item" @click="goReport" v-for="(item,index) in list" :key="index">
<view class="top-title">
- <text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
- <text class="status status2">閫氳繃</text>
- <text class="status status4">鎷掔粷</text>
+ <text>{{item.enforceReason}}</text>
+ <text class="status status2" v-if="item.checkStatus == 2">閫氳繃</text>
+ <text class="status status4" v-else>鎷掔粷</text>
</view>
<view class="user-info">
- <text>鐜嬫�濋洦</text>
+ <text>{{item.applyUser}}</text>
<view class="driver"></view>
- <text>鎵ф硶涓�澶ч槦</text>
+ <text>{{item.applyDeptName}}</text>
</view>
<view class="set-line">
- <text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
+ <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
</view>
<view class="line"></view>
<view class="set-flex set-start set-flex-content-between">
<view>
<view class="set-line1">
- <text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
+ <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
</view>
<view class="set-line1">
- <text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
+ <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
</view>
</view>
-
</view>
</view>
-
-
+ <u-empty v-if="!list.length"></u-empty>
</view>
</view>
</template>
<script>
+ import { checkedList } from '@/api/policy.js'
export default {
data() {
return {
-
+ current: 0,
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10
+ },
+ list1: [{
+ name: '鍏ㄩ儴',
+ value: ''
+ }, {
+ name: '閫氳繃',
+ value: 2
+ }, {
+ name: '鎷掔粷',
+ value: -1
+ }],
+ list: [
+
+ ],
+ total: 1,
+ value: ''
}
},
+ onLoad() {
+ this.enforceLogList()
+ },
+ onReachBottom() {
+ if(this.total == this.list.length) {
+ return
+ }
+ this.queryParams.pageNum++
+ this.enforceLogList()
+ },
methods: {
+ search(e) {
+ this.list = []
+ this.queryParams.enforceReason = e
+ this.queryParams.pageNum = 1
+ this.enforceLogList()
+ },
goReport() {
},
- click() {
-
+ click(e) {
+ this.list = []
+ this.queryParams.pageNum = 1
+ this.current = e.index
+ this.enforceLogList()
+ },
+ enforceLogList() {
+ checkedList({...this.queryParams, checkStatus: this.list1[this.current].value}).then(val => {
+ this.list = [...this.list,...val.data.rows]
+ this.total = val.data.total
+ })
}
}
}
diff --git a/static/policy/loginHeader.png b/static/policy/loginHeader.png
new file mode 100644
index 0000000..dc7c6b3
--- /dev/null
+++ b/static/policy/loginHeader.png
Binary files differ
diff --git a/static/policy/loginHeaer1.png b/static/policy/loginHeaer1.png
new file mode 100644
index 0000000..e3cd20f
--- /dev/null
+++ b/static/policy/loginHeaer1.png
Binary files differ
diff --git a/static/policy/rank1.png b/static/policy/rank1.png
new file mode 100644
index 0000000..71dc432
--- /dev/null
+++ b/static/policy/rank1.png
Binary files differ
diff --git a/static/policy/rank2.png b/static/policy/rank2.png
new file mode 100644
index 0000000..ffbb330
--- /dev/null
+++ b/static/policy/rank2.png
Binary files differ
diff --git a/static/policy/rank3.png b/static/policy/rank3.png
new file mode 100644
index 0000000..b134b8b
--- /dev/null
+++ b/static/policy/rank3.png
Binary files differ
diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
index 17b28b3..2c685ad 100644
--- a/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
+++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
@@ -71,6 +71,9 @@
return series[index].name+'锛�'+series[index].data+'鍏�'
}
},
+ tooltipDemo1:function(val, index, series, opts) {
+ return "鎹㈣/" + val.name + "/" + "鏁伴噺:" + val.data + "/" +"鍗犳瘮:" + (val._proportion_ * 100).toFixed(2) + "%"
+ }
},
//杩欓噷婕旂ず浜嗚嚜瀹氫箟鎮ㄧ殑鍥捐〃绫诲瀷鐨刼ption锛屽彲浠ラ殢鎰忓懡鍚嶏紝涔嬪悗鍦ㄧ粍浠朵笂 type="demotype" 鍚庯紝缁勪欢浼氳皟鐢ㄨ繖涓姳鎷彿閲岀殑option锛屽鏋滅粍浠朵笂杩樺瓨鍦╫pts鍙傛暟锛屼細灏哾emotype涓巓pts涓璷ption鍚堝苟鍚庢覆鏌撳浘琛ㄣ��
"demotype":{
diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js
index f78bde5..8704dae 100644
--- a/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js
+++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js
@@ -2806,6 +2806,23 @@
if(toolTipOption.showCategory==true && opts.categories){
textList.unshift({text:opts.categories[opts.tooltip.index],color:null})
}
+ if (textList[0].text.split("/")[0] == "鎹㈣") {
+ let newTextList = [{
+ "color": "#FCDB66",
+ "legendShape": "circle",
+ "text": textList[0].text.split("/")[1]
+ },
+ {
+ "color": "transparent",
+ "text": textList[0].text.split("/")[2]
+ },
+ {
+ "color": "transparent",
+ "text": textList[0].text.split("/")[3]
+ },
+ ]
+ textList = newTextList
+ }
var fontSize = toolTipOption.fontSize * opts.pix;
var lineHeight = toolTipOption.lineHeight * opts.pix;
var boxPadding = toolTipOption.boxPadding * opts.pix;
--
Gitblit v1.9.1