Commit dad3c46aed1430c29d3a22dfb06838d7fc17e3f1
1 parent
cb6cea09
m
Showing
30 changed files
with
3570 additions
and
464 deletions
Too many changes to show.
To preserve performance only 30 of 57 files are displayed.
sql/daily_situation.sql
| 1 | /* | 1 | /* |
| 2 | - Navicat Premium Data Transfer | 2 | + Navicat MySQL Data Transfer |
| 3 | 3 | ||
| 4 | - Source Server : SH | ||
| 5 | - Source Server Type : MySQL | ||
| 6 | - Source Server Version : 80024 | 4 | + Source Server : mari |
| 5 | + Source Server Type : MariaDB | ||
| 6 | + Source Server Version : 100508 | ||
| 7 | Source Host : localhost:3306 | 7 | Source Host : localhost:3306 |
| 8 | Source Schema : trash | 8 | Source Schema : trash |
| 9 | 9 | ||
| 10 | - Target Server Type : MySQL | ||
| 11 | - Target Server Version : 80024 | 10 | + Target Server Type : MariaDB |
| 11 | + Target Server Version : 100508 | ||
| 12 | File Encoding : 65001 | 12 | File Encoding : 65001 |
| 13 | 13 | ||
| 14 | - Date: 23/04/2023 13:25:45 | 14 | + Date: 22/05/2023 14:40:08 |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | SET NAMES utf8mb4; | 17 | SET NAMES utf8mb4; |
| @@ -22,16 +22,22 @@ SET FOREIGN_KEY_CHECKS = 0; | @@ -22,16 +22,22 @@ SET FOREIGN_KEY_CHECKS = 0; | ||
| 22 | -- ---------------------------- | 22 | -- ---------------------------- |
| 23 | DROP TABLE IF EXISTS `daily_situation`; | 23 | DROP TABLE IF EXISTS `daily_situation`; |
| 24 | CREATE TABLE `daily_situation` ( | 24 | CREATE TABLE `daily_situation` ( |
| 25 | - `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '主键id', | 25 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', |
| 26 | `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题', | 26 | `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题', |
| 27 | `operator` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人', | 27 | `operator` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人', |
| 28 | `date` date NULL DEFAULT NULL COMMENT '日期', | 28 | `date` date NULL DEFAULT NULL COMMENT '日期', |
| 29 | `weather` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '天气', | 29 | `weather` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '天气', |
| 30 | - `Consumption_site_situation` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '全市工地,消纳场开停情况', | ||
| 31 | - `Number_of_vehicles` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '车辆数', | ||
| 32 | - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', | ||
| 33 | - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', | 30 | + `Consumption_site_situation` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '全市工地,消纳场开停情况', |
| 31 | + `Number_of_vehicles` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '车辆数', | ||
| 32 | + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', | ||
| 33 | + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', | ||
| 34 | + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', | ||
| 35 | + `case_file_info` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '平台案卷', | ||
| 36 | + `warning_case_file_info` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '平台报警案卷', | ||
| 37 | + `desc1` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL, | ||
| 38 | + `desc2` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL, | ||
| 39 | + `desc3` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL, | ||
| 34 | PRIMARY KEY (`id`) USING BTREE | 40 | PRIMARY KEY (`id`) USING BTREE |
| 35 | -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; | 41 | +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; |
| 36 | 42 | ||
| 37 | SET FOREIGN_KEY_CHECKS = 1; | 43 | SET FOREIGN_KEY_CHECKS = 1; |
trash-ui/src/api/business/daywork.js
| @@ -17,3 +17,11 @@ export function exportDayWorkList(data) { | @@ -17,3 +17,11 @@ export function exportDayWorkList(data) { | ||
| 17 | data: data | 17 | data: data |
| 18 | }) | 18 | }) |
| 19 | } | 19 | } |
| 20 | + | ||
| 21 | +export function exportDayWorkHistoryList(data) { | ||
| 22 | + return request({ | ||
| 23 | + url: '/business/threestep/exportDayWorkHistoryList', | ||
| 24 | + method: 'post', | ||
| 25 | + data: data | ||
| 26 | + }) | ||
| 27 | +} | ||
| 20 | \ No newline at end of file | 28 | \ No newline at end of file |
trash-ui/src/api/dict.js
| @@ -51,9 +51,12 @@ export function updateEarthsites(data) { | @@ -51,9 +51,12 @@ export function updateEarthsites(data) { | ||
| 51 | }); | 51 | }); |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | + | ||
| 55 | + | ||
| 56 | + | ||
| 54 | export function mainworkcompany(id) { | 57 | export function mainworkcompany(id) { |
| 55 | return requestRemote({ | 58 | return requestRemote({ |
| 56 | - url: '/api/siteservice/cs/constructionsites/mainworkcompany/' + id, | 59 | + url: '/api/siteservice/cs/constructionsites/' + id, |
| 57 | method: 'get', | 60 | method: 'get', |
| 58 | }); | 61 | }); |
| 59 | } | 62 | } |
trash-ui/src/router/index.js
| @@ -185,6 +185,12 @@ export const constantRoutes = [ | @@ -185,6 +185,12 @@ export const constantRoutes = [ | ||
| 185 | meta: { title: '违规预警信息' } | 185 | meta: { title: '违规预警信息' } |
| 186 | }, | 186 | }, |
| 187 | { | 187 | { |
| 188 | + path: 'casefile/violationWarningInformationTable', | ||
| 189 | + component: (resolve) => require(['@/views/casefile/violationWarningInformation/violationWarningInformationTable'], resolve), | ||
| 190 | + name: '违规预警信息统计表', | ||
| 191 | + meta: { title: '违规预警信息统计表' } | ||
| 192 | + }, | ||
| 193 | + { | ||
| 188 | path: 'casefile/violationCaseFile', | 194 | path: 'casefile/violationCaseFile', |
| 189 | component: (resolve) => require(['@/views/casefile/violationCaseFile'], resolve), | 195 | component: (resolve) => require(['@/views/casefile/violationCaseFile'], resolve), |
| 190 | name: '平台违规案卷', | 196 | name: '平台违规案卷', |
| @@ -235,25 +241,55 @@ export const constantRoutes = [ | @@ -235,25 +241,55 @@ export const constantRoutes = [ | ||
| 235 | { | 241 | { |
| 236 | path: 'task', | 242 | path: 'task', |
| 237 | component: (resolve) => require(['@/views/h5/task/index'], resolve), | 243 | component: (resolve) => require(['@/views/h5/task/index'], resolve), |
| 238 | - name: '待办', | ||
| 239 | - meta: { title: '待办' } | 244 | + name: 'taskindex', |
| 245 | + meta: { title: 'taskindex' } | ||
| 240 | } , | 246 | } , |
| 241 | { | 247 | { |
| 242 | path: 'taskhistory', | 248 | path: 'taskhistory', |
| 243 | component: (resolve) => require(['@/views/h5/taskhistory/index'], resolve), | 249 | component: (resolve) => require(['@/views/h5/taskhistory/index'], resolve), |
| 244 | - name: '经办', | ||
| 245 | - meta: { title: '经办' } | 250 | + name: 'taskhistory', |
| 251 | + meta: { title: 'taskhistory' } | ||
| 246 | }, | 252 | }, |
| 247 | { | 253 | { |
| 248 | path: 'taskend', | 254 | path: 'taskend', |
| 249 | component: (resolve) => require(['@/views/h5/taskhistory/end'], resolve), | 255 | component: (resolve) => require(['@/views/h5/taskhistory/end'], resolve), |
| 250 | - name: '已办', | ||
| 251 | - meta: { title: '已办' } | 256 | + name: 'end', |
| 257 | + meta: { title: 'end' } | ||
| 252 | }, | 258 | }, |
| 253 | 259 | ||
| 260 | + { | ||
| 261 | + path: 'EarthSitesCredit', | ||
| 262 | + component: (resolve) => require(['@/views/h5/EarthSitesCredit'], resolve), | ||
| 263 | + name: 'EarthSitesCredit', | ||
| 264 | + meta: { title: 'EarthSitesCredit' } | ||
| 265 | + }, | ||
| 266 | + { | ||
| 267 | + path: 'CompanyCredit', | ||
| 268 | + component: (resolve) => require(['@/views/h5/CompanyCredit'], resolve), | ||
| 269 | + name: 'CompanyCredit', | ||
| 270 | + meta: { title: 'CompanyCredit' } | ||
| 271 | + }, | ||
| 272 | + { | ||
| 273 | + path: 'TruckCredit', | ||
| 274 | + component: (resolve) => require(['@/views/h5/TruckCredit'], resolve), | ||
| 275 | + name: 'TruckCredit', | ||
| 276 | + meta: { title: 'TruckCredit' } | ||
| 277 | + }, | ||
| 278 | + { | ||
| 279 | + path: 'DriverCredit', | ||
| 280 | + component: (resolve) => require(['@/views/h5/DriverCredit'], resolve), | ||
| 281 | + name: 'DriverCredit', | ||
| 282 | + meta: { title: 'DriverCredit' } | ||
| 283 | + }, | ||
| 284 | + { | ||
| 285 | + path: 'ConstructionCredit', | ||
| 286 | + component: (resolve) => require(['@/views/h5/ConstructionCredit'], resolve), | ||
| 287 | + name: 'ConstructionCredit', | ||
| 288 | + meta: { title: 'ConstructionCredit' } | ||
| 289 | + }, | ||
| 254 | { | 290 | { |
| 255 | path: 'leaveApplication', | 291 | path: 'leaveApplication', |
| 256 | - component: (resolve) => require(['@/views/h5/office/leaveApplication'], resolve), | 292 | + component: (resolve) => require(['@/views/h5/leaveApplication'], resolve), |
| 257 | name: 'leaveApplication', | 293 | name: 'leaveApplication', |
| 258 | meta: { title: 'leaveApplication' } | 294 | meta: { title: 'leaveApplication' } |
| 259 | }, | 295 | }, |
| @@ -269,6 +305,33 @@ export const constantRoutes = [ | @@ -269,6 +305,33 @@ export const constantRoutes = [ | ||
| 269 | name: 'dayWorkReport', | 305 | name: 'dayWorkReport', |
| 270 | meta: { title: 'dayWorkReport' } | 306 | meta: { title: 'dayWorkReport' } |
| 271 | }, | 307 | }, |
| 308 | + { | ||
| 309 | + path: 'threestep', | ||
| 310 | + component: (resolve) => require(['@/views/h5/threestep'], resolve), | ||
| 311 | + name: 'threestep', | ||
| 312 | + meta: { title: 'threestep' } | ||
| 313 | + }, | ||
| 314 | + { | ||
| 315 | + path: 'caseOffline', | ||
| 316 | + component: (resolve) => require(['@/views/h5/caseOffline'], resolve), | ||
| 317 | + name: 'caseOffline', | ||
| 318 | + meta: { title: 'caseOffline' } | ||
| 319 | + }, | ||
| 320 | + { | ||
| 321 | + path: 'violationWarningInformation', | ||
| 322 | + component: (resolve) => require(['@/views/h5/violationWarningInformation'], resolve), | ||
| 323 | + name: 'violationWarningInformation', | ||
| 324 | + meta: { title: 'violationWarningInformation' } | ||
| 325 | + }, | ||
| 326 | + { | ||
| 327 | + path: 'violationCaseFile', | ||
| 328 | + component: (resolve) => require(['@/views/h5/violationCaseFile'], resolve), | ||
| 329 | + name: 'violationCaseFile', | ||
| 330 | + meta: { title: 'violationCaseFile' } | ||
| 331 | + }, | ||
| 332 | + | ||
| 333 | + | ||
| 334 | + | ||
| 272 | ], | 335 | ], |
| 273 | 336 | ||
| 274 | }, | 337 | }, |
trash-ui/src/views/activiti/task/constructsiteInfo.vue
| 1 | <template> | 1 | <template> |
| 2 | <div v-loading="loading"> | 2 | <div v-loading="loading"> |
| 3 | 3 | ||
| 4 | + <el-button @click="printBody">打印</el-button> | ||
| 5 | + <div id="printItem"> | ||
| 4 | <el-row style="border: 1px solid black;" type="flex" align="middle" justify="center"> | 6 | <el-row style="border: 1px solid black;" type="flex" align="middle" justify="center"> |
| 5 | <el-col :span="1" class="bd_padding"> | 7 | <el-col :span="1" class="bd_padding"> |
| 6 | 勘察人员填写 | 8 | 勘察人员填写 |
| @@ -174,7 +176,7 @@ | @@ -174,7 +176,7 @@ | ||
| 174 | </el-row> | 176 | </el-row> |
| 175 | </el-col> | 177 | </el-col> |
| 176 | </el-row> | 178 | </el-row> |
| 177 | - | 179 | +</div> |
| 178 | </div> | 180 | </div> |
| 179 | </template> | 181 | </template> |
| 180 | 182 | ||
| @@ -271,10 +273,11 @@ import store from "@/store"; | @@ -271,10 +273,11 @@ import store from "@/store"; | ||
| 271 | }, | 273 | }, |
| 272 | created() { | 274 | created() { |
| 273 | // if(){ | 275 | // if(){ |
| 274 | - if(window.location.search){ | ||
| 275 | - this.businessKey = window.location.search.split("=")[1]; | ||
| 276 | - } | ||
| 277 | - // } | 276 | + if(window.location.search){ |
| 277 | + let arr = window.location.search.split("&"); | ||
| 278 | + this.businessKey = arr[0].split("=")[1]; | ||
| 279 | + } | ||
| 280 | + | ||
| 278 | 281 | ||
| 279 | 282 | ||
| 280 | this.loading = true; | 283 | this.loading = true; |
| @@ -282,6 +285,10 @@ import store from "@/store"; | @@ -282,6 +285,10 @@ import store from "@/store"; | ||
| 282 | 285 | ||
| 283 | }, | 286 | }, |
| 284 | methods: { | 287 | methods: { |
| 288 | + printBody(){ | ||
| 289 | + document.body.innerHTML = document.getElementById("printItem").innerHTML; | ||
| 290 | + window.print(); | ||
| 291 | + }, | ||
| 285 | getInfo() { | 292 | getInfo() { |
| 286 | let id; | 293 | let id; |
| 287 | if (this.businessKey.split(":").length == 2) { | 294 | if (this.businessKey.split(":").length == 2) { |
trash-ui/src/views/activiti/taskhistory/end.vue
| @@ -5,55 +5,73 @@ | @@ -5,55 +5,73 @@ | ||
| 5 | 5 | ||
| 6 | <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> | 6 | <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| 7 | 7 | ||
| 8 | + <!-- 审批对话框 --> | ||
| 9 | + <el-dialog :title="title" :visible.sync="open" v-if="open" width="500px" append-to-body> | ||
| 10 | + | ||
| 11 | + <div slot="footer" class="dialog-footer"> | ||
| 12 | + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 13 | + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 14 | + </div> | ||
| 15 | + </el-dialog> | ||
| 16 | + | ||
| 17 | + | ||
| 8 | <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body> | 18 | <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body> |
| 9 | <threestepInfo :businessKey="businessKey" v-if="open2"/> | 19 | <threestepInfo :businessKey="businessKey" v-if="open2"/> |
| 10 | 20 | ||
| 11 | </el-dialog> | 21 | </el-dialog> |
| 12 | <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body> | 22 | <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body> |
| 13 | <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct" /> | 23 | <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct" /> |
| 14 | - <div slot="footer" class="dialog-footer"> | ||
| 15 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 16 | - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 17 | - </div> | ||
| 18 | </el-dialog> | 24 | </el-dialog> |
| 19 | <!-- 会议管理 --> | 25 | <!-- 会议管理 --> |
| 20 | <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body> | 26 | <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body> |
| 21 | <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/> | 27 | <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/> |
| 22 | - <div slot="footer" class="dialog-footer"> | ||
| 23 | - <div slot="footer" class="dialog-footer"> | ||
| 24 | - <el-button type="danger" @click="conferenceSubmitForm(1)">驳回</el-button> | ||
| 25 | - <el-button type="primary" @click="conferenceSubmitForm(0)">通过</el-button> | ||
| 26 | - </div> | ||
| 27 | - </div> | ||
| 28 | </el-dialog> | 28 | </el-dialog> |
| 29 | 29 | ||
| 30 | <!-- 请假申请 --> | 30 | <!-- 请假申请 --> |
| 31 | <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body> | 31 | <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body> |
| 32 | <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/> | 32 | <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/> |
| 33 | - <div slot="footer" class="dialog-footer"> | ||
| 34 | - <div slot="footer" class="dialog-footer"> | ||
| 35 | - <el-button type="danger" @click="leaveApplicationSubmitForm(1)">驳回</el-button> | ||
| 36 | - <el-button type="primary" @click="leaveApplicationSubmitForm(0)">通过</el-button> | ||
| 37 | - </div> | ||
| 38 | - </div> | ||
| 39 | </el-dialog> | 33 | </el-dialog> |
| 40 | 34 | ||
| 41 | 35 | ||
| 42 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> | 36 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> |
| 43 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites" /> | 37 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites" /> |
| 44 | - <div slot="footer" class="dialog-footer"> | ||
| 45 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 46 | - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 47 | - </div> | ||
| 48 | </el-dialog> | 38 | </el-dialog> |
| 49 | 39 | ||
| 50 | <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body> | 40 | <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body> |
| 51 | <contractInfo :businessKey="businessKey" v-if="contract" /> | 41 | <contractInfo :businessKey="businessKey" v-if="contract" /> |
| 52 | - <div slot="footer" class="dialog-footer"> | ||
| 53 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 54 | - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 55 | - </div> | ||
| 56 | </el-dialog> | 42 | </el-dialog> |
| 43 | + | ||
| 44 | + | ||
| 45 | + | ||
| 46 | + <!-- 后勤管理 --> | ||
| 47 | + <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="500px" append-to-body | ||
| 48 | + :close-on-click-modal="false"> | ||
| 49 | + <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/> | ||
| 50 | + </el-dialog> | ||
| 51 | + | ||
| 52 | + <!-- 办文办事 --> | ||
| 53 | + <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="600px" append-to-body | ||
| 54 | + :close-on-click-modal="false"> | ||
| 55 | + <handleInfo ref="handleAffairsInfoRef" :idInfo="idInfo" v-if="handleAffairsInfoOpen" :depts="depts" | ||
| 56 | + :businessKey="definitionKey" | ||
| 57 | + :controlId="controlId"/> | ||
| 58 | + </el-dialog> | ||
| 59 | + | ||
| 60 | + <!-- 线下案卷交办 --> | ||
| 61 | + <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false"> | ||
| 62 | + <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/> | ||
| 63 | + </el-dialog> | ||
| 64 | + | ||
| 65 | + <!-- 平台违规信息 --> | ||
| 66 | + <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body :close-on-click-modal="false"> | ||
| 67 | + <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile"/> | ||
| 68 | + </el-dialog> | ||
| 69 | + | ||
| 70 | + <!-- 违规预警信息 --> | ||
| 71 | + <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body :close-on-click-modal="false"> | ||
| 72 | + <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1"/> | ||
| 73 | + </el-dialog> | ||
| 74 | + | ||
| 57 | </div> | 75 | </div> |
| 58 | </template> | 76 | </template> |
| 59 | 77 | ||
| @@ -68,17 +86,20 @@ | @@ -68,17 +86,20 @@ | ||
| 68 | formDataShow | 86 | formDataShow |
| 69 | } from "@/api/activiti/taskhistory"; | 87 | } from "@/api/activiti/taskhistory"; |
| 70 | 88 | ||
| 89 | + import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; | ||
| 71 | import taskCard from "@/views/activiti/task/taskCard"; | 90 | import taskCard from "@/views/activiti/task/taskCard"; |
| 72 | import earthSitesForm from "@/views/workflow/earthSitesForm"; | 91 | import earthSitesForm from "@/views/workflow/earthSitesForm"; |
| 73 | import threestepInfo from "@/views/business/threestep/threestepInfo"; | 92 | import threestepInfo from "@/views/business/threestep/threestepInfo"; |
| 74 | - | ||
| 75 | - | ||
| 76 | -import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; | ||
| 77 | -import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | 93 | + import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; |
| 78 | import conferenceInfo from "@/views/office/conference/conferenceInfo"; | 94 | import conferenceInfo from "@/views/office/conference/conferenceInfo"; |
| 79 | import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo"; | 95 | import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo"; |
| 80 | import earthsitesInfo from "@/views/activiti/task/earthsitesInfo"; | 96 | import earthsitesInfo from "@/views/activiti/task/earthsitesInfo"; |
| 81 | import contractInfo from "@/views/activiti/task/contractInfo"; | 97 | import contractInfo from "@/views/activiti/task/contractInfo"; |
| 98 | + import logisticsInfo from "@/views/office/logistics/logisticsInfo"; | ||
| 99 | + import handleInfo from "@/views/office/handle/handleInfo"; | ||
| 100 | + import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo"; | ||
| 101 | + import violationCaseFileInfo from "@/views/casefile/violationCaseFile/violationCaseFileInfo"; | ||
| 102 | + import violationWarningInformationInfo from "@/views/casefile/violationWarningInformation/violationWarningInformationInfo"; | ||
| 82 | 103 | ||
| 83 | 104 | ||
| 84 | export default { | 105 | export default { |
| @@ -210,6 +231,33 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | @@ -210,6 +231,33 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | ||
| 210 | return; | 231 | return; |
| 211 | } | 232 | } |
| 212 | 233 | ||
| 234 | + if (this.definitionKey == "logistics") { | ||
| 235 | + this.idInfo = row.businessKey.substring(row.businessKey.lastIndexOf(":") + 1); | ||
| 236 | + this.logisticsInfoOpen = true; | ||
| 237 | + return; | ||
| 238 | + } | ||
| 239 | + if (this.definitionKey == "handleAffairs" || this.definitionKey == "gongwenchuli" || this.definitionKey == "yuelan" || this.definitionKey=="yuelanxuexi") { | ||
| 240 | + this.controlId = this.form.formData[0].controlId; | ||
| 241 | + this.idInfo = row.businessKey.split(":")[1]; | ||
| 242 | + this.handleAffairsInfoOpen = true; | ||
| 243 | + return; | ||
| 244 | + } | ||
| 245 | + if(this.definitionKey == "workflow_caseoffline"){ | ||
| 246 | + this.caseOffline = true; | ||
| 247 | + return; | ||
| 248 | + } | ||
| 249 | + | ||
| 250 | + if(this.definitionKey == "workflow_casefile"){ | ||
| 251 | + this.violationCaseFile = true; | ||
| 252 | + return; | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + if(this.definitionKey == "violation_warning"){ | ||
| 256 | + this.violationCaseFile1 = true; | ||
| 257 | + return; | ||
| 258 | + } | ||
| 259 | + | ||
| 260 | + | ||
| 213 | }, | 261 | }, |
| 214 | } | 262 | } |
| 215 | }; | 263 | }; |
trash-ui/src/views/activiti/taskhistory/index.vue
| @@ -5,6 +5,14 @@ | @@ -5,6 +5,14 @@ | ||
| 5 | 5 | ||
| 6 | <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> | 6 | <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| 7 | 7 | ||
| 8 | + <!-- 审批对话框 --> | ||
| 9 | + <el-dialog :title="title" :visible.sync="open" v-if="open" width="500px" append-to-body> | ||
| 10 | + | ||
| 11 | + <div slot="footer" class="dialog-footer"> | ||
| 12 | + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 13 | + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 14 | + </div> | ||
| 15 | + </el-dialog> | ||
| 8 | <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body> | 16 | <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body> |
| 9 | <threestepInfo :businessKey="businessKey" v-if="open2"/> | 17 | <threestepInfo :businessKey="businessKey" v-if="open2"/> |
| 10 | </el-dialog> | 18 | </el-dialog> |
| @@ -25,18 +33,41 @@ | @@ -25,18 +33,41 @@ | ||
| 25 | 33 | ||
| 26 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> | 34 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> |
| 27 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites" /> | 35 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites" /> |
| 28 | - <div slot="footer" class="dialog-footer"> | ||
| 29 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 30 | - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 31 | - </div> | ||
| 32 | </el-dialog> | 36 | </el-dialog> |
| 33 | 37 | ||
| 34 | <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body> | 38 | <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body> |
| 35 | <contractInfo :businessKey="businessKey" v-if="contract" /> | 39 | <contractInfo :businessKey="businessKey" v-if="contract" /> |
| 36 | - <div slot="footer" class="dialog-footer"> | ||
| 37 | - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> | ||
| 38 | - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> | ||
| 39 | - </div> | 40 | + </el-dialog> |
| 41 | + | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + <!-- 后勤管理 --> | ||
| 45 | + <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="500px" append-to-body | ||
| 46 | + :close-on-click-modal="false"> | ||
| 47 | + <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/> | ||
| 48 | + </el-dialog> | ||
| 49 | + | ||
| 50 | + <!-- 办文办事 --> | ||
| 51 | + <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="600px" append-to-body | ||
| 52 | + :close-on-click-modal="false"> | ||
| 53 | + <handleInfo ref="handleAffairsInfoRef" :idInfo="idInfo" v-if="handleAffairsInfoOpen" :depts="depts" | ||
| 54 | + :businessKey="definitionKey" | ||
| 55 | + :controlId="controlId"/> | ||
| 56 | + </el-dialog> | ||
| 57 | + | ||
| 58 | + <!-- 线下案卷交办 --> | ||
| 59 | + <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false"> | ||
| 60 | + <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/> | ||
| 61 | + </el-dialog> | ||
| 62 | + | ||
| 63 | + <!-- 平台违规信息 --> | ||
| 64 | + <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body :close-on-click-modal="false"> | ||
| 65 | + <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile"/> | ||
| 66 | + </el-dialog> | ||
| 67 | + | ||
| 68 | + <!-- 违规预警信息 --> | ||
| 69 | + <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body :close-on-click-modal="false"> | ||
| 70 | + <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1"/> | ||
| 40 | </el-dialog> | 71 | </el-dialog> |
| 41 | </div> | 72 | </div> |
| 42 | </template> | 73 | </template> |
| @@ -51,21 +82,20 @@ | @@ -51,21 +82,20 @@ | ||
| 51 | formDataShow | 82 | formDataShow |
| 52 | } from "@/api/activiti/taskhistory"; | 83 | } from "@/api/activiti/taskhistory"; |
| 53 | 84 | ||
| 54 | - | ||
| 55 | - | ||
| 56 | - | 85 | + import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; |
| 57 | import taskCard from "@/views/activiti/task/taskCard"; | 86 | import taskCard from "@/views/activiti/task/taskCard"; |
| 58 | - import leaveHistoryForm from "@/views/workflow/leaveHistoryForm"; | 87 | + import earthSitesForm from "@/views/workflow/earthSitesForm"; |
| 59 | import threestepInfo from "@/views/business/threestep/threestepInfo"; | 88 | import threestepInfo from "@/views/business/threestep/threestepInfo"; |
| 60 | - | ||
| 61 | - | ||
| 62 | -import { getSignByObjId, addSign, updateSign } from "@/api/sign/sign"; | ||
| 63 | -import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | ||
| 64 | - | 89 | + import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; |
| 65 | import conferenceInfo from "@/views/office/conference/conferenceInfo"; | 90 | import conferenceInfo from "@/views/office/conference/conferenceInfo"; |
| 66 | import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo"; | 91 | import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo"; |
| 67 | import earthsitesInfo from "@/views/activiti/task/earthsitesInfo"; | 92 | import earthsitesInfo from "@/views/activiti/task/earthsitesInfo"; |
| 68 | import contractInfo from "@/views/activiti/task/contractInfo"; | 93 | import contractInfo from "@/views/activiti/task/contractInfo"; |
| 94 | + import logisticsInfo from "@/views/office/logistics/logisticsInfo"; | ||
| 95 | + import handleInfo from "@/views/office/handle/handleInfo"; | ||
| 96 | + import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo"; | ||
| 97 | + import violationCaseFileInfo from "@/views/casefile/violationCaseFile/violationCaseFileInfo"; | ||
| 98 | + import violationWarningInformationInfo from "@/views/casefile/violationWarningInformation/violationWarningInformationInfo"; | ||
| 69 | 99 | ||
| 70 | 100 | ||
| 71 | 101 | ||
| @@ -162,6 +192,7 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | @@ -162,6 +192,7 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | ||
| 162 | this.businessKey = row.businessKey; | 192 | this.businessKey = row.businessKey; |
| 163 | this.id = row.id; | 193 | this.id = row.id; |
| 164 | 194 | ||
| 195 | + this.title = "详情"; | ||
| 165 | 196 | ||
| 166 | if(this.definitionKey == "conference"){ | 197 | if(this.definitionKey == "conference"){ |
| 167 | this.idInfo = row.businessKey.substring(row.businessKey.indexOf(":")+1); | 198 | this.idInfo = row.businessKey.substring(row.businessKey.indexOf(":")+1); |
| @@ -181,32 +212,46 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | @@ -181,32 +212,46 @@ import constructsiteInfo from "@/views/activiti/task/constructsiteInfo"; | ||
| 181 | }); | 212 | }); |
| 182 | return; | 213 | return; |
| 183 | } | 214 | } |
| 215 | + if(this.definitionKey == "workflow_earthsites"){ | ||
| 216 | + this.earthsites = true; | ||
| 217 | + return; | ||
| 218 | + } | ||
| 219 | + if(this.definitionKey == "workflow_conract"){ | ||
| 220 | + this.contract = true; | ||
| 221 | + return; | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + | ||
| 225 | + if(this.definitionKey == "workflow_threestep"){ | ||
| 226 | + this.open2 = true; | ||
| 227 | + return; | ||
| 228 | + } | ||
| 184 | 229 | ||
| 185 | - if(this.definitionKey == "workflow_constructsite"){ | ||
| 186 | - getSignByObjId(this.businessKey.split(":")[1]).then(res=>{ | ||
| 187 | - this.signData = res; | ||
| 188 | - this.construct = true; | ||
| 189 | - }); | ||
| 190 | - return; | ||
| 191 | - } | ||
| 192 | - if(this.definitionKey == "workflow_earthsites"){ | ||
| 193 | - this.earthsites = true; | ||
| 194 | - return; | ||
| 195 | - } | ||
| 196 | - if(this.definitionKey == "workflow_conract"){ | ||
| 197 | - this.contract = true; | ||
| 198 | - return; | ||
| 199 | - } | ||
| 200 | - | ||
| 201 | - | ||
| 202 | - if(this.definitionKey == "workflow_threestep"){ | ||
| 203 | - this.open2 = true; | ||
| 204 | - return; | ||
| 205 | - } | ||
| 206 | - | ||
| 207 | - | ||
| 208 | - | ||
| 209 | - | 230 | + if (this.definitionKey == "logistics") { |
| 231 | + this.idInfo = row.businessKey.substring(row.businessKey.lastIndexOf(":") + 1); | ||
| 232 | + this.logisticsInfoOpen = true; | ||
| 233 | + return; | ||
| 234 | + } | ||
| 235 | + if (this.definitionKey == "handleAffairs" || this.definitionKey == "gongwenchuli" || this.definitionKey == "yuelan" || this.definitionKey=="yuelanxuexi") { | ||
| 236 | + this.controlId = this.form.formData[0].controlId; | ||
| 237 | + this.idInfo = row.businessKey.split(":")[1]; | ||
| 238 | + this.handleAffairsInfoOpen = true; | ||
| 239 | + return; | ||
| 240 | + } | ||
| 241 | + if(this.definitionKey == "workflow_caseoffline"){ | ||
| 242 | + this.caseOffline = true; | ||
| 243 | + return; | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + if(this.definitionKey == "workflow_casefile"){ | ||
| 247 | + this.violationCaseFile = true; | ||
| 248 | + return; | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + if(this.definitionKey == "violation_warning"){ | ||
| 252 | + this.violationCaseFile1 = true; | ||
| 253 | + return; | ||
| 254 | + } | ||
| 210 | 255 | ||
| 211 | 256 | ||
| 212 | }, | 257 | }, |
trash-ui/src/views/business/CompanyCredit/index.vue
| @@ -152,7 +152,7 @@ | @@ -152,7 +152,7 @@ | ||
| 152 | <el-table-column label="序号" align="center" type="index" /> | 152 | <el-table-column label="序号" align="center" type="index" /> |
| 153 | <el-table-column label="失信时间" align="center" prop="time" width="180"> | 153 | <el-table-column label="失信时间" align="center" prop="time" width="180"> |
| 154 | <template slot-scope="scope"> | 154 | <template slot-scope="scope"> |
| 155 | - <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span> | 155 | + <span>{{ scope.row.time}}</span> |
| 156 | </template> | 156 | </template> |
| 157 | </el-table-column> | 157 | </el-table-column> |
| 158 | <el-table-column label="情况说明" align="center" prop="reason" /> | 158 | <el-table-column label="情况说明" align="center" prop="reason" /> |
trash-ui/src/views/business/ConstructionCredit/index.vue
| @@ -140,7 +140,7 @@ | @@ -140,7 +140,7 @@ | ||
| 140 | </div> | 140 | </div> |
| 141 | </el-dialog> | 141 | </el-dialog> |
| 142 | 142 | ||
| 143 | - <el-dialog title="历史失信" :visible.sync="infoDialog" width="800px" append-to-body> | 143 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body> |
| 144 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | 144 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> |
| 145 | <el-table-column label="序号" align="center" type="index" /> | 145 | <el-table-column label="序号" align="center" type="index" /> |
| 146 | <el-table-column label="失信时间" align="center" prop="time" width="180" /> | 146 | <el-table-column label="失信时间" align="center" prop="time" width="180" /> |
trash-ui/src/views/business/DriverCredit/index.vue
| @@ -130,9 +130,6 @@ | @@ -130,9 +130,6 @@ | ||
| 130 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | 130 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> |
| 131 | <el-table-column label="序号" align="center" type="index" /> | 131 | <el-table-column label="序号" align="center" type="index" /> |
| 132 | <el-table-column label="失信时间" align="center" prop="time" width="180"> | 132 | <el-table-column label="失信时间" align="center" prop="time" width="180"> |
| 133 | - <template slot-scope="scope"> | ||
| 134 | - <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span> | ||
| 135 | - </template> | ||
| 136 | </el-table-column> | 133 | </el-table-column> |
| 137 | <el-table-column label="情况说明" align="center" prop="reason" /> | 134 | <el-table-column label="情况说明" align="center" prop="reason" /> |
| 138 | <el-table-column label="操作历史" align="center" prop="lostCredit"> | 135 | <el-table-column label="操作历史" align="center" prop="lostCredit"> |
trash-ui/src/views/business/TruckCredit/index.vue
| @@ -133,9 +133,6 @@ | @@ -133,9 +133,6 @@ | ||
| 133 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | 133 | <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> |
| 134 | <el-table-column label="序号" align="center" type="index" /> | 134 | <el-table-column label="序号" align="center" type="index" /> |
| 135 | <el-table-column label="失信时间" align="center" prop="time" width="180" > | 135 | <el-table-column label="失信时间" align="center" prop="time" width="180" > |
| 136 | - <template slot-scope="scope"> | ||
| 137 | - <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span> | ||
| 138 | - </template> | ||
| 139 | </el-table-column> | 136 | </el-table-column> |
| 140 | <el-table-column label="情况说明" align="center" prop="reason" /> | 137 | <el-table-column label="情况说明" align="center" prop="reason" /> |
| 141 | <el-table-column label="操作历史" align="center" prop="lostCredit"> | 138 | <el-table-column label="操作历史" align="center" prop="lostCredit"> |
trash-ui/src/views/business/dayWorkReport/index.vue
| @@ -82,7 +82,8 @@ | @@ -82,7 +82,8 @@ | ||
| 82 | <script> | 82 | <script> |
| 83 | import { | 83 | import { |
| 84 | dayWorkList, | 84 | dayWorkList, |
| 85 | - exportDayWorkList | 85 | + exportDayWorkList, |
| 86 | + exportDayWorkHistoryList | ||
| 86 | } from "@/api/business/daywork"; | 87 | } from "@/api/business/daywork"; |
| 87 | 88 | ||
| 88 | 89 | ||
| @@ -207,19 +208,18 @@ | @@ -207,19 +208,18 @@ | ||
| 207 | 208 | ||
| 208 | this.loading = true; | 209 | this.loading = true; |
| 209 | 210 | ||
| 210 | - let query = this.queryParams; | 211 | + // let query = this.queryParams; |
| 212 | + | ||
| 211 | 213 | ||
| 212 | if(this.queryParams.his != tabIdx && tabIdx == 1){ | 214 | if(this.queryParams.his != tabIdx && tabIdx == 1){ |
| 215 | + this.resetQuery(); | ||
| 213 | this.queryParams.his = tabIdx; | 216 | this.queryParams.his = tabIdx; |
| 214 | - query.workStartTime = "2000-01-01 00:00:00"; | ||
| 215 | - query.workEndTime = "2999-01-01 00:00:00"; | ||
| 216 | }else if(tabIdx==0){ | 217 | }else if(tabIdx==0){ |
| 218 | + this.resetQuery(); | ||
| 217 | this.queryParams.his = null; | 219 | this.queryParams.his = null; |
| 218 | - query.workStartTime = null; | ||
| 219 | - query.workEndTime = null; | ||
| 220 | } | 220 | } |
| 221 | 221 | ||
| 222 | - dayWorkList(query).then(response => { | 222 | + dayWorkList(this.queryParams).then(response => { |
| 223 | 223 | ||
| 224 | this.threestepList = response.rows; | 224 | this.threestepList = response.rows; |
| 225 | 225 | ||
| @@ -229,6 +229,8 @@ | @@ -229,6 +229,8 @@ | ||
| 229 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); | 229 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); |
| 230 | if(this.outside.indexOf(this.threestepList[i].place) > -1){ | 230 | if(this.outside.indexOf(this.threestepList[i].place) > -1){ |
| 231 | if(this.threestepList[i].status == "开工"){ | 231 | if(this.threestepList[i].status == "开工"){ |
| 232 | + this.threestepList[i].estatus = "开工"; | ||
| 233 | + this.threestepList[i].eselfCheckTime = this.threestepList[i].selfCheckTime; | ||
| 232 | this.threestepList[i].descript = "开工"; | 234 | this.threestepList[i].descript = "开工"; |
| 233 | } | 235 | } |
| 234 | } | 236 | } |
| @@ -269,7 +271,20 @@ | @@ -269,7 +271,20 @@ | ||
| 269 | str = ""; | 271 | str = ""; |
| 270 | } | 272 | } |
| 271 | 273 | ||
| 272 | - this.dayWorkCount = str + "长沙市工地开工数量:" + count + " " + str +"长沙市消纳场开工数量:" + count1; | 274 | + let area = "长沙市"; |
| 275 | + let area1 = "长沙市"; | ||
| 276 | + | ||
| 277 | + if(this.queryParams.place){ | ||
| 278 | + area = this.getAreaName(this.queryParams.place) | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + | ||
| 282 | + if(this.queryParams.subReason){ | ||
| 283 | + area1 = this.getAreaName(this.queryParams.subReason) | ||
| 284 | + } | ||
| 285 | + | ||
| 286 | + | ||
| 287 | + this.dayWorkCount = str + area +"工地开工数量:" + count + " " + str + area1 +"消纳场开工数量:" + count1; | ||
| 273 | this.loading = false; | 288 | this.loading = false; |
| 274 | }); | 289 | }); |
| 275 | 290 | ||
| @@ -456,11 +471,12 @@ | @@ -456,11 +471,12 @@ | ||
| 456 | handleExport() { | 471 | handleExport() { |
| 457 | 472 | ||
| 458 | let data = []; | 473 | let data = []; |
| 474 | + let index = 1; | ||
| 459 | for(let i in this.threestepList){ | 475 | for(let i in this.threestepList){ |
| 460 | 476 | ||
| 461 | 477 | ||
| 462 | let obj = { | 478 | let obj = { |
| 463 | - id:this.threestepList[i].id, | 479 | + id:index, |
| 464 | name:this.threestepList[i].name, | 480 | name:this.threestepList[i].name, |
| 465 | createTime:this.threestepList[i].createTime, | 481 | createTime:this.threestepList[i].createTime, |
| 466 | selfCheckTime:this.threestepList[i].selfCheckTime, | 482 | selfCheckTime:this.threestepList[i].selfCheckTime, |
| @@ -476,19 +492,32 @@ | @@ -476,19 +492,32 @@ | ||
| 476 | } | 492 | } |
| 477 | 493 | ||
| 478 | data.push(obj); | 494 | data.push(obj); |
| 495 | + index += 1; | ||
| 479 | 496 | ||
| 497 | + } | ||
| 498 | + if(this.queryParams.his ==1){ | ||
| 499 | + this.$confirm('是否确认导出所有开工报表数据项?', "警告", { | ||
| 500 | + confirmButtonText: "确定", | ||
| 501 | + cancelButtonText: "取消", | ||
| 502 | + type: "warning" | ||
| 503 | + }).then(function() { | ||
| 504 | + return exportDayWorkHistoryList(data); | ||
| 505 | + }).then(response => { | ||
| 506 | + this.download(response.message); | ||
| 507 | + }) | ||
| 508 | + }else{ | ||
| 509 | + this.$confirm('是否确认导出所有开工报表数据项?', "警告", { | ||
| 510 | + confirmButtonText: "确定", | ||
| 511 | + cancelButtonText: "取消", | ||
| 512 | + type: "warning" | ||
| 513 | + }).then(function() { | ||
| 514 | + return exportDayWorkList(data); | ||
| 515 | + }).then(response => { | ||
| 516 | + this.download(response.message); | ||
| 517 | + }) | ||
| 518 | + } | ||
| 480 | 519 | ||
| 481 | 520 | ||
| 482 | - } | ||
| 483 | - this.$confirm('是否确认导出所有开工报表数据项?', "警告", { | ||
| 484 | - confirmButtonText: "确定", | ||
| 485 | - cancelButtonText: "取消", | ||
| 486 | - type: "warning" | ||
| 487 | - }).then(function() { | ||
| 488 | - return exportDayWorkList(data); | ||
| 489 | - }).then(response => { | ||
| 490 | - this.download(response.message); | ||
| 491 | - }) | ||
| 492 | } | 521 | } |
| 493 | } | 522 | } |
| 494 | }; | 523 | }; |
trash-ui/src/views/business/threestep/index.vue
| @@ -87,12 +87,11 @@ | @@ -87,12 +87,11 @@ | ||
| 87 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | 87 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 88 | <template slot-scope="scope"> | 88 | <template slot-scope="scope"> |
| 89 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" | 89 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| 90 | - v-hasPermi="['business:threestep:edit']" v-if="queryParams.pageStatus==1 && scope.row.status==1">抽查</el-button> | 90 | + v-hasPermi="['business:threestep:edit']" v-if="queryParams.pageStatus==1 && scope.row.status==1 && scope.row.checkEndTime == null">抽查</el-button> |
| 91 | <el-button size="mini" type="text" icon="el-icon-edit" @click="reSub(scope.row)" | 91 | <el-button size="mini" type="text" icon="el-icon-edit" @click="reSub(scope.row)" |
| 92 | v-hasPermi="['business:threestep:add']" v-if="scope.row.status==2">被驳回</el-button> | 92 | v-hasPermi="['business:threestep:add']" v-if="scope.row.status==2">被驳回</el-button> |
| 93 | 93 | ||
| 94 | - <el-button size="mini" type="text" @click="handleUpdate(scope.row)" | ||
| 95 | - v-hasPermi="['business:threestep:edit']">查看详情</el-button> | 94 | + <el-button size="mini" type="text" @click="handleUpdate(scope.row)" v-hasPermi="['business:threestep:edit']">查看详情</el-button> |
| 96 | </template> | 95 | </template> |
| 97 | </el-table-column> | 96 | </el-table-column> |
| 98 | </el-table> | 97 | </el-table> |
| @@ -154,18 +153,18 @@ | @@ -154,18 +153,18 @@ | ||
| 154 | </el-form-item> | 153 | </el-form-item> |
| 155 | </el-col> | 154 | </el-col> |
| 156 | </el-row> | 155 | </el-row> |
| 157 | - <el-row type="flex" justify="center" v-if="form.type == 0"> | ||
| 158 | - <el-col :span="12"> | 156 | + <el-row type="flex" justify="center" v-if="form.type == 0" > |
| 157 | + <el-col :span="12" > | ||
| 159 | <el-form-item label="运输企业" prop="companys"> | 158 | <el-form-item label="运输企业" prop="companys"> |
| 160 | - <el-select v-model="form.companys" filterable multiple @change="checkCompany"> | 159 | + <el-select v-model="form.companys" filterable multiple @change="checkCompany" > |
| 161 | <el-option v-for="item in companyList" :label="item.name" :value="item.name" :key="item.id" | 160 | <el-option v-for="item in companyList" :label="item.name" :value="item.name" :key="item.id" |
| 162 | /> | 161 | /> |
| 163 | </el-select> | 162 | </el-select> |
| 164 | </el-form-item> | 163 | </el-form-item> |
| 165 | </el-col> | 164 | </el-col> |
| 166 | - <el-col :span="12"> | ||
| 167 | - <el-form-item label="运输车辆" prop="companyTrucks"> | ||
| 168 | - <el-select v-model="form.companyTrucks" filterable multiple reserve-keyword> | 165 | + <el-col :span="12" > |
| 166 | + <el-form-item label="运输车辆" prop="companyTrucks" > | ||
| 167 | + <el-select v-model="form.companyTrucks" filterable multiple reserve-keyword > | ||
| 169 | <el-option v-for="item in truckList" :label="item.licenseplateNo" :value="item.id" :key="item.id" | 168 | <el-option v-for="item in truckList" :label="item.licenseplateNo" :value="item.id" :key="item.id" |
| 170 | v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"></el-option> | 169 | v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"></el-option> |
| 171 | </el-select> | 170 | </el-select> |
| @@ -281,7 +280,7 @@ | @@ -281,7 +280,7 @@ | ||
| 281 | 280 | ||
| 282 | <el-form ref="form" :model="form" :rules="rules" label-width="100px" v-if="this.queryParams.pageStatus==1"> | 281 | <el-form ref="form" :model="form" :rules="rules" label-width="100px" v-if="this.queryParams.pageStatus==1"> |
| 283 | <el-form-item label="补充说明"> | 282 | <el-form-item label="补充说明"> |
| 284 | - <el-input type="textarea" v-model="form.subSubReason" ></el-input> | 283 | + <el-input type="textarea" v-model="form.subSubReason" maxlength="100"></el-input> |
| 285 | </el-form-item> | 284 | </el-form-item> |
| 286 | 285 | ||
| 287 | <el-row type="flex" justify="center"> | 286 | <el-row type="flex" justify="center"> |
| @@ -301,8 +300,6 @@ | @@ -301,8 +300,6 @@ | ||
| 301 | <p v-for="img,index in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img)" style="color:red"> x</a></p> | 300 | <p v-for="img,index in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img)" style="color:red"> x</a></p> |
| 302 | </el-col> | 301 | </el-col> |
| 303 | </el-row> | 302 | </el-row> |
| 304 | - | ||
| 305 | - | ||
| 306 | </el-form> | 303 | </el-form> |
| 307 | 304 | ||
| 308 | <div slot="footer" class="dialog-footer"> | 305 | <div slot="footer" class="dialog-footer"> |
| @@ -436,6 +433,9 @@ | @@ -436,6 +433,9 @@ | ||
| 436 | }, | 433 | }, |
| 437 | // 表单参数 | 434 | // 表单参数 |
| 438 | form: { | 435 | form: { |
| 436 | + companys:null, | ||
| 437 | + companyTrucks:null, | ||
| 438 | + | ||
| 439 | }, | 439 | }, |
| 440 | picIndex: null, | 440 | picIndex: null, |
| 441 | // 表单校验 | 441 | // 表单校验 |
| @@ -450,11 +450,6 @@ | @@ -450,11 +450,6 @@ | ||
| 450 | message: '请填写完整', | 450 | message: '请填写完整', |
| 451 | trigger: 'change' | 451 | trigger: 'change' |
| 452 | }, ], | 452 | }, ], |
| 453 | - companys: [{ | ||
| 454 | - required: true, | ||
| 455 | - message: '请填写完整', | ||
| 456 | - trigger: 'change' | ||
| 457 | - }, ], | ||
| 458 | objectId: [{ | 453 | objectId: [{ |
| 459 | required: true, | 454 | required: true, |
| 460 | message: '请填写完整', | 455 | message: '请填写完整', |
| @@ -470,8 +465,13 @@ | @@ -470,8 +465,13 @@ | ||
| 470 | message: '请填写完整', | 465 | message: '请填写完整', |
| 471 | trigger: 'change' | 466 | trigger: 'change' |
| 472 | }, ], | 467 | }, ], |
| 468 | + companys: [{ | ||
| 469 | + required: false, | ||
| 470 | + message: '请填写完整', | ||
| 471 | + trigger: 'change' | ||
| 472 | + }, ], | ||
| 473 | companyTrucks: [{ | 473 | companyTrucks: [{ |
| 474 | - required: true, | 474 | + required: false, |
| 475 | message: '请填写完整', | 475 | message: '请填写完整', |
| 476 | trigger: 'change' | 476 | trigger: 'change' |
| 477 | }, ], | 477 | }, ], |
| @@ -520,30 +520,31 @@ | @@ -520,30 +520,31 @@ | ||
| 520 | } | 520 | } |
| 521 | }); | 521 | }); |
| 522 | 522 | ||
| 523 | - let query = { | ||
| 524 | - 'page':1, | ||
| 525 | - 'size':9999, | ||
| 526 | - } | 523 | + // let query = { |
| 524 | + // 'page':1, | ||
| 525 | + // 'size':9999, | ||
| 526 | + // } | ||
| 527 | 527 | ||
| 528 | - companyList(query).then(response => { | 528 | + // companyList(query).then(response => { |
| 529 | 529 | ||
| 530 | - let companys = response.result.list; | ||
| 531 | - this.companyList = companys; | ||
| 532 | - let ids = []; | 530 | + // let companys = response.result.list; |
| 531 | + // this.companyList = companys; | ||
| 532 | + // let ids = []; | ||
| 533 | 533 | ||
| 534 | - for(let i = 0 ;i<companys.length;i++){ | ||
| 535 | - ids.push(companys[i].id); | ||
| 536 | - } | ||
| 537 | - query.companyID = ids + ""; | ||
| 538 | - query.valid = 0; | 534 | + // for(let i = 0 ;i<companys.length;i++){ |
| 535 | + // ids.push(companys[i].id); | ||
| 536 | + // } | ||
| 537 | + // query.companyID = ids + ""; | ||
| 538 | + // query.valid = 0; | ||
| 539 | 539 | ||
| 540 | - truckList(query).then(res=>{ | ||
| 541 | - this.truckList = res.result.list; | ||
| 542 | - }); | ||
| 543 | - }); | 540 | + // truckList(query).then(res=>{ |
| 541 | + // this.truckList = res.result.list; | ||
| 542 | + // }); | ||
| 543 | + // }); | ||
| 544 | 544 | ||
| 545 | 545 | ||
| 546 | this.getList(0); | 546 | this.getList(0); |
| 547 | + | ||
| 547 | }, | 548 | }, |
| 548 | methods: { | 549 | methods: { |
| 549 | conractCheck(item){ | 550 | conractCheck(item){ |
| @@ -626,58 +627,44 @@ | @@ -626,58 +627,44 @@ | ||
| 626 | 'size':9999, | 627 | 'size':9999, |
| 627 | } | 628 | } |
| 628 | 629 | ||
| 629 | - companyList(query).then(response => { | 630 | + this.companyList = []; |
| 631 | + this.truckList = []; | ||
| 630 | 632 | ||
| 631 | - let companys = response.result.list; | ||
| 632 | - this.companyList = companys; | ||
| 633 | - let ids = []; | 633 | + mainworkcompany(item.id).then(response => { |
| 634 | 634 | ||
| 635 | - for(let i = 0 ;i<companys.length;i++){ | ||
| 636 | - ids.push(companys[i].id); | ||
| 637 | - } | ||
| 638 | - query.companyID = ids + ""; | ||
| 639 | - query.valid = 0; | ||
| 640 | - | ||
| 641 | - truckList(query).then(res=>{ | ||
| 642 | - this.truckList = res.result.list; | ||
| 643 | - }); | ||
| 644 | - }); | 635 | + this.companyList.push({id:item.transportCompanyId , name: item.transportCompany}); |
| 645 | 636 | ||
| 646 | - // mainworkcompany(item.id).then(response => { | 637 | + let query = { |
| 638 | + 'page':1, | ||
| 639 | + 'size':9999, | ||
| 640 | + 'creditStatus':0 | ||
| 641 | + } | ||
| 647 | 642 | ||
| 648 | - // let companys = response.result.list; | ||
| 649 | - // this.companyList = companys; | ||
| 650 | - // let ids = []; | 643 | + let ids = []; |
| 651 | 644 | ||
| 652 | - // for(let i = 0 ;i<companys.length;i++){ | ||
| 653 | - // ids.push(companys[i].id); | ||
| 654 | - // } | 645 | + ids.push(item.transportCompanyId); |
| 655 | 646 | ||
| 656 | - // let query = { | ||
| 657 | - // 'page':1, | ||
| 658 | - // 'size':9999, | ||
| 659 | - // 'creditStatus':0 | ||
| 660 | - // } | 647 | + query.companyID = ids; |
| 648 | + query.valid = 0; | ||
| 661 | 649 | ||
| 662 | - // query.companyID = ids + ""; | ||
| 663 | - // query.valid = 0; | 650 | + getConstructionTruck(item.id).then(res=>{ |
| 651 | + for(let i in res.result){ | ||
| 664 | 652 | ||
| 665 | - // getConstructionTruck(item.id).then(res=>{ | ||
| 666 | - // for(let i in res.result){ | 653 | + this.companyList.push({id:res.result[i].companyId , name: res.result[i].companyName}); |
| 667 | 654 | ||
| 668 | - // this.companyList.push({id:res.result[i].companyId , name: res.result[i].companyName}); | 655 | + query.companyID += "," + res.result[i].companyId; |
| 669 | 656 | ||
| 670 | - // ids.push(res.result[i].companyId); | 657 | + query.companyID = query.companyID.substring(0,query.companyID.length -1); |
| 671 | 658 | ||
| 672 | - // truckList(query).then(res=>{ | ||
| 673 | - // this.truckList = res.result.list; | ||
| 674 | - // }); | 659 | + truckList(query).then(res=>{ |
| 660 | + this.truckList = res.result.list; | ||
| 661 | + }); | ||
| 675 | 662 | ||
| 676 | - // } | ||
| 677 | - // }); | 663 | + } |
| 664 | + }); | ||
| 678 | 665 | ||
| 679 | 666 | ||
| 680 | - // }); | 667 | + }); |
| 681 | 668 | ||
| 682 | 669 | ||
| 683 | } | 670 | } |
| @@ -716,6 +703,7 @@ | @@ -716,6 +703,7 @@ | ||
| 716 | this.filterContract.push(obj); | 703 | this.filterContract.push(obj); |
| 717 | } | 704 | } |
| 718 | 705 | ||
| 706 | + | ||
| 719 | for(let j in this.bindData){ | 707 | for(let j in this.bindData){ |
| 720 | 708 | ||
| 721 | this.bindData[j].show = false; | 709 | this.bindData[j].show = false; |
| @@ -731,11 +719,7 @@ | @@ -731,11 +719,7 @@ | ||
| 731 | } | 719 | } |
| 732 | 720 | ||
| 733 | } | 721 | } |
| 734 | - | ||
| 735 | - | ||
| 736 | } | 722 | } |
| 737 | - | ||
| 738 | - | ||
| 739 | }, | 723 | }, |
| 740 | getEarthsiteId(item) { | 724 | getEarthsiteId(item) { |
| 741 | this.form.earthsitesName = item.name; | 725 | this.form.earthsitesName = item.name; |
| @@ -770,8 +754,6 @@ | @@ -770,8 +754,6 @@ | ||
| 770 | this.form[target].push(res); | 754 | this.form[target].push(res); |
| 771 | return; | 755 | return; |
| 772 | } | 756 | } |
| 773 | - | ||
| 774 | - | ||
| 775 | let target = "img" + this.picIndex; | 757 | let target = "img" + this.picIndex; |
| 776 | 758 | ||
| 777 | if (!this.form[target]) { | 759 | if (!this.form[target]) { |
| @@ -807,6 +789,9 @@ | @@ -807,6 +789,9 @@ | ||
| 807 | this.fileList = []; | 789 | this.fileList = []; |
| 808 | }, | 790 | }, |
| 809 | selectType(value) { | 791 | selectType(value) { |
| 792 | + | ||
| 793 | + this.rules.companys[0].required = false; | ||
| 794 | + this.rules.companyTrucks[0].required = false; | ||
| 810 | if (value == "0") { | 795 | if (value == "0") { |
| 811 | this.labelName = "工地名称"; | 796 | this.labelName = "工地名称"; |
| 812 | this.labelName2 = "绑定消纳场"; | 797 | this.labelName2 = "绑定消纳场"; |
| @@ -836,11 +821,14 @@ | @@ -836,11 +821,14 @@ | ||
| 836 | for(let i in this.bindData){ | 821 | for(let i in this.bindData){ |
| 837 | this.bindData[i].show = true; | 822 | this.bindData[i].show = true; |
| 838 | } | 823 | } |
| 824 | + this.rules.companys[0].required = true; | ||
| 825 | + this.rules.companyTrucks[0].required = true; | ||
| 839 | } else { | 826 | } else { |
| 840 | this.remoteData = res.result.list; | 827 | this.remoteData = res.result.list; |
| 841 | } | 828 | } |
| 842 | }); | 829 | }); |
| 843 | 830 | ||
| 831 | + | ||
| 844 | }, | 832 | }, |
| 845 | 833 | ||
| 846 | getAreaName(code){ | 834 | getAreaName(code){ |
| @@ -896,9 +884,6 @@ | @@ -896,9 +884,6 @@ | ||
| 896 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); | 884 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); |
| 897 | } | 885 | } |
| 898 | }); | 886 | }); |
| 899 | - | ||
| 900 | - | ||
| 901 | - | ||
| 902 | }, | 887 | }, |
| 903 | // 取消按钮 | 888 | // 取消按钮 |
| 904 | cancel() { | 889 | cancel() { |
| @@ -995,7 +980,16 @@ | @@ -995,7 +980,16 @@ | ||
| 995 | }, | 980 | }, |
| 996 | 981 | ||
| 997 | checkEndSuccess(){ | 982 | checkEndSuccess(){ |
| 998 | - this.form.checkEndTime = new Date(); | 983 | + |
| 984 | + let year = new Date().getFullYear(); | ||
| 985 | + let month = (new Date().getMonth() + 1) < 10 ? "0" + (new Date().getMonth() + 1) : (new Date().getMonth() + 1); | ||
| 986 | + let date = new Date().getDate() < 10 ? "0" + new Date().getDate() : new Date().getDate(); | ||
| 987 | + let hour = new Date().getHours() < 10 ? "0" + new Date().getHours() : new Date().getHours(); | ||
| 988 | + let minute = new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes(); | ||
| 989 | + let second = new Date().getSeconds() < 10 ? "0" + new Date().getSeconds() : new Date().getSeconds(); | ||
| 990 | + | ||
| 991 | + | ||
| 992 | + this.form.checkEndTime = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; | ||
| 999 | this.form.id = this.businessKey; | 993 | this.form.id = this.businessKey; |
| 1000 | for (let i = 1; i < 4; i++) { | 994 | for (let i = 1; i < 4; i++) { |
| 1001 | if (this.form["attchItem" + i]) { | 995 | if (this.form["attchItem" + i]) { |
| @@ -1020,11 +1014,11 @@ | @@ -1020,11 +1014,11 @@ | ||
| 1020 | this.msgSuccess("提交成功"); | 1014 | this.msgSuccess("提交成功"); |
| 1021 | this.open = false; | 1015 | this.open = false; |
| 1022 | this.open2 = false; | 1016 | this.open2 = false; |
| 1017 | + this.info = false; | ||
| 1023 | this.getList(); | 1018 | this.getList(); |
| 1024 | this.loading = false; | 1019 | this.loading = false; |
| 1025 | },error=>{ | 1020 | },error=>{ |
| 1026 | this.loading = false; | 1021 | this.loading = false; |
| 1027 | - console.log(this.form); | ||
| 1028 | this.form.companys = this.form.companys.split(","); | 1022 | this.form.companys = this.form.companys.split(","); |
| 1029 | this.form.companyTrucks = this.form.companyTrucks.split(","); | 1023 | this.form.companyTrucks = this.form.companyTrucks.split(","); |
| 1030 | 1024 | ||
| @@ -1048,6 +1042,7 @@ | @@ -1048,6 +1042,7 @@ | ||
| 1048 | this.msgSuccess("修改成功"); | 1042 | this.msgSuccess("修改成功"); |
| 1049 | this.open = false; | 1043 | this.open = false; |
| 1050 | this.open2 = false; | 1044 | this.open2 = false; |
| 1045 | + this.info = false; | ||
| 1051 | this.getList(); | 1046 | this.getList(); |
| 1052 | this.loading = false; | 1047 | this.loading = false; |
| 1053 | },error=>{ | 1048 | },error=>{ |
trash-ui/src/views/business/threestep/threestepInfo.vue
| @@ -294,7 +294,7 @@ | @@ -294,7 +294,7 @@ | ||
| 294 | </el-row> | 294 | </el-row> |
| 295 | <el-row v-if="infoData.sub_img6" > | 295 | <el-row v-if="infoData.sub_img6" > |
| 296 | <el-col :span="4"> | 296 | <el-col :span="4"> |
| 297 | - {{form.type==0?"摄像头视频截图2":"雾炮机"}} | 297 | + {{infoData.type==0?"摄像头视频截图2":"雾炮机"}} |
| 298 | </el-col> | 298 | </el-col> |
| 299 | <el-col :span="20"> | 299 | <el-col :span="20"> |
| 300 | <el-row v-for="img,index in infoData.sub_img6.split(',')" style="margin-bottom:10px;"> | 300 | <el-row v-for="img,index in infoData.sub_img6.split(',')" style="margin-bottom:10px;"> |
| @@ -304,7 +304,7 @@ | @@ -304,7 +304,7 @@ | ||
| 304 | </el-row> | 304 | </el-row> |
| 305 | <el-row v-if="infoData.sub_img7" > | 305 | <el-row v-if="infoData.sub_img7" > |
| 306 | <el-col :span="4"> | 306 | <el-col :span="4"> |
| 307 | - {{form.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}} | 307 | + {{infoData.type==0?"摄像头视频截图3":"裸露黄土覆盖照片"}} |
| 308 | </el-col> | 308 | </el-col> |
| 309 | <el-col :span="20"> | 309 | <el-col :span="20"> |
| 310 | <el-row v-for="img,index in infoData.sub_img7.split(',')" style="margin-bottom:10px;"> | 310 | <el-row v-for="img,index in infoData.sub_img7.split(',')" style="margin-bottom:10px;"> |
trash-ui/src/views/caseOffline/caseOffline/index.vue
| @@ -246,22 +246,26 @@ export default { | @@ -246,22 +246,26 @@ export default { | ||
| 246 | 246 | ||
| 247 | if(window.location.search){ | 247 | if(window.location.search){ |
| 248 | let businessKey = window.location.search.split("=")[1]; | 248 | let businessKey = window.location.search.split("=")[1]; |
| 249 | - let id; | ||
| 250 | - if(businessKey.split(":").length == 2){ | ||
| 251 | - id = businessKey.split(":")[1]; | ||
| 252 | - }else{ | ||
| 253 | - id = businessKey; | ||
| 254 | - } | 249 | + debugger; |
| 250 | + if(window.location.search.split("=")[0] == "?businessKey"){ | ||
| 251 | + let id; | ||
| 252 | + if(businessKey.split(":").length == 2){ | ||
| 253 | + id = businessKey.split(":")[1]; | ||
| 254 | + }else{ | ||
| 255 | + id = businessKey; | ||
| 256 | + } | ||
| 255 | 257 | ||
| 256 | - getThreestep(id).then(response => { | ||
| 257 | - let data = response.data; | 258 | + getThreestep(id).then(response => { |
| 259 | + let data = response.data; | ||
| 258 | 260 | ||
| 259 | - this.handleAdd(); | 261 | + this.handleAdd(); |
| 262 | + | ||
| 263 | + this.form.siteType = data.type + ""; | ||
| 264 | + this.form.siteName = data.name; | ||
| 265 | + this.form.place = Number(data.place); | ||
| 266 | + }); | ||
| 267 | + } | ||
| 260 | 268 | ||
| 261 | - this.form.siteType = data.type + ""; | ||
| 262 | - this.form.siteName = data.name; | ||
| 263 | - this.form.place = Number(data.place); | ||
| 264 | - }); | ||
| 265 | } | 269 | } |
| 266 | 270 | ||
| 267 | 271 |
trash-ui/src/views/casefile/violationCaseFile/index.vue
| @@ -56,16 +56,6 @@ | @@ -56,16 +56,6 @@ | ||
| 56 | v-hasPermi="['casefile:violationCaseFile:add']" | 56 | v-hasPermi="['casefile:violationCaseFile:add']" |
| 57 | >新增</el-button> | 57 | >新增</el-button> |
| 58 | </el-col> | 58 | </el-col> |
| 59 | - <el-col :span="1.5"> | ||
| 60 | - <el-button | ||
| 61 | - type="success" | ||
| 62 | - icon="el-icon-edit" | ||
| 63 | - size="mini" | ||
| 64 | - :disabled="single" | ||
| 65 | - @click="handleUpdate" | ||
| 66 | - v-hasPermi="['casefile:violationCaseFile:edit']" | ||
| 67 | - >修改</el-button> | ||
| 68 | - </el-col> | ||
| 69 | <!-- <el-col :span="1.5">--> | 59 | <!-- <el-col :span="1.5">--> |
| 70 | <!-- <el-button--> | 60 | <!-- <el-button--> |
| 71 | <!-- type="danger"--> | 61 | <!-- type="danger"--> |
trash-ui/src/views/casefile/violationWarningInformation/index.vue
| @@ -48,16 +48,6 @@ | @@ -48,16 +48,6 @@ | ||
| 48 | v-hasPermi="['casefile:violationWarningInformation:add']" | 48 | v-hasPermi="['casefile:violationWarningInformation:add']" |
| 49 | >新增</el-button> | 49 | >新增</el-button> |
| 50 | </el-col> | 50 | </el-col> |
| 51 | - <el-col :span="1.5"> | ||
| 52 | - <el-button | ||
| 53 | - type="success" | ||
| 54 | - icon="el-icon-edit" | ||
| 55 | - size="mini" | ||
| 56 | - :disabled="single" | ||
| 57 | - @click="handleUpdate" | ||
| 58 | - v-hasPermi="['casefile:violationWarningInformation:edit']" | ||
| 59 | - >修改</el-button> | ||
| 60 | - </el-col> | ||
| 61 | <!-- <el-col :span="1.5">--> | 51 | <!-- <el-col :span="1.5">--> |
| 62 | <!-- <el-button--> | 52 | <!-- <el-button--> |
| 63 | <!-- type="danger"--> | 53 | <!-- type="danger"--> |
trash-ui/src/views/daily/situation/index.vue
| @@ -151,7 +151,7 @@ | @@ -151,7 +151,7 @@ | ||
| 151 | <editor v-model="form.desc2" :min-height="192"/> | 151 | <editor v-model="form.desc2" :min-height="192"/> |
| 152 | </el-form-item> | 152 | </el-form-item> |
| 153 | 153 | ||
| 154 | - <el-form-item label="特发时间处置等其他情况" prop="desc3"> | 154 | + <el-form-item label="突发事件处置等其他情况" prop="desc3"> |
| 155 | <editor v-model="form.desc3" :min-height="192"/> | 155 | <editor v-model="form.desc3" :min-height="192"/> |
| 156 | </el-form-item> | 156 | </el-form-item> |
| 157 | 157 |
trash-ui/src/views/h5/CompanyCredit/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.status==0}" size="mini" @click="getData(1);" >失信企业</el-button> | ||
| 6 | + </el-col> | ||
| 7 | + <el-col :span="1.5"> | ||
| 8 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.status==1}" size="mini" @click="getHistoryData(1);">历史失信企业</el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> | ||
| 13 | + | ||
| 14 | + <el-form-item label="运输企业" prop="name"> | ||
| 15 | + <el-select v-model="queryParams.name" | ||
| 16 | + filterable | ||
| 17 | + reserve-keyword | ||
| 18 | + placeholder="运输企业" | ||
| 19 | + | ||
| 20 | + size="small" | ||
| 21 | + :loading="loading"> | ||
| 22 | + <el-option | ||
| 23 | + v-for="item in dictNames" | ||
| 24 | + :label="item" | ||
| 25 | + :value="item"> | ||
| 26 | + </el-option> | ||
| 27 | + </el-select> | ||
| 28 | + </el-form-item> | ||
| 29 | + | ||
| 30 | + <el-form-item label="所属区域" prop="place"> | ||
| 31 | + <el-select v-model="queryParams.place" placeholder="所属区域" | ||
| 32 | + filterable | ||
| 33 | + reserve-keyword | ||
| 34 | + | ||
| 35 | + size="small" | ||
| 36 | + :loading="loading"> | ||
| 37 | + <el-option | ||
| 38 | + v-for="item in dictPlaces" | ||
| 39 | + :label="item" | ||
| 40 | + :value="item"> | ||
| 41 | + </el-option> | ||
| 42 | + </el-select> | ||
| 43 | + </el-form-item> | ||
| 44 | + | ||
| 45 | + <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0"> | ||
| 46 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date" | ||
| 47 | + value-format="yyyy-MM-dd" placeholder="失信日期"> | ||
| 48 | + </el-date-picker> | ||
| 49 | + </el-form-item> | ||
| 50 | + | ||
| 51 | + </el-form> | ||
| 52 | + | ||
| 53 | + <el-row :gutter="10" class="mb8"> | ||
| 54 | + <el-col :span="1.5"> | ||
| 55 | + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['Company:credit:add']" v-if="queryParams.status==0">新增</el-button> | ||
| 56 | + </el-col> | ||
| 57 | + <el-col :span="1.5"> | ||
| 58 | + <el-button size="mini" @click="handleExport" v-hasPermi="['Company:credit:export']">导出</el-button> | ||
| 59 | + </el-col> | ||
| 60 | + <el-col :span="1.5"> | ||
| 61 | + <el-button type="primary" size="mini" @click="handleQuery">查询</el-button> | ||
| 62 | + </el-col> | ||
| 63 | + <el-col :span="1.5"> | ||
| 64 | + <el-button size="mini" @click="resetQuery">重置</el-button> | ||
| 65 | + </el-col> | ||
| 66 | + </el-row> | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + <el-card class="box-card" v-for="item in creditList" style="margin-bottom: 10px;" | ||
| 70 | + > | ||
| 71 | + <el-row class="card_row"> | ||
| 72 | + <el-col :span="24" class="card_grid"> | ||
| 73 | + <div class="card_title" style="font-weight: bold;">运输企业:{{ item.name }}</div> | ||
| 74 | + </el-col> | ||
| 75 | + </el-row> | ||
| 76 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 77 | + <el-col :span="24"> | ||
| 78 | + <span >失信时间:{{ item.time }}</span> | ||
| 79 | + </el-col> | ||
| 80 | + </el-row> | ||
| 81 | + | ||
| 82 | + <el-row class="card_row"> | ||
| 83 | + <el-col :span="24"> | ||
| 84 | + <span >所属区域:{{item.place}}</span> | ||
| 85 | + </el-col> | ||
| 86 | + </el-row> | ||
| 87 | + <el-row class="card_row"> | ||
| 88 | + <el-col :span="24"> | ||
| 89 | + <span >失信原因:{{item.reason}}</span> | ||
| 90 | + </el-col> | ||
| 91 | + </el-row> | ||
| 92 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button> | ||
| 93 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==1">查看</el-button> | ||
| 94 | + </el-card> | ||
| 95 | + | ||
| 96 | + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> | ||
| 97 | + | ||
| 98 | + <!-- 添加或修改工地对话框 --> | ||
| 99 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body v-loading="loading"> | ||
| 100 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="open"> | ||
| 101 | + <el-form-item label="运输企业" prop="name"> | ||
| 102 | + <el-select | ||
| 103 | + v-model="form.name" | ||
| 104 | + filterable | ||
| 105 | + reserve-keyword | ||
| 106 | + placeholder="运输企业"> | ||
| 107 | + <el-option | ||
| 108 | + @click.native="getObjId(item)" | ||
| 109 | + v-for="item in companyList" | ||
| 110 | + :key="item.id" | ||
| 111 | + :label="item.name" | ||
| 112 | + :value="item.name" | ||
| 113 | + v-if="item.dishonestState == 0"> | ||
| 114 | + </el-option> | ||
| 115 | + </el-select> | ||
| 116 | + </el-form-item> | ||
| 117 | + | ||
| 118 | + <el-form-item label="所属区域" prop="place"> | ||
| 119 | + <el-input | ||
| 120 | + v-model="form.place" | ||
| 121 | + placeholder="所属区域" disabled /> | ||
| 122 | + </el-form-item> | ||
| 123 | + <el-form-item label="失信原因" prop="reason"> | ||
| 124 | + <el-input v-model="form.reason" placeholder="失信原因" /> | ||
| 125 | + </el-form-item> | ||
| 126 | + <el-input v-model="form.lostCredit" value="1" type="hidden" /> | ||
| 127 | + <el-input v-model="form.objectId" type="hidden" /> | ||
| 128 | + </el-form> | ||
| 129 | + <div slot="footer" class="dialog-footer"> | ||
| 130 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 131 | + <el-button @click="cancel">退出</el-button> | ||
| 132 | + </div> | ||
| 133 | + </el-dialog> | ||
| 134 | + | ||
| 135 | + | ||
| 136 | + <el-dialog title="撤销失信" :visible.sync="isEdit" width="300px" append-to-body v-loading="loading"> | ||
| 137 | + <el-form ref="updateForm" :model="updateForm" :rules="rules2" label-width="80px" v-if="updateForm" > | ||
| 138 | + <el-form-item label="情况说明" prop="reason" > | ||
| 139 | + <el-input v-model="updateForm.reason" type="textarea" maxlength="200" show-word-limit/> | ||
| 140 | + </el-form-item> | ||
| 141 | + </el-form> | ||
| 142 | + <div slot="footer" class="dialog-footer"> | ||
| 143 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 144 | + <el-button @click="cancel">退出</el-button> | ||
| 145 | + </div> | ||
| 146 | + </el-dialog> | ||
| 147 | + | ||
| 148 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body center="true"> | ||
| 149 | + <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | ||
| 150 | + <el-table-column label="序号" align="center" type="index" /> | ||
| 151 | + <el-table-column label="失信时间" align="center" prop="time" width="100"> | ||
| 152 | + </el-table-column> | ||
| 153 | + <el-table-column label="情况说明" align="center" prop="reason" /> | ||
| 154 | + <el-table-column label="操作历史" align="center" prop="lostCredit"> | ||
| 155 | + <template slot-scope="scope"> | ||
| 156 | + <span>{{ scope.row.lostCredit== 0 ? "撤销失信" : scope.row.lostCredit == 1 ? "失信" : "保密" }}</span> | ||
| 157 | + </template> | ||
| 158 | + </el-table-column> | ||
| 159 | + </el-table> | ||
| 160 | + </el-dialog> | ||
| 161 | + </div> | ||
| 162 | +</template> | ||
| 163 | + | ||
| 164 | +<script> | ||
| 165 | + import { | ||
| 166 | + listCredit, | ||
| 167 | + getCredit, | ||
| 168 | + delCredit, | ||
| 169 | + addCredit, | ||
| 170 | + updateCredit, | ||
| 171 | + exportCredit, | ||
| 172 | + getNames, | ||
| 173 | + getPlaces, | ||
| 174 | + historyCredit | ||
| 175 | + } from "@/api/business/company"; | ||
| 176 | + | ||
| 177 | + import { | ||
| 178 | + companyList, | ||
| 179 | + updateCompany, | ||
| 180 | + } from "@/api/dict"; | ||
| 181 | + | ||
| 182 | + import pagination from '../Pagination'; | ||
| 183 | + | ||
| 184 | + | ||
| 185 | + export default { | ||
| 186 | + name: "Credit", | ||
| 187 | + components: {pagination}, | ||
| 188 | + data() { | ||
| 189 | + return { | ||
| 190 | + // 遮罩层 | ||
| 191 | + loading: true, | ||
| 192 | + // 选中数组 | ||
| 193 | + ids: [], | ||
| 194 | + // 非单个禁用 | ||
| 195 | + single: true, | ||
| 196 | + // 非多个禁用 | ||
| 197 | + multiple: true, | ||
| 198 | + // 显示搜索条件 | ||
| 199 | + showSearch: true, | ||
| 200 | + infoDialog :false, | ||
| 201 | + // 总条数 | ||
| 202 | + total: 0, | ||
| 203 | + // 工地表格数据 | ||
| 204 | + creditList: [], | ||
| 205 | + creditListInfo: [], | ||
| 206 | + companyList:[], | ||
| 207 | + dictNames:[], | ||
| 208 | + dictPlaces:[], | ||
| 209 | + // 弹出层标题 | ||
| 210 | + title: "", | ||
| 211 | + // 是否显示弹出层 | ||
| 212 | + open: false, | ||
| 213 | + isEdit:false, | ||
| 214 | + // 查询参数 | ||
| 215 | + queryParams: { | ||
| 216 | + pageNum: 1, | ||
| 217 | + pageSize: 10, | ||
| 218 | + name: null, | ||
| 219 | + time: null, | ||
| 220 | + place: null, | ||
| 221 | + reason: null, | ||
| 222 | + status: 0, | ||
| 223 | + lostCredit: 1 | ||
| 224 | + }, | ||
| 225 | + // 表单参数 | ||
| 226 | + form: {}, | ||
| 227 | + updateForm:{}, | ||
| 228 | + // 表单校验 | ||
| 229 | + rules: { | ||
| 230 | + name: [ | ||
| 231 | + { required: true, message: '请选择运输企业', trigger: 'change' }, | ||
| 232 | + ], | ||
| 233 | + reason: [ | ||
| 234 | + { required: true, message: '请填写原因', trigger: 'change' }, | ||
| 235 | + ], | ||
| 236 | + }, | ||
| 237 | + rules2: { | ||
| 238 | + reason: [ | ||
| 239 | + { required: true, message: '请填写原因', trigger: 'change' }, | ||
| 240 | + ], | ||
| 241 | + }, | ||
| 242 | + }; | ||
| 243 | + }, | ||
| 244 | + created() { | ||
| 245 | + this.init(); | ||
| 246 | + }, | ||
| 247 | + methods: { | ||
| 248 | + init(){ | ||
| 249 | + this.resetQuery(); | ||
| 250 | + this.getList(); | ||
| 251 | + getNames(this.queryParams).then(response => { | ||
| 252 | + this.dictNames = response; | ||
| 253 | + }); | ||
| 254 | + getPlaces(this.queryParams).then(response => { | ||
| 255 | + this.dictPlaces = response; | ||
| 256 | + }); | ||
| 257 | + | ||
| 258 | + let query = { | ||
| 259 | + 'page':1, | ||
| 260 | + 'size':9999, | ||
| 261 | + 'creditStatus':0 | ||
| 262 | + } | ||
| 263 | + companyList(query).then(response => { | ||
| 264 | + | ||
| 265 | + this.companyList = response.result.list; | ||
| 266 | + }); | ||
| 267 | + }, | ||
| 268 | + getDataInfo(row){ | ||
| 269 | + let param ={"objectId":row.objectId} | ||
| 270 | + | ||
| 271 | + listCredit(param).then(response => { | ||
| 272 | + this.creditListInfo = response.rows; | ||
| 273 | + this.infoDialog = true; | ||
| 274 | + }); | ||
| 275 | + | ||
| 276 | + }, | ||
| 277 | + getData(stauts){ | ||
| 278 | + this.queryParams.status=0; | ||
| 279 | + this.queryParams.lostCredit=stauts; | ||
| 280 | + this.getList(); | ||
| 281 | + }, | ||
| 282 | + getHistoryData(){ | ||
| 283 | + this.queryParams.status=1; | ||
| 284 | + this.getList(); | ||
| 285 | + }, | ||
| 286 | + colStyle(obj){ | ||
| 287 | + if(obj.column.property == "id"){ | ||
| 288 | + return {background:"#f8f8f9"} | ||
| 289 | + } | ||
| 290 | + }, | ||
| 291 | + getObjId(a){ | ||
| 292 | + this.form.objectId = a.id; | ||
| 293 | + this.form.place = a.areaName; | ||
| 294 | + }, | ||
| 295 | + getList() { | ||
| 296 | + this.loading = true; | ||
| 297 | + if(this.queryParams.status==0){ | ||
| 298 | + listCredit(this.queryParams).then(response => { | ||
| 299 | + this.creditList = response.rows; | ||
| 300 | + this.total = response.total; | ||
| 301 | + this.loading = false; | ||
| 302 | + }); | ||
| 303 | + } | ||
| 304 | + if(this.queryParams.status==1){ | ||
| 305 | + historyCredit(this.queryParams).then(response => { | ||
| 306 | + this.creditList = response.rows; | ||
| 307 | + this.total = response.total; | ||
| 308 | + this.loading = false; | ||
| 309 | + }); | ||
| 310 | + } | ||
| 311 | + | ||
| 312 | + }, | ||
| 313 | + // 取消按钮 | ||
| 314 | + cancel() { | ||
| 315 | + this.open = false; | ||
| 316 | + this.isEdit = false; | ||
| 317 | + this.reset(); | ||
| 318 | + }, | ||
| 319 | + // 表单重置 | ||
| 320 | + reset() { | ||
| 321 | + this.form = { | ||
| 322 | + id: null, | ||
| 323 | + name: null, | ||
| 324 | + time: null, | ||
| 325 | + place: null, | ||
| 326 | + reason: null, | ||
| 327 | + lostCredit: null, | ||
| 328 | + objectId: null, | ||
| 329 | + }; | ||
| 330 | + this.resetForm("form"); | ||
| 331 | + }, | ||
| 332 | + /** 搜索按钮操作 */ | ||
| 333 | + handleQuery() { | ||
| 334 | + this.queryParams.pageNum = 1; | ||
| 335 | + this.getList(); | ||
| 336 | + }, | ||
| 337 | + /** 重置按钮操作 */ | ||
| 338 | + resetQuery() { | ||
| 339 | + this.resetForm("queryForm"); | ||
| 340 | + console.log(this.queryParams); | ||
| 341 | + this.handleQuery(); | ||
| 342 | + }, | ||
| 343 | + // 多选框选中数据 | ||
| 344 | + handleSelectionChange(selection) { | ||
| 345 | + this.ids = selection.map(item => item.id) | ||
| 346 | + this.single = selection.length !== 1 | ||
| 347 | + this.multiple = !selection.length | ||
| 348 | + }, | ||
| 349 | + /** 新增按钮操作 */ | ||
| 350 | + handleAdd() { | ||
| 351 | + this.reset(); | ||
| 352 | + this.open = true; | ||
| 353 | + this.title = "企业信息录入"; | ||
| 354 | + }, | ||
| 355 | + /** 修改按钮操作 */ | ||
| 356 | + handleUpdate(row) { | ||
| 357 | + this.reset(); | ||
| 358 | + const id = row.id || this.ids | ||
| 359 | + getCredit(id).then(response => { | ||
| 360 | + this.form = response.data; | ||
| 361 | + this.isEdit = true; | ||
| 362 | + }); | ||
| 363 | + }, | ||
| 364 | + /** 提交按钮 */ | ||
| 365 | + submitForm() { | ||
| 366 | + if(this.isEdit){ | ||
| 367 | + this.$refs["updateForm"].validate(valid => { | ||
| 368 | + if (valid) { | ||
| 369 | + this.loading = true; | ||
| 370 | + this.form.lostCredit = 0; | ||
| 371 | + this.updateForm.id = this.form.id; | ||
| 372 | + let data = [{id:this.form.objectId,dishonestState:this.form.lostCredit}]; | ||
| 373 | + updateCompany(data).then(res=>{ | ||
| 374 | + updateCredit(this.updateForm).then(response => { | ||
| 375 | + this.msgSuccess("撤销成功"); | ||
| 376 | + this.isEdit = false; | ||
| 377 | + this.updateForm = {}; | ||
| 378 | + this.init(); | ||
| 379 | + }); | ||
| 380 | + }); | ||
| 381 | + } | ||
| 382 | + }); | ||
| 383 | + }else{ | ||
| 384 | + this.$refs["form"].validate(valid => { | ||
| 385 | + if (valid) { | ||
| 386 | + this.loading = true; | ||
| 387 | + this.form.lostCredit = 1; | ||
| 388 | + let data = [{id:this.form.objectId,dishonestState:this.form.lostCredit}]; | ||
| 389 | + updateCompany(data).then(res=>{ | ||
| 390 | + addCredit(this.form).then(response => { | ||
| 391 | + this.msgSuccess("新增成功"); | ||
| 392 | + this.open = false; | ||
| 393 | + this.init(); | ||
| 394 | + }); | ||
| 395 | + }); | ||
| 396 | + } | ||
| 397 | + }); | ||
| 398 | + } | ||
| 399 | + }, | ||
| 400 | + handleExport() { | ||
| 401 | + const queryParams = this.queryParams; | ||
| 402 | + this.$confirm('是否确认导出所有企业数据项?', "警告", { | ||
| 403 | + confirmButtonText: "确定", | ||
| 404 | + cancelButtonText: "取消", | ||
| 405 | + type: "warning" | ||
| 406 | + }).then(function() { | ||
| 407 | + return exportCredit(queryParams); | ||
| 408 | + }).then(response => { | ||
| 409 | + this.download(response.message); | ||
| 410 | + }) | ||
| 411 | + } | ||
| 412 | + } | ||
| 413 | + }; | ||
| 414 | +</script> |
trash-ui/src/views/h5/ConstructionCredit/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.status==0}" size="mini" | ||
| 6 | + @click="getData(1);">失信工地</el-button> | ||
| 7 | + </el-col> | ||
| 8 | + <el-col :span="1.5"> | ||
| 9 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.status==1}" size="mini" | ||
| 10 | + @click="getHistoryData(1);">历史失信工地</el-button> | ||
| 11 | + </el-col> | ||
| 12 | + </el-row> | ||
| 13 | + | ||
| 14 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> | ||
| 15 | + <el-row type="flex" justify="center"> | ||
| 16 | + <el-col> | ||
| 17 | + <el-form-item label="工地名称" prop="name" style="float:right;"> | ||
| 18 | + <el-select v-model="queryParams.name" filterable reserve-keyword placeholder="工地名称" size="small" | ||
| 19 | + :loading="loading"> | ||
| 20 | + <el-option v-for="item in dictNames" :label="item" :value="item" :key="item"> | ||
| 21 | + </el-option> | ||
| 22 | + </el-select> | ||
| 23 | + </el-form-item> | ||
| 24 | + </el-col> | ||
| 25 | + | ||
| 26 | + <el-col> | ||
| 27 | + <el-form-item label="所属区域" prop="place"> | ||
| 28 | + <el-select v-model="queryParams.place" filterable reserve-keyword placeholder="所属区域" size="small" | ||
| 29 | + :loading="loading"> | ||
| 30 | + <el-option v-for="item in dictPlaces" :label="item" :value="item" :key="item"> | ||
| 31 | + </el-option> | ||
| 32 | + </el-select> | ||
| 33 | + </el-form-item> | ||
| 34 | + </el-col> | ||
| 35 | + </el-row> | ||
| 36 | + <el-row type="flex" justify="center"> | ||
| 37 | + <el-col> | ||
| 38 | + <el-form-item label="垃圾类型" prop="type" style="float:right;"> | ||
| 39 | + <el-select v-model="queryParams.type" filterable reserve-keyword placeholder="建筑垃圾类型" size="small" | ||
| 40 | + :loading="loading"> | ||
| 41 | + <el-option v-for="item in dictTypes" :label="item" :value="item" :key="item"> | ||
| 42 | + </el-option> | ||
| 43 | + </el-select> | ||
| 44 | + </el-form-item> | ||
| 45 | + </el-col> | ||
| 46 | + <el-col> | ||
| 47 | + <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0"> | ||
| 48 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date" | ||
| 49 | + value-format="yyyy-MM-dd" placeholder="失信日期"> | ||
| 50 | + </el-date-picker> | ||
| 51 | + </el-form-item> | ||
| 52 | + </el-col> | ||
| 53 | + </el-row> | ||
| 54 | + </el-form> | ||
| 55 | + | ||
| 56 | + <el-row :gutter="10" class="mb8"> | ||
| 57 | + <el-col :span="1.5"> | ||
| 58 | + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['business:ConstructionCredit:add']" | ||
| 59 | + v-if="queryParams.status==0">新增</el-button> | ||
| 60 | + </el-col> | ||
| 61 | + <el-col :span="1.5"> | ||
| 62 | + <el-button size="mini" @click="handleExport" v-hasPermi="['business:ConstructionCredit:export']">导出</el-button> | ||
| 63 | + </el-col> | ||
| 64 | + <el-col :span="1.5"> | ||
| 65 | + <el-button type="primary" size="mini" @click="handleQuery">查询</el-button> | ||
| 66 | + </el-col> | ||
| 67 | + <el-col :span="1.5"> | ||
| 68 | + <el-button size="mini" @click="resetQuery">重置</el-button> | ||
| 69 | + </el-col> | ||
| 70 | + </el-row> | ||
| 71 | + | ||
| 72 | + <el-card class="box-card" v-for="item in creditList" style="margin-bottom: 10px;" | ||
| 73 | + > | ||
| 74 | + <el-row class="card_row"> | ||
| 75 | + <el-col :span="24" class="card_grid"> | ||
| 76 | + <div class="card_title" style="font-weight: bold;">工地名称:{{ item.name }}</div> | ||
| 77 | + </el-col> | ||
| 78 | + </el-row> | ||
| 79 | + | ||
| 80 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 81 | + <el-col :span="24"> | ||
| 82 | + <span >建筑垃圾类型:{{ item.type }}</span> | ||
| 83 | + </el-col> | ||
| 84 | + </el-row> | ||
| 85 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 86 | + <el-col :span="24"> | ||
| 87 | + <span >失信时间:{{ item.time }}</span> | ||
| 88 | + </el-col> | ||
| 89 | + </el-row> | ||
| 90 | + | ||
| 91 | + <el-row class="card_row"> | ||
| 92 | + <el-col :span="24"> | ||
| 93 | + <span >所属区域:{{item.place}}</span> | ||
| 94 | + </el-col> | ||
| 95 | + </el-row> | ||
| 96 | + <el-row class="card_row"> | ||
| 97 | + <el-col :span="24"> | ||
| 98 | + <span >失信原因:{{item.reason}}</span> | ||
| 99 | + </el-col> | ||
| 100 | + </el-row> | ||
| 101 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button> | ||
| 102 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==1">查看</el-button> | ||
| 103 | + </el-card> | ||
| 104 | + | ||
| 105 | + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | ||
| 106 | + @pagination="getList" /> | ||
| 107 | + | ||
| 108 | + <!-- 添加或修改工地对话框 --> | ||
| 109 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body v-loading="loading"> | ||
| 110 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="open"> | ||
| 111 | + <el-form-item label="工地名称" prop="name"> | ||
| 112 | + <el-select v-model="form.name" filterable reserve-keyword placeholder="工地名称"> | ||
| 113 | + <el-option @click.native="getObjId(item)" v-for="item in constructionList" :key="item.id" :label="item.name" | ||
| 114 | + :value="item.name" v-if="item.creditStatus==0"> | ||
| 115 | + </el-option> | ||
| 116 | + </el-select> | ||
| 117 | + </el-form-item> | ||
| 118 | + | ||
| 119 | + <el-form-item label="建筑垃圾类型" prop="type"> | ||
| 120 | + <el-input v-model="form.type" disabled /> | ||
| 121 | + </el-form-item> | ||
| 122 | + <el-form-item label="所属区域" prop="place"> | ||
| 123 | + <el-input v-model="form.place" disabled /> | ||
| 124 | + </el-form-item> | ||
| 125 | + <el-form-item label="失信原因" prop="reason"> | ||
| 126 | + <el-input v-model="form.reason" placeholder="失信原因" /> | ||
| 127 | + </el-form-item> | ||
| 128 | + </el-form> | ||
| 129 | + | ||
| 130 | + <el-input v-model="form.lostCredit" value="1" type="hidden" /> | ||
| 131 | + <el-input v-model="form.objectId" type="hidden" /> | ||
| 132 | + <div slot="footer" class="dialog-footer"> | ||
| 133 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 134 | + <el-button @click="cancel">退出</el-button> | ||
| 135 | + </div> | ||
| 136 | + | ||
| 137 | + </el-dialog> | ||
| 138 | + | ||
| 139 | + | ||
| 140 | + <el-dialog title="撤销失信" :visible.sync="isEdit" width="300px" append-to-body v-loading="loading"> | ||
| 141 | + <el-form ref="form" :model="updateForm" :rules="rules" label-width="80px" v-if="isEdit"> | ||
| 142 | + <el-form-item label="情况说明" prop="reason"> | ||
| 143 | + <el-input v-model="updateForm.reason" type="textarea" maxlength="200" show-word-limit /> | ||
| 144 | + </el-form-item> | ||
| 145 | + </el-form> | ||
| 146 | + <div slot="footer" class="dialog-footer"> | ||
| 147 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 148 | + <el-button @click="cancel">退出</el-button> | ||
| 149 | + </div> | ||
| 150 | + </el-dialog> | ||
| 151 | + | ||
| 152 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body> | ||
| 153 | + <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | ||
| 154 | + <el-table-column label="序号" align="center" type="index" /> | ||
| 155 | + <el-table-column label="失信时间" align="center" prop="time" width="100" /> | ||
| 156 | + <el-table-column label="情况说明" align="center" prop="reason" /> | ||
| 157 | + <el-table-column label="操作历史" align="center" prop="lostCredit"> | ||
| 158 | + <template slot-scope="scope"> | ||
| 159 | + <span>{{ scope.row.lostCredit== 0 ? "撤销失信" : "失信" }}</span> | ||
| 160 | + </template> | ||
| 161 | + </el-table-column> | ||
| 162 | + </el-table> | ||
| 163 | + </el-dialog> | ||
| 164 | + </div> | ||
| 165 | +</template> | ||
| 166 | + | ||
| 167 | +<script> | ||
| 168 | + import { | ||
| 169 | + listCredit, | ||
| 170 | + getCredit, | ||
| 171 | + delCredit, | ||
| 172 | + addCredit, | ||
| 173 | + updateCredit, | ||
| 174 | + exportCredit, | ||
| 175 | + getNames, | ||
| 176 | + getTypes, | ||
| 177 | + getPlaces, | ||
| 178 | + historyCredit | ||
| 179 | + } from "@/api/business/constructionsites"; | ||
| 180 | + | ||
| 181 | +import pagination from '../Pagination'; | ||
| 182 | + | ||
| 183 | + import { | ||
| 184 | + constructionsitesList, | ||
| 185 | + getDict, | ||
| 186 | + getArea, | ||
| 187 | + updateConstructionsites | ||
| 188 | + } from "@/api/dict"; | ||
| 189 | + | ||
| 190 | + export default { | ||
| 191 | + name: "ConstructionCredit", | ||
| 192 | + components: {pagination}, | ||
| 193 | + data() { | ||
| 194 | + return { | ||
| 195 | + // 遮罩层 | ||
| 196 | + loading: true, | ||
| 197 | + // 选中数组 | ||
| 198 | + ids: [], | ||
| 199 | + // 非单个禁用 | ||
| 200 | + single: true, | ||
| 201 | + // 非多个禁用 | ||
| 202 | + multiple: true, | ||
| 203 | + // 显示搜索条件 | ||
| 204 | + showSearch: true, | ||
| 205 | + infoDialog: false, | ||
| 206 | + // 总条数 | ||
| 207 | + total: 0, | ||
| 208 | + // 工地表格数据 | ||
| 209 | + creditList: [], | ||
| 210 | + creditListInfo: [], | ||
| 211 | + dictNames: [], | ||
| 212 | + dictTypes: [], | ||
| 213 | + dictPlaces: [], | ||
| 214 | + // 弹出层标题 | ||
| 215 | + title: "", | ||
| 216 | + // 是否显示弹出层 | ||
| 217 | + open: false, | ||
| 218 | + isEdit: false, | ||
| 219 | + // 查询参数 | ||
| 220 | + queryParams: { | ||
| 221 | + pageNum: 1, | ||
| 222 | + pageSize: 10, | ||
| 223 | + name: null, | ||
| 224 | + type: null, | ||
| 225 | + time: null, | ||
| 226 | + place: null, | ||
| 227 | + reason: null, | ||
| 228 | + status: 0, | ||
| 229 | + lostCredit: 1, | ||
| 230 | + }, | ||
| 231 | + // 表单参数 | ||
| 232 | + form: { | ||
| 233 | + }, | ||
| 234 | + updateForm: {}, | ||
| 235 | + //建筑垃圾类型集合 | ||
| 236 | + trashTypes: [], | ||
| 237 | + constructionList: [], | ||
| 238 | + // 表单校验 | ||
| 239 | + rules: { | ||
| 240 | + name: [{ | ||
| 241 | + required: true, | ||
| 242 | + message: '请选择工地', | ||
| 243 | + trigger: 'change' | ||
| 244 | + }, ], | ||
| 245 | + reason: [{ | ||
| 246 | + required: true, | ||
| 247 | + message: '请填写原因', | ||
| 248 | + trigger: 'change' | ||
| 249 | + }, ] | ||
| 250 | + }, | ||
| 251 | + areas:[], | ||
| 252 | + }; | ||
| 253 | + | ||
| 254 | + | ||
| 255 | + }, | ||
| 256 | + created() { | ||
| 257 | + | ||
| 258 | + getArea().then(res => { | ||
| 259 | + this.areas = res.result; | ||
| 260 | + }); | ||
| 261 | + | ||
| 262 | + getDict({'type': 'CSDisSiteDisposalType'}).then(response => { | ||
| 263 | + this.trashTypes = response.result; | ||
| 264 | + }); | ||
| 265 | + | ||
| 266 | + this.init(); | ||
| 267 | + | ||
| 268 | + }, | ||
| 269 | + methods: { | ||
| 270 | + init(){ | ||
| 271 | + this.reset(); | ||
| 272 | + this.resetQuery(); | ||
| 273 | + this.getList(); | ||
| 274 | + this.getNamesData(); | ||
| 275 | + this.getTypesData(); | ||
| 276 | + this.getPlacesData(); | ||
| 277 | + | ||
| 278 | + let query = { | ||
| 279 | + 'page': 1, | ||
| 280 | + 'size': 9999, | ||
| 281 | + 'creditStatus': 0 | ||
| 282 | + }; | ||
| 283 | + constructionsitesList(query).then(response => { | ||
| 284 | + this.constructionList = response.result.list | ||
| 285 | + }); | ||
| 286 | + }, | ||
| 287 | + getList() { | ||
| 288 | + this.loading = true; | ||
| 289 | + if (this.queryParams.status == 0) { | ||
| 290 | + listCredit(this.queryParams).then(response => { | ||
| 291 | + this.creditList = response.rows; | ||
| 292 | + this.total = response.total; | ||
| 293 | + this.loading = false; | ||
| 294 | + }); | ||
| 295 | + } | ||
| 296 | + if (this.queryParams.status == 1) { | ||
| 297 | + historyCredit(this.queryParams).then(response => { | ||
| 298 | + this.creditList = response.rows; | ||
| 299 | + this.total = response.total; | ||
| 300 | + this.loading = false; | ||
| 301 | + }); | ||
| 302 | + } | ||
| 303 | + }, | ||
| 304 | + getDataInfo(row) { | ||
| 305 | + let param = { | ||
| 306 | + "objectId": row.objectId | ||
| 307 | + } | ||
| 308 | + listCredit(param).then(response => { | ||
| 309 | + this.creditListInfo = response.rows; | ||
| 310 | + this.infoDialog = true; | ||
| 311 | + }); | ||
| 312 | + }, | ||
| 313 | + getNamesData() { | ||
| 314 | + getNames(this.queryParams).then(response => { | ||
| 315 | + this.dictNames = response; | ||
| 316 | + }); | ||
| 317 | + }, | ||
| 318 | + getTypesData() { | ||
| 319 | + getTypes(this.queryParams).then(response => { | ||
| 320 | + this.dictTypes = response; | ||
| 321 | + }); | ||
| 322 | + }, | ||
| 323 | + getPlacesData() { | ||
| 324 | + getPlaces(this.queryParams).then(response => { | ||
| 325 | + this.dictPlaces = response; | ||
| 326 | + }); | ||
| 327 | + }, | ||
| 328 | + getData(stauts) { | ||
| 329 | + this.queryParams.status = 0; | ||
| 330 | + this.queryParams.lostCredit = stauts; | ||
| 331 | + this.init(); | ||
| 332 | + }, | ||
| 333 | + getHistoryData() { | ||
| 334 | + this.queryParams.status = 1; | ||
| 335 | + this.init(); | ||
| 336 | + }, | ||
| 337 | + colStyle(obj) { | ||
| 338 | + if (obj.column.property == "id") { | ||
| 339 | + return { | ||
| 340 | + background: "#f8f8f9" | ||
| 341 | + } | ||
| 342 | + } | ||
| 343 | + }, | ||
| 344 | + getObjId(object) { | ||
| 345 | + | ||
| 346 | + this.form.objectId = object.id; | ||
| 347 | + | ||
| 348 | + for(let i in this.areas){ | ||
| 349 | + if(this.areas[i].code == Number(object.areaCode)){ | ||
| 350 | + this.form.place = this.areas[i].name; | ||
| 351 | + break; | ||
| 352 | + } | ||
| 353 | + } | ||
| 354 | + for(let i in this.trashTypes){ | ||
| 355 | + if(this.trashTypes[i].code == Number(object.cargoId)){ | ||
| 356 | + this.form.type = this.trashTypes[i].name; | ||
| 357 | + break; | ||
| 358 | + } | ||
| 359 | + } | ||
| 360 | + }, | ||
| 361 | + // 取消按钮 | ||
| 362 | + cancel() { | ||
| 363 | + this.open = false; | ||
| 364 | + this.isEdit = false; | ||
| 365 | + this.reset(); | ||
| 366 | + }, | ||
| 367 | + // 表单重置 | ||
| 368 | + reset() { | ||
| 369 | + this.form = { | ||
| 370 | + id: null, | ||
| 371 | + name: null, | ||
| 372 | + type: null, | ||
| 373 | + time: null, | ||
| 374 | + place: null, | ||
| 375 | + reason: null, | ||
| 376 | + lostCredit: null, | ||
| 377 | + objectId: null, | ||
| 378 | + }; | ||
| 379 | + this.updateForm = { | ||
| 380 | + reason:null, | ||
| 381 | + }; | ||
| 382 | + this.resetForm("updateForm"); | ||
| 383 | + this.resetForm("form"); | ||
| 384 | + }, | ||
| 385 | + /** 搜索按钮操作 */ | ||
| 386 | + handleQuery() { | ||
| 387 | + this.queryParams.pageNum = 1; | ||
| 388 | + this.getList(); | ||
| 389 | + }, | ||
| 390 | + /** 重置按钮操作 */ | ||
| 391 | + resetQuery() { | ||
| 392 | + this.resetForm("queryForm"); | ||
| 393 | + console.log(this.queryParams); | ||
| 394 | + this.handleQuery(); | ||
| 395 | + }, | ||
| 396 | + // 多选框选中数据 | ||
| 397 | + handleSelectionChange(selection) { | ||
| 398 | + this.ids = selection.map(item => item.id) | ||
| 399 | + this.single = selection.length !== 1 | ||
| 400 | + this.multiple = !selection.length | ||
| 401 | + }, | ||
| 402 | + /** 新增按钮操作 */ | ||
| 403 | + handleAdd() { | ||
| 404 | + this.reset(); | ||
| 405 | + this.open = true; | ||
| 406 | + this.title = "添加工地"; | ||
| 407 | + }, | ||
| 408 | + /** 修改按钮操作 */ | ||
| 409 | + handleUpdate(row) { | ||
| 410 | + this.reset(); | ||
| 411 | + const id = row.id || this.ids | ||
| 412 | + getCredit(id).then(response => { | ||
| 413 | + this.form = response.data; | ||
| 414 | + this.isEdit = true; | ||
| 415 | + }); | ||
| 416 | + }, | ||
| 417 | + /** 提交按钮 */ | ||
| 418 | + submitForm() { | ||
| 419 | + this.$refs["form"].validate(valid => { | ||
| 420 | + if (valid) { | ||
| 421 | + this.loading = true; | ||
| 422 | + if (this.form.id != null) { | ||
| 423 | + this.form.lostCredit = 0; | ||
| 424 | + let data = [{creditStatus:this.form.lostCredit,objectId:this.form.objectId}]; | ||
| 425 | + | ||
| 426 | + updateConstructionsites(data).then(response=>{ | ||
| 427 | + this.updateForm.id = this.form.id; | ||
| 428 | + updateCredit(this.updateForm).then(response => { | ||
| 429 | + this.msgSuccess("撤销成功"); | ||
| 430 | + this.isEdit = false; | ||
| 431 | + this.init(); | ||
| 432 | + }); | ||
| 433 | + }); | ||
| 434 | + } else { | ||
| 435 | + this.form.lostCredit = 1; | ||
| 436 | + let data = [{creditStatus:this.form.lostCredit,objectId:this.form.objectId}]; | ||
| 437 | + updateConstructionsites(data).then(response=>{ | ||
| 438 | + addCredit(this.form).then(response => { | ||
| 439 | + this.msgSuccess("新增成功"); | ||
| 440 | + this.open = false; | ||
| 441 | + this.init(); | ||
| 442 | + }); | ||
| 443 | + }); | ||
| 444 | + } | ||
| 445 | + } | ||
| 446 | + }); | ||
| 447 | + }, | ||
| 448 | + handleExport() { | ||
| 449 | + const queryParams = this.queryParams; | ||
| 450 | + this.$confirm('是否确认导出所有工地数据项?', "警告", { | ||
| 451 | + confirmButtonText: "确定", | ||
| 452 | + cancelButtonText: "取消", | ||
| 453 | + type: "warning" | ||
| 454 | + }).then(function() { | ||
| 455 | + return exportCredit(queryParams); | ||
| 456 | + }).then(response => { | ||
| 457 | + this.download(response.message); | ||
| 458 | + }) | ||
| 459 | + } | ||
| 460 | + } | ||
| 461 | + }; | ||
| 462 | +</script> |
trash-ui/src/views/h5/DriverCredit/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.status==0}" size="mini" @click="getData(1);" >失信驾驶员</el-button> | ||
| 6 | + </el-col> | ||
| 7 | + <el-col :span="1.5"> | ||
| 8 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.status==1}" size="mini" @click="getHistoryData(1);">历史驾驶员</el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> | ||
| 13 | + <el-row type="flex" justify="center"> | ||
| 14 | + <el-col> | ||
| 15 | + <el-form-item label="驾驶员姓名" prop="name" | ||
| 16 | + style="float:right;"> | ||
| 17 | + <el-select v-model="queryParams.name" | ||
| 18 | + filterable | ||
| 19 | + | ||
| 20 | + reserve-keyword | ||
| 21 | + placeholder="驾驶员姓名" | ||
| 22 | + size="small" | ||
| 23 | + :loading="loading"> | ||
| 24 | + <el-option | ||
| 25 | + v-for="item in dictNames" | ||
| 26 | + :label="item" | ||
| 27 | + :value="item"> | ||
| 28 | + </el-option> | ||
| 29 | + </el-select> | ||
| 30 | + </el-form-item> | ||
| 31 | + </el-col> | ||
| 32 | + | ||
| 33 | + <el-col> | ||
| 34 | + <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0"> | ||
| 35 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date" | ||
| 36 | + value-format="yyyy-MM-dd" placeholder="失信日期"> | ||
| 37 | + </el-date-picker> | ||
| 38 | + </el-form-item> | ||
| 39 | + </el-col> | ||
| 40 | + </el-row> | ||
| 41 | + | ||
| 42 | + </el-form> | ||
| 43 | + | ||
| 44 | + <el-row :gutter="10" class="mb8"> | ||
| 45 | + <el-col :span="1.5"> | ||
| 46 | + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['driver:credit:add']" v-if="queryParams.status==0">新增</el-button> | ||
| 47 | + </el-col> | ||
| 48 | + <el-col :span="1.5"> | ||
| 49 | + <el-button size="mini" @click="handleExport" v-hasPermi="['driver:credit:export']">导出</el-button> | ||
| 50 | + </el-col> | ||
| 51 | + <el-col :span="1.5"> | ||
| 52 | + <el-button type="primary" size="mini" @click="handleQuery">查询</el-button> | ||
| 53 | + </el-col> | ||
| 54 | + <el-col :span="1.5"> | ||
| 55 | + <el-button size="mini" @click="resetQuery">重置</el-button> | ||
| 56 | + </el-col> | ||
| 57 | + </el-row> | ||
| 58 | + | ||
| 59 | + <el-card class="box-card" v-for="item in creditList" style="margin-bottom: 10px;" | ||
| 60 | + > | ||
| 61 | + <el-row class="card_row"> | ||
| 62 | + <el-col :span="24" class="card_grid"> | ||
| 63 | + <div class="card_title" style="font-weight: bold;">驾驶员姓名:{{ item.name }}</div> | ||
| 64 | + </el-col> | ||
| 65 | + </el-row> | ||
| 66 | + | ||
| 67 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 68 | + <el-col :span="24"> | ||
| 69 | + <span >证件号码:{{item.idNumber}}</span> | ||
| 70 | + </el-col> | ||
| 71 | + </el-row> | ||
| 72 | + <el-row class="card_row" > | ||
| 73 | + <el-col :span="24"> | ||
| 74 | + <span >失信时间:{{ item.time }}</span> | ||
| 75 | + </el-col> | ||
| 76 | + </el-row> | ||
| 77 | + | ||
| 78 | + <el-row class="card_row"> | ||
| 79 | + <el-col :span="24"> | ||
| 80 | + <span >失信原因:{{item.reason}}</span> | ||
| 81 | + </el-col> | ||
| 82 | + </el-row> | ||
| 83 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button> | ||
| 84 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==1">查看</el-button> | ||
| 85 | + </el-card> | ||
| 86 | + | ||
| 87 | + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | ||
| 88 | + @pagination="getList" /> | ||
| 89 | + | ||
| 90 | + <!-- 添加或修改工地对话框 --> | ||
| 91 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body v-loading="loading"> | ||
| 92 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 93 | + <el-form-item label="驾驶员姓名" prop="name"> | ||
| 94 | + <el-select | ||
| 95 | + v-model="form.name" | ||
| 96 | + filterable | ||
| 97 | + reserve-keyword | ||
| 98 | + placeholder="驾驶员姓名"> | ||
| 99 | + <el-option | ||
| 100 | + @click.native="getObjId(item)" | ||
| 101 | + v-for="item in driverList" | ||
| 102 | + :key="item.id" | ||
| 103 | + :label="item.name" | ||
| 104 | + :value="item.name"> | ||
| 105 | + </el-option> | ||
| 106 | + </el-select> | ||
| 107 | + </el-form-item> | ||
| 108 | + | ||
| 109 | + <el-form-item label="证件号码" prop="idNumber"> | ||
| 110 | + <el-input v-model="form.idNumber" placeholder="证件号码" disabled/> | ||
| 111 | + </el-form-item> | ||
| 112 | + <el-form-item label="失信原因" prop="reason"> | ||
| 113 | + <el-input v-model="form.reason" placeholder="失信原因" /> | ||
| 114 | + </el-form-item> | ||
| 115 | + <el-input v-model="form.lostCredit" value="1" type="hidden" /> | ||
| 116 | + <el-input v-model="form.objectId" type="hidden" /> | ||
| 117 | + </el-form> | ||
| 118 | + <div slot="footer" class="dialog-footer"> | ||
| 119 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 120 | + <el-button @click="cancel">退出</el-button> | ||
| 121 | + </div> | ||
| 122 | + </el-dialog> | ||
| 123 | + | ||
| 124 | + | ||
| 125 | + <el-dialog title="撤销失信" :visible.sync="isEdit" width="300px" append-to-body v-loading="loading"> | ||
| 126 | + <el-form ref="form" :model="updateForm" :rules="rules" label-width="80px"> | ||
| 127 | + <el-form-item label="情况说明" prop="reason"> | ||
| 128 | + <el-input v-model="updateForm.reason" type="textarea" maxlength="200" show-word-limit/> | ||
| 129 | + </el-form-item> | ||
| 130 | + </el-form> | ||
| 131 | + <div slot="footer" class="dialog-footer"> | ||
| 132 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 133 | + <el-button @click="cancel">退出</el-button> | ||
| 134 | + </div> | ||
| 135 | + </el-dialog> | ||
| 136 | + | ||
| 137 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body> | ||
| 138 | + <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | ||
| 139 | + <el-table-column label="序号" align="center" type="index" /> | ||
| 140 | + <el-table-column label="失信时间" align="center" prop="time" width="100"> | ||
| 141 | + </el-table-column> | ||
| 142 | + <el-table-column label="情况说明" align="center" prop="reason" /> | ||
| 143 | + <el-table-column label="操作历史" align="center" prop="lostCredit"> | ||
| 144 | + <template slot-scope="scope"> | ||
| 145 | + <span>{{ scope.row.lostCredit== 0 ? "撤销失信" : "失信" }}</span> | ||
| 146 | + </template> | ||
| 147 | + </el-table-column> | ||
| 148 | + </el-table> | ||
| 149 | + </el-dialog> | ||
| 150 | + </div> | ||
| 151 | +</template> | ||
| 152 | + | ||
| 153 | +<script> | ||
| 154 | +import { | ||
| 155 | + listCredit, | ||
| 156 | + getCredit, | ||
| 157 | + delCredit, | ||
| 158 | + addCredit, | ||
| 159 | + updateCredit, | ||
| 160 | + exportCredit, | ||
| 161 | + getNames, | ||
| 162 | + historyCredit | ||
| 163 | +} from "@/api/business/driver"; | ||
| 164 | + | ||
| 165 | +import { | ||
| 166 | + companyList, | ||
| 167 | + driverList | ||
| 168 | +} from "@/api/dict"; | ||
| 169 | + | ||
| 170 | +import pagination from '../Pagination'; | ||
| 171 | +export default { | ||
| 172 | + name: "ConstructionCredit", | ||
| 173 | + components: {pagination}, | ||
| 174 | + data() { | ||
| 175 | + return { | ||
| 176 | + // 遮罩层 | ||
| 177 | + loading: true, | ||
| 178 | + // 选中数组 | ||
| 179 | + ids: [], | ||
| 180 | + // 非单个禁用 | ||
| 181 | + single: true, | ||
| 182 | + // 非多个禁用 | ||
| 183 | + multiple: true, | ||
| 184 | + // 显示搜索条件 | ||
| 185 | + showSearch: true, | ||
| 186 | + infoDialog :false, | ||
| 187 | + // 总条数 | ||
| 188 | + total: 0, | ||
| 189 | + // 工地表格数据 | ||
| 190 | + creditList: [], | ||
| 191 | + creditListInfo: [], | ||
| 192 | + dictNames:[], | ||
| 193 | + dictTypes:[], | ||
| 194 | + dictPlaces:[], | ||
| 195 | + driverList:[], | ||
| 196 | + names:[], | ||
| 197 | + idNumbers:[], | ||
| 198 | + places:[], | ||
| 199 | + // 弹出层标题 | ||
| 200 | + title: "", | ||
| 201 | + // 是否显示弹出层 | ||
| 202 | + open: false, | ||
| 203 | + isEdit:false, | ||
| 204 | + // 查询参数 | ||
| 205 | + queryParams: { | ||
| 206 | + pageNum: 1, | ||
| 207 | + pageSize: 10, | ||
| 208 | + name: null, | ||
| 209 | + idNumber: null, | ||
| 210 | + time: null, | ||
| 211 | + reason: null, | ||
| 212 | + status: 0, | ||
| 213 | + lostCredit: 1 | ||
| 214 | + }, | ||
| 215 | + // 表单参数 | ||
| 216 | + form: {}, | ||
| 217 | + updateForm:{}, | ||
| 218 | + // 表单校验 | ||
| 219 | + rules: {name: [ | ||
| 220 | + { required: true, message: '请选择驾驶员', trigger: 'change' }, | ||
| 221 | + ],reason: [ | ||
| 222 | + { required: true, message: '请填写原因', trigger: 'change' }, | ||
| 223 | + ]} | ||
| 224 | + }; | ||
| 225 | + }, | ||
| 226 | + created() { | ||
| 227 | + this.init(); | ||
| 228 | + }, | ||
| 229 | + methods: { | ||
| 230 | + init(){ | ||
| 231 | + this.reset(); | ||
| 232 | + | ||
| 233 | + this.resetQuery(); | ||
| 234 | + this.getList(); | ||
| 235 | + this.getNamesData(); | ||
| 236 | + | ||
| 237 | + let query = { | ||
| 238 | + 'page':1, | ||
| 239 | + 'size':9999, | ||
| 240 | + 'creditStatus':0 | ||
| 241 | + } | ||
| 242 | + | ||
| 243 | + companyList(query).then(response => { | ||
| 244 | + | ||
| 245 | + let companys = response.result.list; | ||
| 246 | + | ||
| 247 | + let ids = []; | ||
| 248 | + | ||
| 249 | + for(let i = 0 ;i<companys.length;i++){ | ||
| 250 | + ids.push(companys[i].id); | ||
| 251 | + } | ||
| 252 | + query.companyIds = ids + ""; | ||
| 253 | + query.status = 3; | ||
| 254 | + | ||
| 255 | + driverList(query).then(res=>{ | ||
| 256 | + | ||
| 257 | + this.driverList = res.result; | ||
| 258 | + | ||
| 259 | + }); | ||
| 260 | + | ||
| 261 | + }); | ||
| 262 | + }, | ||
| 263 | + getDataInfo(row){ | ||
| 264 | + let param ={"objectId":row.objectId} | ||
| 265 | + listCredit(param).then(response => { | ||
| 266 | + this.creditListInfo = response.rows; | ||
| 267 | + this.infoDialog = true; | ||
| 268 | + }); | ||
| 269 | + | ||
| 270 | + }, | ||
| 271 | + getNamesData(){ | ||
| 272 | + getNames(this.queryParams).then(response => { | ||
| 273 | + this.dictNames = response; | ||
| 274 | + }); | ||
| 275 | + }, | ||
| 276 | + getData(stauts){ | ||
| 277 | + this.queryParams.status=0; | ||
| 278 | + this.queryParams.lostCredit=stauts; | ||
| 279 | + this.getList(); | ||
| 280 | + }, | ||
| 281 | + getHistoryData(){ | ||
| 282 | + this.queryParams.status=1; | ||
| 283 | + this.init(); | ||
| 284 | + }, | ||
| 285 | + colStyle(obj){ | ||
| 286 | + if(obj.column.property == "id"){ | ||
| 287 | + return {background:"#f8f8f9"} | ||
| 288 | + } | ||
| 289 | + }, | ||
| 290 | + getObjId(a){ | ||
| 291 | + this.form.objectId = a.id; | ||
| 292 | + this.form.idNumber = a.identityNo; | ||
| 293 | + }, | ||
| 294 | + getList() { | ||
| 295 | + this.loading = true; | ||
| 296 | + if(this.queryParams.status==0){ | ||
| 297 | + listCredit(this.queryParams).then(response => { | ||
| 298 | + this.creditList = response.rows; | ||
| 299 | + this.total = response.total; | ||
| 300 | + this.loading = false; | ||
| 301 | + }); | ||
| 302 | + } | ||
| 303 | + if(this.queryParams.status==1){ | ||
| 304 | + historyCredit(this.queryParams).then(response => { | ||
| 305 | + this.creditList = response.rows; | ||
| 306 | + this.total = response.total; | ||
| 307 | + this.loading = false; | ||
| 308 | + }); | ||
| 309 | + } | ||
| 310 | + | ||
| 311 | + }, | ||
| 312 | + // 取消按钮 | ||
| 313 | + cancel() { | ||
| 314 | + this.open = false; | ||
| 315 | + this.isEdit = false; | ||
| 316 | + this.reset(); | ||
| 317 | + }, | ||
| 318 | + // 表单重置 | ||
| 319 | + reset() { | ||
| 320 | + this.form = { | ||
| 321 | + id: null, | ||
| 322 | + name: null, | ||
| 323 | + idNumber: null, | ||
| 324 | + time: null, | ||
| 325 | + reason: null, | ||
| 326 | + lostCredit: null, | ||
| 327 | + objectId: null, | ||
| 328 | + }; | ||
| 329 | + this.updateForm = {}; | ||
| 330 | + this.resetForm("form"); | ||
| 331 | + }, | ||
| 332 | + /** 搜索按钮操作 */ | ||
| 333 | + handleQuery() { | ||
| 334 | + this.queryParams.pageNum = 1; | ||
| 335 | + this.getList(); | ||
| 336 | + }, | ||
| 337 | + /** 重置按钮操作 */ | ||
| 338 | + resetQuery() { | ||
| 339 | + this.resetForm("queryForm"); | ||
| 340 | + console.log(this.queryParams); | ||
| 341 | + this.handleQuery(); | ||
| 342 | + }, | ||
| 343 | + // 多选框选中数据 | ||
| 344 | + handleSelectionChange(selection) { | ||
| 345 | + this.ids = selection.map(item => item.id) | ||
| 346 | + this.single = selection.length !== 1 | ||
| 347 | + this.multiple = !selection.length | ||
| 348 | + }, | ||
| 349 | + /** 新增按钮操作 */ | ||
| 350 | + handleAdd() { | ||
| 351 | + this.reset(); | ||
| 352 | + this.open = true; | ||
| 353 | + this.title = "添加驾驶员"; | ||
| 354 | + }, | ||
| 355 | + /** 修改按钮操作 */ | ||
| 356 | + handleUpdate(row) { | ||
| 357 | + this.reset(); | ||
| 358 | + const id = row.id || this.ids | ||
| 359 | + getCredit(id).then(response => { | ||
| 360 | + this.form = response.data; | ||
| 361 | + this.isEdit = true; | ||
| 362 | + }); | ||
| 363 | + }, | ||
| 364 | + /** 提交按钮 */ | ||
| 365 | + submitForm() { | ||
| 366 | + if(this.open){ | ||
| 367 | + this.updateForm.reason = "1"; | ||
| 368 | + } | ||
| 369 | + this.$refs["form"].validate(valid => { | ||
| 370 | + if (valid) { | ||
| 371 | + | ||
| 372 | + this.loading = true; | ||
| 373 | + if (this.form.id != null) { | ||
| 374 | + this.updateForm.id = this.form.id; | ||
| 375 | + updateCredit(this.updateForm).then(response => { | ||
| 376 | + this.msgSuccess("撤销成功"); | ||
| 377 | + this.isEdit = false; | ||
| 378 | + this.init(); | ||
| 379 | + }); | ||
| 380 | + } else { | ||
| 381 | + this.form.lostCredit = 1; | ||
| 382 | + addCredit(this.form).then(response => { | ||
| 383 | + this.msgSuccess("新增成功"); | ||
| 384 | + this.open = false; | ||
| 385 | + this.init(); | ||
| 386 | + }); | ||
| 387 | + } | ||
| 388 | + } | ||
| 389 | + }); | ||
| 390 | + }, | ||
| 391 | + handleExport() { | ||
| 392 | + const queryParams = this.queryParams; | ||
| 393 | + this.$confirm('是否确认导出所有驾驶员数据项?', "警告", { | ||
| 394 | + confirmButtonText: "确定", | ||
| 395 | + cancelButtonText: "取消", | ||
| 396 | + type: "warning" | ||
| 397 | + }).then(function() { | ||
| 398 | + return exportCredit(queryParams); | ||
| 399 | + }).then(response => { | ||
| 400 | + this.download(response.message); | ||
| 401 | + }) | ||
| 402 | + } | ||
| 403 | + } | ||
| 404 | +}; | ||
| 405 | +</script> |
trash-ui/src/views/h5/EarthSitesCredit/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.status==0}" size="mini" | ||
| 6 | + @click="getData(1);">失信消纳场</el-button> | ||
| 7 | + </el-col> | ||
| 8 | + <el-col :span="1.5"> | ||
| 9 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.status==1}" size="mini" | ||
| 10 | + @click="getHistoryData(1);">历史失信消纳场</el-button> | ||
| 11 | + </el-col> | ||
| 12 | + </el-row> | ||
| 13 | + | ||
| 14 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> | ||
| 15 | + <el-row type="flex" justify="center"> | ||
| 16 | + <el-col> | ||
| 17 | + <el-form-item label="消纳场名称" prop="name" style="float:right;"> | ||
| 18 | + <el-select v-model="queryParams.name" filterable reserve-keyword placeholder="消纳场名称" size="small" | ||
| 19 | + :loading="loading"> | ||
| 20 | + <el-option v-for="item in dictNames" :label="item" :value="item" :key="item"> | ||
| 21 | + </el-option> | ||
| 22 | + </el-select> | ||
| 23 | + </el-form-item> | ||
| 24 | + </el-col> | ||
| 25 | + | ||
| 26 | + <el-col> | ||
| 27 | + <el-form-item label="所属区域" prop="place"> | ||
| 28 | + <el-select v-model="queryParams.place" filterable reserve-keyword placeholder="所属区域" size="small" > | ||
| 29 | + <el-option v-for="item in dictPlaces" :label="item" :value="item" :key="item"> | ||
| 30 | + </el-option> | ||
| 31 | + </el-select> | ||
| 32 | + </el-form-item> | ||
| 33 | + </el-col> | ||
| 34 | + </el-row> | ||
| 35 | + <el-row type="flex" justify="center"> | ||
| 36 | + <el-col> | ||
| 37 | + <el-form-item label="消纳场类型" prop="type" style="float:right;"> | ||
| 38 | + <el-select v-model="queryParams.type" filterable reserve-keyword placeholder="消纳场类型" size="small" | ||
| 39 | + :loading="loading"> | ||
| 40 | + <el-option v-for="item in dictTypes" :label="item" :value="item" :key="item"> | ||
| 41 | + </el-option> | ||
| 42 | + </el-select> | ||
| 43 | + </el-form-item> | ||
| 44 | + </el-col> | ||
| 45 | + <el-col> | ||
| 46 | + <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0"> | ||
| 47 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date" | ||
| 48 | + value-format="yyyy-MM-dd" placeholder="失信日期"> | ||
| 49 | + </el-date-picker> | ||
| 50 | + </el-form-item> | ||
| 51 | + </el-col> | ||
| 52 | + </el-row> | ||
| 53 | + </el-form> | ||
| 54 | + | ||
| 55 | + <el-row :gutter="10" class="mb8"> | ||
| 56 | + <el-col :span="1.5"> | ||
| 57 | + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['EarthSites:credit:add']" v-if="queryParams.status==0">新增</el-button> | ||
| 58 | + </el-col> | ||
| 59 | + <el-col :span="1.5"> | ||
| 60 | + <el-button size="mini" @click="handleExport" v-hasPermi="['EarthSites:credit:export']">导出</el-button> | ||
| 61 | + </el-col> | ||
| 62 | + | ||
| 63 | + <el-col :span="1.5"> | ||
| 64 | + <el-button type="primary" size="mini" @click="handleQuery">查询</el-button> | ||
| 65 | + </el-col> | ||
| 66 | + <el-col :span="1.5"> | ||
| 67 | + <el-button size="mini" @click="resetQuery">重置</el-button> | ||
| 68 | + </el-col> | ||
| 69 | + </el-row> | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + <el-card class="box-card" v-for="item in creditList" style="margin-bottom: 10px;" | ||
| 73 | + > | ||
| 74 | + <el-row class="card_row"> | ||
| 75 | + <el-col :span="24" class="card_grid"> | ||
| 76 | + <div class="card_title" style="font-weight: bold;">消纳场名称:{{ item.name }}</div> | ||
| 77 | + </el-col> | ||
| 78 | + </el-row> | ||
| 79 | + | ||
| 80 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 81 | + <el-col :span="24"> | ||
| 82 | + <span >消纳场类型:{{ item.type }}</span> | ||
| 83 | + </el-col> | ||
| 84 | + </el-row> | ||
| 85 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 86 | + <el-col :span="24"> | ||
| 87 | + <span >失信时间:{{ item.time }}</span> | ||
| 88 | + </el-col> | ||
| 89 | + </el-row> | ||
| 90 | + | ||
| 91 | + <el-row class="card_row"> | ||
| 92 | + <el-col :span="24"> | ||
| 93 | + <span >所属区域:{{item.place}}</span> | ||
| 94 | + </el-col> | ||
| 95 | + </el-row> | ||
| 96 | + <el-row class="card_row"> | ||
| 97 | + <el-col :span="24"> | ||
| 98 | + <span >失信原因:{{item.reason}}</span> | ||
| 99 | + </el-col> | ||
| 100 | + </el-row> | ||
| 101 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button> | ||
| 102 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==1">查看</el-button> | ||
| 103 | + </el-card> | ||
| 104 | + | ||
| 105 | + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | ||
| 106 | + @pagination="getList" /> | ||
| 107 | + | ||
| 108 | + <!-- 添加或修改工地对话框 --> | ||
| 109 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body v-loading="loading"> | ||
| 110 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 111 | + <el-form-item label="消纳场名称" prop="name"> | ||
| 112 | + <el-select | ||
| 113 | + v-model="form.name" | ||
| 114 | + filterable | ||
| 115 | + reserve-keyword | ||
| 116 | + placeholder="消纳场名称"> | ||
| 117 | + <el-option | ||
| 118 | + @click.native="getObjId(item)" | ||
| 119 | + v-for="item in earthsitesList" | ||
| 120 | + :key="item.id" | ||
| 121 | + :label="item.name" | ||
| 122 | + :value="item.name" | ||
| 123 | + v-if="item.creditStatus==0"> | ||
| 124 | + </el-option> | ||
| 125 | + </el-select> | ||
| 126 | + </el-form-item> | ||
| 127 | + | ||
| 128 | + <el-form-item label="消纳场类型" prop="type"> | ||
| 129 | + | ||
| 130 | + <el-input v-model="form.type" disabled/> | ||
| 131 | + </el-form-item> | ||
| 132 | + <el-form-item label="所属区域" prop="place"> | ||
| 133 | + <el-input v-model="form.place" disabled/> | ||
| 134 | + </el-form-item> | ||
| 135 | + <el-form-item label="失信原因" prop="reason"> | ||
| 136 | + <el-input v-model="form.reason" placeholder="失信原因" /> | ||
| 137 | + </el-form-item> | ||
| 138 | + <el-input v-model="form.lostCredit" value="1" type="hidden" /> | ||
| 139 | + <el-input v-model="form.objectId" type="hidden" /> | ||
| 140 | + </el-form> | ||
| 141 | + <div slot="footer" class="dialog-footer"> | ||
| 142 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 143 | + <el-button @click="cancel">退出</el-button> | ||
| 144 | + </div> | ||
| 145 | + </el-dialog> | ||
| 146 | + | ||
| 147 | + | ||
| 148 | + <el-dialog title="撤销失信" :visible.sync="isEdit" width="300px" append-to-body v-loading="loading"> | ||
| 149 | + <el-form ref="form" :model="updateForm" :rules="rules" label-width="80px"> | ||
| 150 | + <el-form-item label="情况说明" prop="reason"> | ||
| 151 | + <el-input v-model="updateForm.reason" type="textarea" maxlength="200" show-word-limit/> | ||
| 152 | + </el-form-item> | ||
| 153 | + </el-form> | ||
| 154 | + <div slot="footer" class="dialog-footer"> | ||
| 155 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 156 | + <el-button @click="cancel">退出</el-button> | ||
| 157 | + </div> | ||
| 158 | + </el-dialog> | ||
| 159 | + | ||
| 160 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body> | ||
| 161 | + <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | ||
| 162 | + <el-table-column label="序号" align="center" type="index" /> | ||
| 163 | + <el-table-column label="失信时间" align="center" prop="time" width="100" /> | ||
| 164 | + <el-table-column label="情况说明" align="center" prop="reason" /> | ||
| 165 | + <el-table-column label="操作历史" align="center" prop="lostCredit"> | ||
| 166 | + <template slot-scope="scope"> | ||
| 167 | + <span>{{ scope.row.lostCredit== 0 ? "撤销失信" : "失信" }}</span> | ||
| 168 | + </template> | ||
| 169 | + </el-table-column> | ||
| 170 | + </el-table> | ||
| 171 | + </el-dialog> | ||
| 172 | + </div> | ||
| 173 | +</template> | ||
| 174 | + | ||
| 175 | +<script> | ||
| 176 | +import { | ||
| 177 | + listCredit, | ||
| 178 | + getCredit, | ||
| 179 | + delCredit, | ||
| 180 | + addCredit, | ||
| 181 | + updateCredit, | ||
| 182 | + exportCredit, | ||
| 183 | + getNames, | ||
| 184 | + getTypes, | ||
| 185 | + getPlaces, | ||
| 186 | + historyCredit | ||
| 187 | +} from "@/api/business/earthsites"; | ||
| 188 | + | ||
| 189 | +import { | ||
| 190 | + earthsitesList, | ||
| 191 | + updateEarthsites | ||
| 192 | +} from "@/api/dict"; | ||
| 193 | + | ||
| 194 | +import requestRemote from '@/utils/requestRemote' | ||
| 195 | + | ||
| 196 | +import pagination from '../Pagination'; | ||
| 197 | +export default { | ||
| 198 | + name: "EarthSitesCredit", | ||
| 199 | + components: {pagination}, | ||
| 200 | + data() { | ||
| 201 | + return { | ||
| 202 | + // 遮罩层 | ||
| 203 | + loading: true, | ||
| 204 | + // 选中数组 | ||
| 205 | + ids: [], | ||
| 206 | + // 非单个禁用 | ||
| 207 | + single: true, | ||
| 208 | + // 非多个禁用 | ||
| 209 | + multiple: true, | ||
| 210 | + // 显示搜索条件 | ||
| 211 | + showSearch: true, | ||
| 212 | + infoDialog :false, | ||
| 213 | + // 总条数 | ||
| 214 | + total: 0, | ||
| 215 | + // 工地表格数据 | ||
| 216 | + creditList: [], | ||
| 217 | + creditListInfo: [], | ||
| 218 | + earthsitesList:[], | ||
| 219 | + dictNames:[], | ||
| 220 | + dictTypes:[], | ||
| 221 | + dictPlaces:[], | ||
| 222 | + names:[], | ||
| 223 | + // 弹出层标题 | ||
| 224 | + title: "", | ||
| 225 | + // 是否显示弹出层 | ||
| 226 | + open: false, | ||
| 227 | + isEdit:false, | ||
| 228 | + // 查询参数 | ||
| 229 | + queryParams: { | ||
| 230 | + pageNum: 1, | ||
| 231 | + pageSize: 10, | ||
| 232 | + name: null, | ||
| 233 | + type: null, | ||
| 234 | + time: null, | ||
| 235 | + place: null, | ||
| 236 | + reason: null, | ||
| 237 | + status: 0, | ||
| 238 | + lostCredit: 1 | ||
| 239 | + }, | ||
| 240 | + // 表单参数 | ||
| 241 | + form: {}, | ||
| 242 | + updateForm:{}, | ||
| 243 | + // 表单校验 | ||
| 244 | + rules: {name: [ | ||
| 245 | + { required: true, message: '请选择消纳场', trigger: 'change' }, | ||
| 246 | + ],reason: [ | ||
| 247 | + { required: true, message: '请填写原因', trigger: 'change' }, | ||
| 248 | + ]} | ||
| 249 | + }; | ||
| 250 | + }, | ||
| 251 | + created() { | ||
| 252 | + this.init(); | ||
| 253 | + }, | ||
| 254 | + methods: { | ||
| 255 | + init(){ | ||
| 256 | + this.resetQuery(); | ||
| 257 | + this.reset(); | ||
| 258 | + this.getList(); | ||
| 259 | + this.getNamesData(); | ||
| 260 | + this.getTypesData(); | ||
| 261 | + this.getPlacesData(); | ||
| 262 | + | ||
| 263 | + let query = { | ||
| 264 | + 'page': 1, | ||
| 265 | + 'size': 9999, | ||
| 266 | + 'creditStatus': 0 | ||
| 267 | + }; | ||
| 268 | + earthsitesList(query).then(response => { | ||
| 269 | + this.earthsitesList = response.result.list | ||
| 270 | + }); | ||
| 271 | + }, | ||
| 272 | + getDataInfo(row){ | ||
| 273 | + let param ={"objectId":row.objectId} | ||
| 274 | + listCredit(param).then(response => { | ||
| 275 | + this.creditListInfo = response.rows; | ||
| 276 | + this.infoDialog = true; | ||
| 277 | + }); | ||
| 278 | + | ||
| 279 | + }, | ||
| 280 | + getNamesData(){ | ||
| 281 | + getNames(this.queryParams).then(response => { | ||
| 282 | + this.dictNames = response; | ||
| 283 | + }); | ||
| 284 | + }, | ||
| 285 | + getTypesData() { | ||
| 286 | + getTypes(this.queryParams).then(response => { | ||
| 287 | + this.dictTypes = response; | ||
| 288 | + }); | ||
| 289 | + }, | ||
| 290 | + getPlacesData() { | ||
| 291 | + getPlaces(this.queryParams).then(response => { | ||
| 292 | + this.dictPlaces = response; | ||
| 293 | + }); | ||
| 294 | + }, | ||
| 295 | + getData(stauts){ | ||
| 296 | + this.queryParams.status=0; | ||
| 297 | + this.queryParams.lostCredit=stauts; | ||
| 298 | + this.init(); | ||
| 299 | + }, | ||
| 300 | + getHistoryData(){ | ||
| 301 | + this.queryParams.status=1; | ||
| 302 | + this.init(); | ||
| 303 | + }, | ||
| 304 | + colStyle(obj){ | ||
| 305 | + if(obj.column.property == "id"){ | ||
| 306 | + return {background:"#f8f8f9"} | ||
| 307 | + } | ||
| 308 | + }, | ||
| 309 | + getObjId(a){ | ||
| 310 | + this.form.objectId = a.id; | ||
| 311 | + this.form.place = a.areaName; | ||
| 312 | + this.form.type = a.typeName; | ||
| 313 | + }, | ||
| 314 | + getList() { | ||
| 315 | + this.loading = true; | ||
| 316 | + if(this.queryParams.status==0){ | ||
| 317 | + listCredit(this.queryParams).then(response => { | ||
| 318 | + this.creditList = response.rows; | ||
| 319 | + this.total = response.total; | ||
| 320 | + this.loading = false; | ||
| 321 | + }); | ||
| 322 | + } | ||
| 323 | + if(this.queryParams.status==1){ | ||
| 324 | + historyCredit(this.queryParams).then(response => { | ||
| 325 | + this.creditList = response.rows; | ||
| 326 | + this.total = response.total; | ||
| 327 | + this.loading = false; | ||
| 328 | + }); | ||
| 329 | + } | ||
| 330 | + | ||
| 331 | + }, | ||
| 332 | + // 取消按钮 | ||
| 333 | + cancel() { | ||
| 334 | + this.open = false; | ||
| 335 | + this.isEdit = false; | ||
| 336 | + this.reset(); | ||
| 337 | + }, | ||
| 338 | + // 表单重置 | ||
| 339 | + reset() { | ||
| 340 | + this.form = { | ||
| 341 | + id: null, | ||
| 342 | + name: null, | ||
| 343 | + type: null, | ||
| 344 | + time: null, | ||
| 345 | + place: null, | ||
| 346 | + reason: null, | ||
| 347 | + lostCredit: null, | ||
| 348 | + objectId: null, | ||
| 349 | + }; | ||
| 350 | + this.updateForm = {}; | ||
| 351 | + this.resetForm("form"); | ||
| 352 | + }, | ||
| 353 | + /** 搜索按钮操作 */ | ||
| 354 | + handleQuery() { | ||
| 355 | + this.queryParams.pageNum = 1; | ||
| 356 | + this.getList(); | ||
| 357 | + }, | ||
| 358 | + /** 重置按钮操作 */ | ||
| 359 | + resetQuery() { | ||
| 360 | + this.resetForm("queryForm"); | ||
| 361 | + console.log(this.queryParams); | ||
| 362 | + this.handleQuery(); | ||
| 363 | + }, | ||
| 364 | + // 多选框选中数据 | ||
| 365 | + handleSelectionChange(selection) { | ||
| 366 | + this.ids = selection.map(item => item.id) | ||
| 367 | + this.single = selection.length !== 1 | ||
| 368 | + this.multiple = !selection.length | ||
| 369 | + }, | ||
| 370 | + /** 新增按钮操作 */ | ||
| 371 | + handleAdd() { | ||
| 372 | + this.reset(); | ||
| 373 | + this.open = true; | ||
| 374 | + this.title = "添加消纳场"; | ||
| 375 | + }, | ||
| 376 | + /** 修改按钮操作 */ | ||
| 377 | + handleUpdate(row) { | ||
| 378 | + this.reset(); | ||
| 379 | + const id = row.id || this.ids | ||
| 380 | + getCredit(id).then(response => { | ||
| 381 | + this.form = response.data; | ||
| 382 | + this.isEdit = true; | ||
| 383 | + }); | ||
| 384 | + }, | ||
| 385 | + /** 提交按钮 */ | ||
| 386 | + submitForm() { | ||
| 387 | + if(this.open){ | ||
| 388 | + this.updateForm.reason = "1"; | ||
| 389 | + } | ||
| 390 | + | ||
| 391 | + this.$refs["form"].validate(valid => { | ||
| 392 | + if (valid) { | ||
| 393 | + this.loading = true; | ||
| 394 | + if (this.form.id != null) { | ||
| 395 | + this.form.lostCredit = 0; | ||
| 396 | + let data = [{creditStatus:this.form.lostCredit,objectId:this.form.objectId}]; | ||
| 397 | + updateEarthsites(data).then(res=>{ | ||
| 398 | + this.updateForm.id = this.form.id; | ||
| 399 | + updateCredit(this.updateForm).then(response => { | ||
| 400 | + this.msgSuccess("撤销成功"); | ||
| 401 | + this.isEdit = false; | ||
| 402 | + | ||
| 403 | + this.init(); | ||
| 404 | + }); | ||
| 405 | + }); | ||
| 406 | + } else { | ||
| 407 | + this.form.lostCredit = 1; | ||
| 408 | + let data = [{creditStatus:this.form.lostCredit,objectId:this.form.objectId}]; | ||
| 409 | + updateEarthsites(data).then(res=>{ | ||
| 410 | + addCredit(this.form).then(response => { | ||
| 411 | + this.msgSuccess("新增成功"); | ||
| 412 | + this.open = false; | ||
| 413 | + | ||
| 414 | + this.init(); | ||
| 415 | + }); | ||
| 416 | + }); | ||
| 417 | + | ||
| 418 | + } | ||
| 419 | + } | ||
| 420 | + }); | ||
| 421 | + }, | ||
| 422 | + handleExport() { | ||
| 423 | + const queryParams = this.queryParams; | ||
| 424 | + this.$confirm('是否确认导出所有消纳场数据项?', "警告", { | ||
| 425 | + confirmButtonText: "确定", | ||
| 426 | + cancelButtonText: "取消", | ||
| 427 | + type: "warning" | ||
| 428 | + }).then(function() { | ||
| 429 | + return exportCredit(queryParams); | ||
| 430 | + }).then(response => { | ||
| 431 | + this.download(response.message); | ||
| 432 | + }) | ||
| 433 | + } | ||
| 434 | + } | ||
| 435 | +}; | ||
| 436 | +</script> |
trash-ui/src/views/h5/Pagination/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div :class="{'hidden':hidden}" class="pagination-container"> | ||
| 3 | + <el-pagination | ||
| 4 | + :background="background" | ||
| 5 | + :current-page.sync="currentPage" | ||
| 6 | + :page-size.sync="pageSize" | ||
| 7 | + :layout="layout" | ||
| 8 | + :page-sizes="pageSizes" | ||
| 9 | + :total="total" | ||
| 10 | + v-bind="$attrs" | ||
| 11 | + @size-change="handleSizeChange" | ||
| 12 | + @current-change="handleCurrentChange" | ||
| 13 | + /> | ||
| 14 | + </div> | ||
| 15 | +</template> | ||
| 16 | + | ||
| 17 | +<script> | ||
| 18 | +import { scrollTo } from '@/utils/scroll-to' | ||
| 19 | + | ||
| 20 | +export default { | ||
| 21 | + name: 'Pagination', | ||
| 22 | + props: { | ||
| 23 | + total: { | ||
| 24 | + required: true, | ||
| 25 | + type: Number | ||
| 26 | + }, | ||
| 27 | + page: { | ||
| 28 | + type: Number, | ||
| 29 | + default: 1 | ||
| 30 | + }, | ||
| 31 | + limit: { | ||
| 32 | + type: Number, | ||
| 33 | + default: 20 | ||
| 34 | + }, | ||
| 35 | + pageSizes: { | ||
| 36 | + type: Array, | ||
| 37 | + default() { | ||
| 38 | + return [10, 20, 30, 50] | ||
| 39 | + } | ||
| 40 | + }, | ||
| 41 | + layout: { | ||
| 42 | + type: String, | ||
| 43 | + default: 'prev, pager, next' | ||
| 44 | + }, | ||
| 45 | + background: { | ||
| 46 | + type: Boolean, | ||
| 47 | + default: true | ||
| 48 | + }, | ||
| 49 | + autoScroll: { | ||
| 50 | + type: Boolean, | ||
| 51 | + default: true | ||
| 52 | + }, | ||
| 53 | + hidden: { | ||
| 54 | + type: Boolean, | ||
| 55 | + default: false | ||
| 56 | + } | ||
| 57 | + }, | ||
| 58 | + computed: { | ||
| 59 | + currentPage: { | ||
| 60 | + get() { | ||
| 61 | + return this.page | ||
| 62 | + }, | ||
| 63 | + set(val) { | ||
| 64 | + this.$emit('update:page', val) | ||
| 65 | + } | ||
| 66 | + }, | ||
| 67 | + pageSize: { | ||
| 68 | + get() { | ||
| 69 | + return this.limit | ||
| 70 | + }, | ||
| 71 | + set(val) { | ||
| 72 | + this.$emit('update:limit', val) | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + }, | ||
| 76 | + methods: { | ||
| 77 | + handleSizeChange(val) { | ||
| 78 | + this.$emit('pagination', { page: this.currentPage, limit: val }) | ||
| 79 | + if (this.autoScroll) { | ||
| 80 | + scrollTo(0, 800) | ||
| 81 | + } | ||
| 82 | + }, | ||
| 83 | + handleCurrentChange(val) { | ||
| 84 | + this.$emit('pagination', { page: val, limit: this.pageSize }) | ||
| 85 | + if (this.autoScroll) { | ||
| 86 | + scrollTo(0, 800) | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | +} | ||
| 91 | +</script> | ||
| 92 | + | ||
| 93 | +<style scoped> | ||
| 94 | +.pagination-container { | ||
| 95 | + background: #fff; | ||
| 96 | + padding: 32px 16px; | ||
| 97 | +} | ||
| 98 | +.pagination-container.hidden { | ||
| 99 | + display: none; | ||
| 100 | +} | ||
| 101 | +</style> |
trash-ui/src/views/h5/TruckCredit/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.status==0}" size="mini" | ||
| 6 | + @click="getData(1);">失信车辆</el-button> | ||
| 7 | + </el-col> | ||
| 8 | + <el-col :span="1.5"> | ||
| 9 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.status==1}" size="mini" | ||
| 10 | + @click="getHistoryData(1);">历史失信车辆</el-button> | ||
| 11 | + </el-col> | ||
| 12 | + </el-row> | ||
| 13 | + | ||
| 14 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> | ||
| 15 | + <el-form-item label="车牌号码" prop="licensePlate"> | ||
| 16 | + <el-select v-model="queryParams.licensePlate" filterable reserve-keyword placeholder="车牌号码" | ||
| 17 | + size="small" :loading="loading"> | ||
| 18 | + <el-option v-for="item in dictNames" :label="item" :value="item"> | ||
| 19 | + </el-option> | ||
| 20 | + </el-select> | ||
| 21 | + </el-form-item> | ||
| 22 | + <el-form-item label="运输企业" prop="companyId"> | ||
| 23 | + <el-select v-model="queryParams.companyId" filterable reserve-keyword placeholder="运输企业" | ||
| 24 | + size="small" :loading="loading"> | ||
| 25 | + <el-option v-for="item in dictCompanys" :label="item" :value="item"> | ||
| 26 | + </el-option> | ||
| 27 | + </el-select> | ||
| 28 | + </el-form-item> | ||
| 29 | + <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0"> | ||
| 30 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date" | ||
| 31 | + value-format="yyyy-MM-dd" placeholder="失信日期"> | ||
| 32 | + </el-date-picker> | ||
| 33 | + </el-form-item> | ||
| 34 | + </el-row> | ||
| 35 | + | ||
| 36 | + </el-form> | ||
| 37 | + | ||
| 38 | + <el-row :gutter="10" class="mb8"> | ||
| 39 | + <el-col :span="1.5"> | ||
| 40 | + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['truck:credit:add']" | ||
| 41 | + v-if="queryParams.status==0">新增</el-button> | ||
| 42 | + </el-col> | ||
| 43 | + <el-col :span="1.5"> | ||
| 44 | + <el-button size="mini" @click="handleExport" v-hasPermi="['truck:credit:export']">导出</el-button> | ||
| 45 | + </el-col> | ||
| 46 | + <el-col :span="1.5"> | ||
| 47 | + <el-button type="primary" size="mini" @click="handleQuery">查询</el-button> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="1.5"> | ||
| 50 | + <el-button size="mini" @click="resetQuery">重置</el-button> | ||
| 51 | + </el-col> | ||
| 52 | + </el-row> | ||
| 53 | + | ||
| 54 | + <el-card class="box-card" v-for="item in creditList" style="margin-bottom: 10px;"> | ||
| 55 | + <el-row class="card_row"> | ||
| 56 | + <el-col :span="24" class="card_grid"> | ||
| 57 | + <div class="card_title" style="font-weight: bold;">运输企业:{{ item.companyId }}</div> | ||
| 58 | + </el-col> | ||
| 59 | + </el-row> | ||
| 60 | + | ||
| 61 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 62 | + <el-col :span="24"> | ||
| 63 | + <span >车牌号码:{{ item.licensePlate }}</span> | ||
| 64 | + </el-col> | ||
| 65 | + </el-row> | ||
| 66 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 67 | + <el-col :span="24"> | ||
| 68 | + <span >失信时间:{{ item.time }}</span> | ||
| 69 | + </el-col> | ||
| 70 | + </el-row> | ||
| 71 | + | ||
| 72 | + <el-row class="card_row"> | ||
| 73 | + <el-col :span="24"> | ||
| 74 | + <span >失信原因:{{item.reason}}</span> | ||
| 75 | + </el-col> | ||
| 76 | + </el-row> | ||
| 77 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button> | ||
| 78 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(item)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==1">查看</el-button> | ||
| 79 | + </el-card> | ||
| 80 | + | ||
| 81 | + | ||
| 82 | + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | ||
| 83 | + @pagination="getList" /> | ||
| 84 | + | ||
| 85 | + <!-- 添加或修改工地对话框 --> | ||
| 86 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body v-loading="loading"> | ||
| 87 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="open"> | ||
| 88 | + <el-form-item label="运输企业" prop="companyId"> | ||
| 89 | + <el-select v-model="form.companyId" filterable reserve-keyword placeholder="运输企业"> | ||
| 90 | + <el-option v-for="item in companyList" @click.native="form.licensePlate=null;" :key="item.name" :label="item.name" :value="item.name"> | ||
| 91 | + </el-option> | ||
| 92 | + </el-select> | ||
| 93 | + </el-form-item> | ||
| 94 | + <el-form-item label="车牌号码" prop="licensePlate"> | ||
| 95 | + <el-select v-model="form.licensePlate" filterable reserve-keyword placeholder="车牌号码"> | ||
| 96 | + <el-option @click.native="getObjId(item)" v-for="item in truckList" :key="item.id" :label="item.licenseplateNo" :value="item.licenseplateNo" v-if="!form.companyId || form.companyId==item.companyName"> | ||
| 97 | + </el-option> | ||
| 98 | + </el-select> | ||
| 99 | + </el-form-item> | ||
| 100 | + <el-form-item label="失信原因" prop="reason"> | ||
| 101 | + <el-input v-model="form.reason" placeholder="失信原因" /> | ||
| 102 | + </el-form-item> | ||
| 103 | + <el-input v-model="form.lostCredit" value="1" type="hidden" /> | ||
| 104 | + <el-input v-model="form.objectId" type="hidden" /> | ||
| 105 | + </el-form> | ||
| 106 | + <div slot="footer" class="dialog-footer"> | ||
| 107 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 108 | + <el-button @click="cancel">退出</el-button> | ||
| 109 | + </div> | ||
| 110 | + </el-dialog> | ||
| 111 | + | ||
| 112 | + | ||
| 113 | + <el-dialog title="撤销失信" :visible.sync="isEdit" width="300px" append-to-body v-loading="loading"> | ||
| 114 | + <el-form ref="updateForm" :model="updateForm" :rules="rules2" label-width="80px" v-if="isEdit"> | ||
| 115 | + <el-form-item label="情况说明" prop="reason"> | ||
| 116 | + <el-input v-model="updateForm.reason" type="textarea" maxlength="200" show-word-limit /> | ||
| 117 | + </el-form-item> | ||
| 118 | + </el-form> | ||
| 119 | + <div slot="footer" class="dialog-footer"> | ||
| 120 | + <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 121 | + <el-button @click="cancel">退出</el-button> | ||
| 122 | + </div> | ||
| 123 | + </el-dialog> | ||
| 124 | + | ||
| 125 | + <el-dialog title="历史失信" :visible.sync="infoDialog" width="300px" append-to-body center="true"> | ||
| 126 | + <el-table v-loading="loading" :data="creditListInfo" :cell-style="colStyle" border> | ||
| 127 | + <el-table-column label="序号" align="center" type="index" /> | ||
| 128 | + <el-table-column label="失信时间" align="center" prop="time" width="100" > | ||
| 129 | + </el-table-column> | ||
| 130 | + <el-table-column label="情况说明" align="center" prop="reason" /> | ||
| 131 | + <el-table-column label="操作历史" align="center" prop="lostCredit"> | ||
| 132 | + <template slot-scope="scope"> | ||
| 133 | + <span>{{ scope.row.lostCredit== 0 ? "撤销失信" : scope.row.lostCredit == 1 ? "失信" : "保密" }}</span> | ||
| 134 | + </template> | ||
| 135 | + </el-table-column> | ||
| 136 | + </el-table> | ||
| 137 | + </el-dialog> | ||
| 138 | + </div> | ||
| 139 | +</template> | ||
| 140 | + | ||
| 141 | +<script> | ||
| 142 | + import { | ||
| 143 | + listCredit, | ||
| 144 | + getCredit, | ||
| 145 | + delCredit, | ||
| 146 | + addCredit, | ||
| 147 | + updateCredit, | ||
| 148 | + exportCredit, | ||
| 149 | + getNames, | ||
| 150 | + getCompanys, | ||
| 151 | + historyCredit | ||
| 152 | + } from "@/api/business/truck"; | ||
| 153 | + | ||
| 154 | + | ||
| 155 | + import { | ||
| 156 | + companyList, | ||
| 157 | + truckList, | ||
| 158 | + updateTruck | ||
| 159 | + } from "@/api/dict"; | ||
| 160 | + | ||
| 161 | + export default { | ||
| 162 | + name: "Credit", | ||
| 163 | + data() { | ||
| 164 | + return { | ||
| 165 | + // 遮罩层 | ||
| 166 | + loading: true, | ||
| 167 | + // 选中数组 | ||
| 168 | + ids: [], | ||
| 169 | + // 非单个禁用 | ||
| 170 | + single: true, | ||
| 171 | + // 非多个禁用 | ||
| 172 | + multiple: true, | ||
| 173 | + // 显示搜索条件 | ||
| 174 | + showSearch: true, | ||
| 175 | + infoDialog: false, | ||
| 176 | + // 总条数 | ||
| 177 | + total: 0, | ||
| 178 | + // 工地表格数据 | ||
| 179 | + creditList: [], | ||
| 180 | + creditListInfo: [], | ||
| 181 | + dictNames: [], | ||
| 182 | + dictCompanys: [], | ||
| 183 | + companyList:[], | ||
| 184 | + truckList: [], | ||
| 185 | + // 弹出层标题 | ||
| 186 | + title: "", | ||
| 187 | + // 是否显示弹出层 | ||
| 188 | + open: false, | ||
| 189 | + isEdit: false, | ||
| 190 | + // 查询参数 | ||
| 191 | + queryParams: { | ||
| 192 | + pageNum: 1, | ||
| 193 | + pageSize: 10, | ||
| 194 | + companyId: null, | ||
| 195 | + licensePlate: null, | ||
| 196 | + time: null, | ||
| 197 | + reason: null, | ||
| 198 | + status: 0, | ||
| 199 | + lostCredit: 1 | ||
| 200 | + }, | ||
| 201 | + // 表单参数 | ||
| 202 | + form: {}, | ||
| 203 | + updateForm: {}, | ||
| 204 | + // 表单校验 | ||
| 205 | + rules: { | ||
| 206 | + companyId: [{ | ||
| 207 | + required: true, | ||
| 208 | + message: '请选择运输公司', | ||
| 209 | + trigger: 'change' | ||
| 210 | + }, ], | ||
| 211 | + reason: [{ | ||
| 212 | + required: true, | ||
| 213 | + message: '请填写原因', | ||
| 214 | + trigger: 'change' | ||
| 215 | + }, ], | ||
| 216 | + licensePlate: [{ | ||
| 217 | + required: true, | ||
| 218 | + message: '请选择车辆', | ||
| 219 | + trigger: 'change' | ||
| 220 | + }], | ||
| 221 | + }, | ||
| 222 | + rules2: { | ||
| 223 | + reason: [{ | ||
| 224 | + required: true, | ||
| 225 | + message: '请填写原因', | ||
| 226 | + trigger: 'change' | ||
| 227 | + }, ], | ||
| 228 | + } | ||
| 229 | + }; | ||
| 230 | + }, | ||
| 231 | + created() { | ||
| 232 | + this.init(); | ||
| 233 | + }, | ||
| 234 | + methods: { | ||
| 235 | + | ||
| 236 | + init() { | ||
| 237 | + this.resetQuery(); | ||
| 238 | + this.getList(); | ||
| 239 | + getNames(this.queryParams).then(response => { | ||
| 240 | + this.dictNames = response; | ||
| 241 | + }); | ||
| 242 | + | ||
| 243 | + getCompanys(this.queryParams).then(response => { | ||
| 244 | + this.dictCompanys = response; | ||
| 245 | + }); | ||
| 246 | + | ||
| 247 | + let query = { | ||
| 248 | + 'page':1, | ||
| 249 | + 'size':9999, | ||
| 250 | + 'dishonestState':0 | ||
| 251 | + } | ||
| 252 | + companyList(query).then(response => { | ||
| 253 | + | ||
| 254 | + let companys = response.result.list; | ||
| 255 | + this.companyList = companys; | ||
| 256 | + let ids = []; | ||
| 257 | + | ||
| 258 | + for(let i = 0 ;i<companys.length;i++){ | ||
| 259 | + ids.push(companys[i].id); | ||
| 260 | + } | ||
| 261 | + query.companyID = ids + ""; | ||
| 262 | + query.valid = 0; | ||
| 263 | + | ||
| 264 | + truckList(query).then(res=>{ | ||
| 265 | + this.truckList = res.result.list; | ||
| 266 | + }); | ||
| 267 | + | ||
| 268 | + }); | ||
| 269 | + | ||
| 270 | + | ||
| 271 | + }, | ||
| 272 | + getDataInfo(row) { | ||
| 273 | + console.log(row); | ||
| 274 | + | ||
| 275 | + let param = { | ||
| 276 | + "objectId": row.objectId | ||
| 277 | + } | ||
| 278 | + | ||
| 279 | + listCredit(param).then(response => { | ||
| 280 | + this.creditListInfo = response.rows; | ||
| 281 | + this.infoDialog = true; | ||
| 282 | + }); | ||
| 283 | + | ||
| 284 | + }, | ||
| 285 | + getData(stauts) { | ||
| 286 | + this.queryParams.status = 0; | ||
| 287 | + this.queryParams.lostCredit = stauts; | ||
| 288 | + this.init(); | ||
| 289 | + }, | ||
| 290 | + getHistoryData() { | ||
| 291 | + this.queryParams.status = 1; | ||
| 292 | + this.init(); | ||
| 293 | + }, | ||
| 294 | + colStyle(obj) { | ||
| 295 | + if (obj.column.property == "id") { | ||
| 296 | + return { | ||
| 297 | + background: "#f8f8f9" | ||
| 298 | + } | ||
| 299 | + } | ||
| 300 | + }, | ||
| 301 | + getObjId(a) { | ||
| 302 | + this.form.companyId = a.companyName; | ||
| 303 | + this.form.objectId = a.id; | ||
| 304 | + }, | ||
| 305 | + getList() { | ||
| 306 | + this.loading = true; | ||
| 307 | + if (this.queryParams.status == 0) { | ||
| 308 | + listCredit(this.queryParams).then(response => { | ||
| 309 | + this.creditList = response.rows; | ||
| 310 | + this.total = response.total; | ||
| 311 | + this.loading = false; | ||
| 312 | + }); | ||
| 313 | + } | ||
| 314 | + if (this.queryParams.status == 1) { | ||
| 315 | + historyCredit(this.queryParams).then(response => { | ||
| 316 | + this.creditList = response.rows; | ||
| 317 | + this.total = response.total; | ||
| 318 | + this.loading = false; | ||
| 319 | + }); | ||
| 320 | + } | ||
| 321 | + | ||
| 322 | + }, | ||
| 323 | + // 取消按钮 | ||
| 324 | + cancel() { | ||
| 325 | + this.open = false; | ||
| 326 | + this.isEdit = false; | ||
| 327 | + this.reset(); | ||
| 328 | + }, | ||
| 329 | + // 表单重置 | ||
| 330 | + reset() { | ||
| 331 | + this.form = { | ||
| 332 | + id: null, | ||
| 333 | + companyId: null, | ||
| 334 | + licensePlate: null, | ||
| 335 | + time: null, | ||
| 336 | + reason: null, | ||
| 337 | + status: null, | ||
| 338 | + lostCredit: null | ||
| 339 | + }; | ||
| 340 | + this.resetForm("form"); | ||
| 341 | + }, | ||
| 342 | + /** 搜索按钮操作 */ | ||
| 343 | + handleQuery() { | ||
| 344 | + this.queryParams.pageNum = 1; | ||
| 345 | + this.getList(); | ||
| 346 | + }, | ||
| 347 | + /** 重置按钮操作 */ | ||
| 348 | + resetQuery() { | ||
| 349 | + this.resetForm("queryForm"); | ||
| 350 | + console.log(this.queryParams); | ||
| 351 | + this.handleQuery(); | ||
| 352 | + }, | ||
| 353 | + // 多选框选中数据 | ||
| 354 | + handleSelectionChange(selection) { | ||
| 355 | + this.ids = selection.map(item => item.id) | ||
| 356 | + this.single = selection.length !== 1 | ||
| 357 | + this.multiple = !selection.length | ||
| 358 | + }, | ||
| 359 | + /** 新增按钮操作 */ | ||
| 360 | + handleAdd() { | ||
| 361 | + this.reset(); | ||
| 362 | + this.open = true; | ||
| 363 | + this.title = "车辆失信录入"; | ||
| 364 | + }, | ||
| 365 | + /** 修改按钮操作 */ | ||
| 366 | + handleUpdate(row) { | ||
| 367 | + this.reset(); | ||
| 368 | + const id = row.id || this.ids | ||
| 369 | + getCredit(id).then(response => { | ||
| 370 | + this.form = response.data; | ||
| 371 | + this.isEdit = true; | ||
| 372 | + }); | ||
| 373 | + }, | ||
| 374 | + /** 提交按钮 */ | ||
| 375 | + submitForm() { | ||
| 376 | + if(this.isEdit){ | ||
| 377 | + this.$refs["updateForm"].validate(valid => { | ||
| 378 | + if (valid) { | ||
| 379 | + this.loading = true; | ||
| 380 | + this.form.lostCredit = 0; | ||
| 381 | + this.updateForm.id = this.form.id; | ||
| 382 | + let data = [{creditStatus:this.form.lostCredit,id:this.form.objectId}]; | ||
| 383 | + updateTruck(data).then(res=>{ | ||
| 384 | + updateCredit(this.updateForm).then(response => { | ||
| 385 | + this.msgSuccess("撤销成功"); | ||
| 386 | + this.isEdit = false; | ||
| 387 | + this.updateForm = {}; | ||
| 388 | + this.init(); | ||
| 389 | + }); | ||
| 390 | + }); | ||
| 391 | + } | ||
| 392 | + }); | ||
| 393 | + }else{ | ||
| 394 | + this.$refs["form"].validate(valid => { | ||
| 395 | + if (valid) { | ||
| 396 | + this.loading = true; | ||
| 397 | + this.form.lostCredit = 1; | ||
| 398 | + this.form.createType = 0; | ||
| 399 | + let data = [{creditStatus:this.form.lostCredit,id:this.form.objectId}]; | ||
| 400 | + updateTruck(data).then(res=>{ | ||
| 401 | + addCredit(this.form).then(response => { | ||
| 402 | + this.msgSuccess("新增成功"); | ||
| 403 | + this.open = false; | ||
| 404 | + this.init(); | ||
| 405 | + }); | ||
| 406 | + }); | ||
| 407 | + } | ||
| 408 | + }); | ||
| 409 | + } | ||
| 410 | + }, | ||
| 411 | + handleExport() { | ||
| 412 | + const queryParams = this.queryParams; | ||
| 413 | + this.$confirm('是否确认导出所有车辆数据项?', "警告", { | ||
| 414 | + confirmButtonText: "确定", | ||
| 415 | + cancelButtonText: "取消", | ||
| 416 | + type: "warning" | ||
| 417 | + }).then(function() { | ||
| 418 | + return exportCredit(queryParams); | ||
| 419 | + }).then(response => { | ||
| 420 | + this.download(response.message); | ||
| 421 | + }) | ||
| 422 | + } | ||
| 423 | + } | ||
| 424 | + }; | ||
| 425 | +</script> |
trash-ui/src/views/h5/caseOffline/caseOfflineInfo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + | ||
| 3 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 4 | + <el-form-item label="案卷类型" prop="type"> | ||
| 5 | + <el-input v-model="form.type" type="textarea" :rows="3" disabled /> | ||
| 6 | + </el-form-item> | ||
| 7 | + <el-form-item label="所属区域" prop="place"> | ||
| 8 | + <el-select v-model="form.place" placeholder="请输入所属区域" size="small" disabled> | ||
| 9 | + <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 10 | + </el-select> | ||
| 11 | + </el-form-item> | ||
| 12 | + <el-form-item label="类型" prop="siteType"> | ||
| 13 | + <el-select v-model="form.siteType" placeholder="请选择类型" disabled> | ||
| 14 | + <el-option label="工地" value="0" /> | ||
| 15 | + <el-option label="消纳场" value="1" /> | ||
| 16 | + </el-select> | ||
| 17 | + </el-form-item> | ||
| 18 | + <el-form-item :label="form.siteType==0?'工地名称':'消纳场名称'" prop="siteName"> | ||
| 19 | + <el-select v-model="form.siteName" placeholder="请选择类型" disabled> | ||
| 20 | + <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)" disabled/> | ||
| 21 | + </el-select> | ||
| 22 | + </el-form-item> | ||
| 23 | + <el-form-item label="问题描述" prop="caseDec"> | ||
| 24 | + <el-input v-model="form.caseDec" type="textarea" maxlength="200" :rows="3" disabled/> | ||
| 25 | + </el-form-item> | ||
| 26 | + <el-form-item label="位置描述" prop="locationDec"> | ||
| 27 | + <el-input v-model="form.locationDec" type="textarea" maxlength="100" :rows="3" disabled/> | ||
| 28 | + </el-form-item> | ||
| 29 | + <el-form-item label="审批意见" prop="advice1"> | ||
| 30 | + <el-input v-model="form.advice1" type="textarea" :rows="3" disabled/> | ||
| 31 | + </el-form-item> | ||
| 32 | + | ||
| 33 | + <el-form-item label="案卷编号" prop="number"> | ||
| 34 | + <el-input v-model="form.number" disabled/> | ||
| 35 | + </el-form-item> | ||
| 36 | + | ||
| 37 | + <el-form-item label="附件" prop="attach"> | ||
| 38 | + <el-input v-model="form.attach" type="hidden"></el-input> | ||
| 39 | + <a @click="downloadFile(img);" style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}}</a> | ||
| 40 | + </el-form-item> | ||
| 41 | + | ||
| 42 | + | ||
| 43 | + <el-table :data="adviceList" v-if="adviceList != null"> | ||
| 44 | + <el-table-column label="用户" width="55" align="center" prop="name"/> | ||
| 45 | + <el-table-column label="审批内容" align="center" prop="text" /> | ||
| 46 | + <el-table-column label="时间" align="center" prop="time" /> | ||
| 47 | + </el-table> | ||
| 48 | + | ||
| 49 | + | ||
| 50 | + </el-form> | ||
| 51 | +</template> | ||
| 52 | + | ||
| 53 | +<script> | ||
| 54 | +import { listCaseOffline, getCaseOffline,getAdviceList } from "@/api/caseOffline/caseOffline"; | ||
| 55 | + import { | ||
| 56 | + getArea, | ||
| 57 | + earthsitesList, | ||
| 58 | + constructionsitesList, | ||
| 59 | + getDict, | ||
| 60 | + | ||
| 61 | + } from "@/api/dict"; | ||
| 62 | + import { | ||
| 63 | + getThreestep, | ||
| 64 | + } from "@/api/business/threestep"; | ||
| 65 | + | ||
| 66 | + | ||
| 67 | + | ||
| 68 | + import { | ||
| 69 | + getToken | ||
| 70 | + } from "@/utils/auth"; | ||
| 71 | +export default { | ||
| 72 | + name: "CaseOffline", | ||
| 73 | + props: { | ||
| 74 | + businessKey: { | ||
| 75 | + type: String | ||
| 76 | + } | ||
| 77 | + }, | ||
| 78 | + data() { | ||
| 79 | + return { | ||
| 80 | + // 遮罩层 | ||
| 81 | + loading: true, | ||
| 82 | + // 选中数组 | ||
| 83 | + ids: [], | ||
| 84 | + // 非单个禁用 | ||
| 85 | + single: true, | ||
| 86 | + // 非多个禁用 | ||
| 87 | + multiple: true, | ||
| 88 | + // 显示搜索条件 | ||
| 89 | + showSearch: true, | ||
| 90 | + // 总条数 | ||
| 91 | + total: 0, | ||
| 92 | + // 线下交办案卷表格数据 | ||
| 93 | + caseOfflineList: [], | ||
| 94 | + // 弹出层标题 | ||
| 95 | + title: "", | ||
| 96 | + // 是否显示弹出层 | ||
| 97 | + open: false, | ||
| 98 | + open2:false, | ||
| 99 | + // 查询参数 | ||
| 100 | + queryParams: { | ||
| 101 | + pageNum: 1, | ||
| 102 | + pageSize: 10, | ||
| 103 | + type: null, | ||
| 104 | + place: null, | ||
| 105 | + createTime: null, | ||
| 106 | + }, | ||
| 107 | + uploadImageDialog:false, | ||
| 108 | + // 表单参数 | ||
| 109 | + form: {}, | ||
| 110 | + // 表单校验 | ||
| 111 | + rules: { | ||
| 112 | + }, | ||
| 113 | + caseType:[ | ||
| 114 | + {code:1,name:"渣土处置工地(含消纳场)的渣土运输车辆出场车身不洁,车轮带泥"}, | ||
| 115 | + {code:2,name:"未洗车出场或者出场清洁不彻底"}, | ||
| 116 | + {code:3,name:"渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"}, | ||
| 117 | + {code:4,name:"非核准车辆进入渣土处置工地运输渣土"}, | ||
| 118 | + {code:5,name:"渣土处置工地未按规定时间开停工"}, | ||
| 119 | + {code:6,name:"渣土处置工地洗车设施等破损、未正常使用及措施不到位的"}, | ||
| 120 | + {code:7,name:"渣土处置工地、消纳场(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"} | ||
| 121 | + ], | ||
| 122 | + areas:null, | ||
| 123 | + fileList:[], | ||
| 124 | + areas: [], | ||
| 125 | + upload: { | ||
| 126 | + // 是否显示弹出层(用户导入) | ||
| 127 | + open: false, | ||
| 128 | + // 弹出层标题(用户导入) | ||
| 129 | + title: "", | ||
| 130 | + // 是否禁用上传 | ||
| 131 | + isUploading: false, | ||
| 132 | + // 设置上传的请求头部 | ||
| 133 | + headers: { | ||
| 134 | + Authorization: "Bearer " + getToken() | ||
| 135 | + }, | ||
| 136 | + // 上传的地址 | ||
| 137 | + url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", | ||
| 138 | + | ||
| 139 | + }, | ||
| 140 | + workflow:"workflow_caseoffline", | ||
| 141 | + data:{}, | ||
| 142 | + adviceList:[], | ||
| 143 | + }; | ||
| 144 | + }, | ||
| 145 | + created() { | ||
| 146 | + this.handleUpdate(); | ||
| 147 | + }, | ||
| 148 | + methods: { | ||
| 149 | + getSite(item){ | ||
| 150 | + this.form.objectId = item.id; | ||
| 151 | + }, | ||
| 152 | + getAreaName(code){ | ||
| 153 | + for(let i =0;i<this.areas.length;i++){ | ||
| 154 | + if(Number(code) == this.areas[i].code){ | ||
| 155 | + return this.areas[i].name; | ||
| 156 | + break; | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | + return code; | ||
| 160 | + }, | ||
| 161 | + getCaseType(type){ | ||
| 162 | + for(let i in this.caseType){ | ||
| 163 | + | ||
| 164 | + | ||
| 165 | + if(this.caseType[i].code==type) | ||
| 166 | + return this.caseType[i].name | ||
| 167 | + } | ||
| 168 | + }, | ||
| 169 | + /** 修改按钮操作 */ | ||
| 170 | + handleUpdate() { | ||
| 171 | + let id; | ||
| 172 | + if(this.businessKey.split(":").length == 2){ | ||
| 173 | + id = this.businessKey.split(":")[1]; | ||
| 174 | + }else{ | ||
| 175 | + id = this.businessKey; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + getCaseOffline(id).then(response => { | ||
| 179 | + this.form = response.data; | ||
| 180 | + if(this.form.attach && this.form.attach != "") | ||
| 181 | + this.form.attach = this.form.attach.split(","); | ||
| 182 | + | ||
| 183 | + this.form.siteType = this.form.siteType + ""; | ||
| 184 | + this.form.type = this.getCaseType(this.form.type); | ||
| 185 | + this.form.place = this.getAreaName(this.form.place); | ||
| 186 | + | ||
| 187 | + getAdviceList(this.workflow+":"+id).then(res=>{ | ||
| 188 | + if(res.data){ | ||
| 189 | + if(res.data.advice1){ | ||
| 190 | + this.adviceList.push({name: res.data.advice1.create_by ,time:res.data.advice1.create_time,text:this.form.advice1}) | ||
| 191 | + } | ||
| 192 | + if(res.data.advice2){ | ||
| 193 | + this.adviceList.push({name: res.data.advice2.create_by ,time:res.data.advice2.create_time,text:this.form.advice2}) | ||
| 194 | + } | ||
| 195 | + if(res.data.advice3){ | ||
| 196 | + this.adviceList.push({name: res.data.advice3.create_by ,time:res.data.advice3.create_time,text:this.form.advice3}) | ||
| 197 | + } | ||
| 198 | + if(res.data.advice4){ | ||
| 199 | + this.adviceList.push({name: res.data.advice4.create_by ,time:res.data.advice4.create_time,text:this.form.advice4}) | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + } | ||
| 203 | + }); | ||
| 204 | + | ||
| 205 | + | ||
| 206 | + this.open2 = true; | ||
| 207 | + }); | ||
| 208 | + | ||
| 209 | + | ||
| 210 | + }, | ||
| 211 | + } | ||
| 212 | +}; | ||
| 213 | +</script> |
trash-ui/src/views/h5/caseOffline/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | ||
| 4 | + <el-form-item label="案卷类型" prop="type"> | ||
| 5 | + <el-select v-model="queryParams.type" placeholder="请选择案卷类型" size="small"> | ||
| 6 | + <el-option v-for="item in caseType" :label="item.name" :value="item.code" /> | ||
| 7 | + </el-select> | ||
| 8 | + </el-form-item> | ||
| 9 | + <el-form-item label="所属区域" prop="place"> | ||
| 10 | + <el-select v-model="queryParams.place" placeholder="请选择案卷类型" size="small"> | ||
| 11 | + <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 12 | + </el-select> | ||
| 13 | + </el-form-item> | ||
| 14 | + <el-form-item label="时间" prop="createTime"> | ||
| 15 | + <el-date-picker size="small" style="width: 200px" | ||
| 16 | + v-model="queryParams.createTime" | ||
| 17 | + type="date" | ||
| 18 | + value-format="yyyy-MM-dd" | ||
| 19 | + placeholder="选择时间"> | ||
| 20 | + </el-date-picker> | ||
| 21 | + </el-form-item> | ||
| 22 | + <el-form-item> | ||
| 23 | + <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 24 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 25 | + </el-form-item> | ||
| 26 | + </el-form> | ||
| 27 | + | ||
| 28 | + <el-row :gutter="10" class="mb8"> | ||
| 29 | + <el-col :span="1.5"> | ||
| 30 | + <el-button | ||
| 31 | + type="primary" | ||
| 32 | + icon="el-icon-plus" | ||
| 33 | + size="mini" | ||
| 34 | + @click="handleAdd" | ||
| 35 | + v-hasPermi="['caseOffline:caseOffline:add']" | ||
| 36 | + >新增</el-button> | ||
| 37 | + </el-col> | ||
| 38 | + <el-col :span="1.5"> | ||
| 39 | + <el-button | ||
| 40 | + type="warning" | ||
| 41 | + icon="el-icon-download" | ||
| 42 | + size="mini" | ||
| 43 | + @click="handleExport" | ||
| 44 | + v-hasPermi="['caseOffline:caseOffline:export']" | ||
| 45 | + >导出</el-button> | ||
| 46 | + </el-col> | ||
| 47 | + </el-row> | ||
| 48 | + | ||
| 49 | + <a @click="handleUpdate(item)" v-for="item in caseOfflineList"> | ||
| 50 | + <el-card class="box-card" style="margin-bottom: 10px;" | ||
| 51 | + > | ||
| 52 | + <el-row class="card_row"> | ||
| 53 | + <el-col :span="24" class="card_grid"> | ||
| 54 | + <div class="card_title" style="font-weight: bold;">案卷编号:{{item.number}}</div> | ||
| 55 | + </el-col> | ||
| 56 | + </el-row> | ||
| 57 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 58 | + <el-col :span="24"> | ||
| 59 | + <span >案卷类型:{{item.type}}</span> | ||
| 60 | + </el-col> | ||
| 61 | + </el-row> | ||
| 62 | + <el-row class="card_row"> | ||
| 63 | + <el-col :span="24" class="card_grid" > | ||
| 64 | + <span >所属区域:{{item.place}}</span> | ||
| 65 | + </el-col> | ||
| 66 | + | ||
| 67 | + </el-row> | ||
| 68 | + <el-row class="card_row"> | ||
| 69 | + <el-col :span="24" class="card_grid" > | ||
| 70 | + <div>时间:{{item.createTime}}</div> | ||
| 71 | + </el-col> | ||
| 72 | + </el-row> | ||
| 73 | + <span>{{item.status == 0 ?"审批中" : (item.status == 2 ?"驳回" :"审批完成")}}</span> | ||
| 74 | + | ||
| 75 | + </el-card> | ||
| 76 | +</a> | ||
| 77 | + | ||
| 78 | + | ||
| 79 | + <pagination | ||
| 80 | + v-show="total>0" | ||
| 81 | + :total="total" | ||
| 82 | + :page.sync="queryParams.pageNum" | ||
| 83 | + :limit.sync="queryParams.pageSize" | ||
| 84 | + @pagination="getList" | ||
| 85 | + /> | ||
| 86 | + | ||
| 87 | + <!-- 添加或修改线下交办案卷对话框 --> | ||
| 88 | + <el-dialog :title="title" :visible.sync="open" width="300px" append-to-body> | ||
| 89 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 90 | + <el-form-item label="案卷类型" prop="type"> | ||
| 91 | + <el-select v-model="form.type" placeholder="请选择案卷类型"> | ||
| 92 | + <el-option v-for="item in caseType" :label="item.name" :value="item.code" /> | ||
| 93 | + </el-select> | ||
| 94 | + </el-form-item> | ||
| 95 | + <el-form-item label="所属区域" prop="place"> | ||
| 96 | + <el-select v-model="form.place" placeholder="请输入所属区域" size="small"> | ||
| 97 | + <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 98 | + </el-select> | ||
| 99 | + </el-form-item> | ||
| 100 | + <el-form-item label="类型" prop="siteType"> | ||
| 101 | + <el-select v-model="form.siteType" placeholder="请选择类型"> | ||
| 102 | + <el-option label="工地" value="0" /> | ||
| 103 | + <el-option label="消纳场" value="1" /> | ||
| 104 | + </el-select> | ||
| 105 | + </el-form-item> | ||
| 106 | + <el-form-item :label="form.siteType==0?'工地名称':'消纳场名称'" prop="siteName"> | ||
| 107 | + <el-select v-model="form.siteName" placeholder="请选择类型"> | ||
| 108 | + <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)"/> | ||
| 109 | + </el-select> | ||
| 110 | + </el-form-item> | ||
| 111 | + <el-form-item label="问题描述" prop="caseDec"> | ||
| 112 | + <el-input v-model="form.caseDec" placeholder="请输入问题描述" type="text" maxlength="200" :rows="3"/> | ||
| 113 | + </el-form-item> | ||
| 114 | + <el-form-item label="位置描述" prop="locationDec"> | ||
| 115 | + <el-input v-model="form.locationDec" placeholder="请输入问题描述" type="text" maxlength="100" :rows="3"/> | ||
| 116 | + </el-form-item> | ||
| 117 | + <el-form-item label="案卷编号" prop="number"> | ||
| 118 | + <el-input v-model="form.number" placeholder="请输入案卷编号" disabled/> | ||
| 119 | + </el-form-item> | ||
| 120 | + | ||
| 121 | + <el-form-item label="附件" prop="attach"> | ||
| 122 | + <a style="color:blue;font-size: 12px;" @click="uploadImageDialog=true;">选择附件</a> | ||
| 123 | + <el-input v-model="form.attach" type="hidden"></el-input> | ||
| 124 | + <a @click="downloadFile(img);" style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}}</a> | ||
| 125 | + </el-form-item> | ||
| 126 | + | ||
| 127 | + </el-form> | ||
| 128 | + <div slot="footer" class="dialog-footer"> | ||
| 129 | + <el-button type="primary" @click="submitForm">确 定</el-button> | ||
| 130 | + <el-button @click="cancel">取 消</el-button> | ||
| 131 | + </div> | ||
| 132 | + </el-dialog> | ||
| 133 | + | ||
| 134 | + | ||
| 135 | + <el-dialog title="查看详情" :visible.sync="open2" width="300px" append-to-body> | ||
| 136 | + <caseOfflineInfo :businessKey="businessKey" v-if="open2" /> | ||
| 137 | + <div slot="footer" class="dialog-footer"> | ||
| 138 | + <el-button @click="cancel">取 消</el-button> | ||
| 139 | + </div> | ||
| 140 | + </el-dialog> | ||
| 141 | + | ||
| 142 | + | ||
| 143 | + <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose" width="300px"> | ||
| 144 | + <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList" | ||
| 145 | + :on-success="uploadSuccess" :before-upload="beforeUpload"> | ||
| 146 | + <el-button size="small" type="primary">选择附件</el-button> | ||
| 147 | + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word文件</div> | ||
| 148 | + </el-upload> | ||
| 149 | + <div style="height: 40px;width:100%;"> | ||
| 150 | + <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button> | ||
| 151 | + </div> | ||
| 152 | + </el-dialog> | ||
| 153 | + </div> | ||
| 154 | +</template> | ||
| 155 | + | ||
| 156 | +<script> | ||
| 157 | +import { listCaseOffline, getCaseOffline, delCaseOffline, addCaseOffline, updateCaseOffline, exportCaseOffline } from "@/api/caseOffline/caseOffline"; | ||
| 158 | + | ||
| 159 | +import caseOfflineInfo from "@/views/h5/caseOffline/caseOfflineInfo"; | ||
| 160 | + | ||
| 161 | +import { | ||
| 162 | + getArea, | ||
| 163 | + earthsitesList, | ||
| 164 | + constructionsitesList, | ||
| 165 | + getDict, | ||
| 166 | + } from "@/api/dict"; | ||
| 167 | + | ||
| 168 | +import { | ||
| 169 | + getThreestep, | ||
| 170 | + } from "@/api/business/threestep"; | ||
| 171 | + | ||
| 172 | +import { | ||
| 173 | + getToken | ||
| 174 | + } from "@/utils/auth"; | ||
| 175 | + | ||
| 176 | + import pagination from '../Pagination'; | ||
| 177 | + | ||
| 178 | +export default { | ||
| 179 | + name: "CaseOffline", | ||
| 180 | + | ||
| 181 | + components: { | ||
| 182 | + caseOfflineInfo, | ||
| 183 | + pagination | ||
| 184 | + }, | ||
| 185 | + data() { | ||
| 186 | + return { | ||
| 187 | + // 遮罩层 | ||
| 188 | + loading: true, | ||
| 189 | + // 选中数组 | ||
| 190 | + ids: [], | ||
| 191 | + // 非单个禁用 | ||
| 192 | + single: true, | ||
| 193 | + // 非多个禁用 | ||
| 194 | + multiple: true, | ||
| 195 | + // 显示搜索条件 | ||
| 196 | + showSearch: true, | ||
| 197 | + // 总条数 | ||
| 198 | + total: 0, | ||
| 199 | + // 线下交办案卷表格数据 | ||
| 200 | + caseOfflineList: [], | ||
| 201 | + // 弹出层标题 | ||
| 202 | + title: "", | ||
| 203 | + // 是否显示弹出层 | ||
| 204 | + open: false, | ||
| 205 | + open2:false, | ||
| 206 | + // 查询参数 | ||
| 207 | + queryParams: { | ||
| 208 | + pageNum: 1, | ||
| 209 | + pageSize: 10, | ||
| 210 | + type: null, | ||
| 211 | + place: null, | ||
| 212 | + createTime: null, | ||
| 213 | + }, | ||
| 214 | + uploadImageDialog:false, | ||
| 215 | + // 表单参数 | ||
| 216 | + form: {}, | ||
| 217 | + // 表单校验 | ||
| 218 | + rules: { | ||
| 219 | + }, | ||
| 220 | + caseType:[ | ||
| 221 | + {code:0,name:"渣土处置工地(含消纳场)的渣土运输车辆出场车身不洁,车轮带泥"}, | ||
| 222 | + {code:1,name:"未洗车出场或者出场清洁不彻底"}, | ||
| 223 | + {code:2,name:"渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"}, | ||
| 224 | + {code:3,name:"非核准车辆进入渣土处置工地运输渣土"}, | ||
| 225 | + {code:4,name:"渣土处置工地未按规定时间开停工"}, | ||
| 226 | + {code:5,name:"渣土处置工地洗车设施等破损、未正常使用及措施不到位的"}, | ||
| 227 | + {code:6,name:"渣土处置工地、消纳场(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"}, | ||
| 228 | + {code:7,name:"其他1"}, | ||
| 229 | + {code:8,name:"其他2"}, | ||
| 230 | + {code:9,name:"其他3"} | ||
| 231 | + ], | ||
| 232 | + areas:null, | ||
| 233 | + fileList:[], | ||
| 234 | + areas: [], | ||
| 235 | + upload: { | ||
| 236 | + // 是否显示弹出层(用户导入) | ||
| 237 | + open: false, | ||
| 238 | + // 弹出层标题(用户导入) | ||
| 239 | + title: "", | ||
| 240 | + // 是否禁用上传 | ||
| 241 | + isUploading: false, | ||
| 242 | + // 设置上传的请求头部 | ||
| 243 | + headers: { | ||
| 244 | + Authorization: "Bearer " + getToken() | ||
| 245 | + }, | ||
| 246 | + // 上传的地址 | ||
| 247 | + url: process.env.VUE_APP_BASE_API + "/business/threestep/upload", | ||
| 248 | + }, | ||
| 249 | + data:{}, | ||
| 250 | + objId:null | ||
| 251 | + }; | ||
| 252 | + }, | ||
| 253 | + created() { | ||
| 254 | + | ||
| 255 | + | ||
| 256 | + | ||
| 257 | + this.getList(); | ||
| 258 | + | ||
| 259 | + if(window.location.search){ | ||
| 260 | + let businessKey = window.location.search.split("=")[1]; | ||
| 261 | + let id; | ||
| 262 | + if(businessKey.split(":").length == 2){ | ||
| 263 | + id = businessKey.split(":")[1]; | ||
| 264 | + }else{ | ||
| 265 | + id = businessKey; | ||
| 266 | + } | ||
| 267 | + | ||
| 268 | + getThreestep(id).then(response => { | ||
| 269 | + let data = response.data; | ||
| 270 | + | ||
| 271 | + this.handleAdd(); | ||
| 272 | + | ||
| 273 | + this.form.siteType = data.type + ""; | ||
| 274 | + this.form.siteName = data.name; | ||
| 275 | + this.form.place = Number(data.place); | ||
| 276 | + }); | ||
| 277 | + } | ||
| 278 | + | ||
| 279 | + | ||
| 280 | + | ||
| 281 | + let remoteQueryData = { | ||
| 282 | + "page": 1, | ||
| 283 | + "size": 9999 | ||
| 284 | + } | ||
| 285 | + | ||
| 286 | + constructionsitesList(remoteQueryData).then(res => { | ||
| 287 | + this.data[0]= res.result.list; | ||
| 288 | + }); | ||
| 289 | + | ||
| 290 | + earthsitesList(remoteQueryData).then(res => { | ||
| 291 | + this.data[1]= res.result.list; | ||
| 292 | + }); | ||
| 293 | + }, | ||
| 294 | + methods: { | ||
| 295 | + getSite(item){ | ||
| 296 | + this.form.objectId = item.id; | ||
| 297 | + }, | ||
| 298 | + /** 查询线下交办案卷列表 */ | ||
| 299 | + getList() { | ||
| 300 | + this.loading = true; | ||
| 301 | + listCaseOffline(this.queryParams).then(response => { | ||
| 302 | + this.caseOfflineList = response.rows; | ||
| 303 | + | ||
| 304 | + for(let i in this.caseOfflineList){ | ||
| 305 | + this.caseOfflineList[i].type = this.getCaseType(this.caseOfflineList[i].type); | ||
| 306 | + | ||
| 307 | + } | ||
| 308 | + | ||
| 309 | + getArea().then(res => { | ||
| 310 | + this.areas = res.result; | ||
| 311 | + for(let i =0;i< this.caseOfflineList.length;i++){ | ||
| 312 | + this.caseOfflineList[i].place = this.getAreaName(this.caseOfflineList[i].place); | ||
| 313 | + } | ||
| 314 | + }); | ||
| 315 | + | ||
| 316 | + this.total = response.total; | ||
| 317 | + this.loading = false; | ||
| 318 | + }); | ||
| 319 | + }, | ||
| 320 | + // 取消按钮 | ||
| 321 | + cancel() { | ||
| 322 | + this.open = false; | ||
| 323 | + this.open2 = false; | ||
| 324 | + this.reset(); | ||
| 325 | + }, | ||
| 326 | + // 表单重置 | ||
| 327 | + reset() { | ||
| 328 | + this.form = { | ||
| 329 | + id: null, | ||
| 330 | + type: null, | ||
| 331 | + siteName: null, | ||
| 332 | + locationDec: null, | ||
| 333 | + caseDec: null, | ||
| 334 | + status: 0, | ||
| 335 | + place: null, | ||
| 336 | + number: null, | ||
| 337 | + siteType: null, | ||
| 338 | + objectId: null, | ||
| 339 | + createTime: null, | ||
| 340 | + createBy: null, | ||
| 341 | + advice1: null, | ||
| 342 | + advice2: null, | ||
| 343 | + advice3: null, | ||
| 344 | + advice4: null, | ||
| 345 | + attach:[] | ||
| 346 | + }; | ||
| 347 | + this.resetForm("form"); | ||
| 348 | + }, | ||
| 349 | + /** 搜索按钮操作 */ | ||
| 350 | + handleQuery() { | ||
| 351 | + this.queryParams.pageNum = 1; | ||
| 352 | + this.getList(); | ||
| 353 | + }, | ||
| 354 | + /** 重置按钮操作 */ | ||
| 355 | + resetQuery() { | ||
| 356 | + this.resetForm("queryForm"); | ||
| 357 | + this.handleQuery(); | ||
| 358 | + }, | ||
| 359 | + // 多选框选中数据 | ||
| 360 | + handleSelectionChange(selection) { | ||
| 361 | + this.ids = selection.map(item => item.id) | ||
| 362 | + this.single = selection.length!==1 | ||
| 363 | + this.multiple = !selection.length | ||
| 364 | + }, | ||
| 365 | + getAreaName(code){ | ||
| 366 | + for(let i =0;i<this.areas.length;i++){ | ||
| 367 | + if(Number(code) == this.areas[i].code){ | ||
| 368 | + return this.areas[i].name; | ||
| 369 | + break; | ||
| 370 | + } | ||
| 371 | + } | ||
| 372 | + return code; | ||
| 373 | + }, | ||
| 374 | + getCaseType(type){ | ||
| 375 | + for(let i in this.caseType){ | ||
| 376 | + | ||
| 377 | + | ||
| 378 | + if(this.caseType[i].code==type) | ||
| 379 | + return this.caseType[i].name | ||
| 380 | + } | ||
| 381 | + }, | ||
| 382 | + /** 新增按钮操作 */ | ||
| 383 | + handleAdd() { | ||
| 384 | + this.reset(); | ||
| 385 | + this.open = true; | ||
| 386 | + this.title = "添加线下交办案卷"; | ||
| 387 | + | ||
| 388 | + let date = new Date(); | ||
| 389 | + | ||
| 390 | + | ||
| 391 | + this.form.number = date.getFullYear() | ||
| 392 | + +""+((date.getMonth()+1) < 10 ? "0" + (date.getMonth()+1) : (date.getMonth()+1)) | ||
| 393 | + +""+ ((date.getDate()) < 10 ? "0" + (date.getDate()) : (date.getDate())) | ||
| 394 | + +""+ ((date.getHours()) < 10 ? "0" + (date.getHours()) : (date.getHours())) | ||
| 395 | + +""+ ((date.getMinutes()) < 10 ? "0" + (date.getMinutes()) : (date.getMinutes())) | ||
| 396 | + +""+ ((date.getSeconds()) < 10 ? "0" + (date.getSeconds()*1000) : (date.getSeconds()*1000)) | ||
| 397 | + }, | ||
| 398 | + /** 修改按钮操作 */ | ||
| 399 | + handleUpdate(row) { | ||
| 400 | + this.reset(); | ||
| 401 | + this.businessKey =row.id + ""; | ||
| 402 | + this.open2 = true; | ||
| 403 | + }, | ||
| 404 | + /** 提交按钮 */ | ||
| 405 | + submitForm() { | ||
| 406 | + this.$refs["form"].validate(valid => { | ||
| 407 | + if (valid) { | ||
| 408 | + this.form.attach = this.form.attach +""; | ||
| 409 | + if (this.form.id != null) { | ||
| 410 | + updateCaseOffline(this.form).then(response => { | ||
| 411 | + this.msgSuccess("修改成功"); | ||
| 412 | + this.open = false; | ||
| 413 | + this.getList(); | ||
| 414 | + }); | ||
| 415 | + } else { | ||
| 416 | + addCaseOffline(this.form).then(response => { | ||
| 417 | + this.msgSuccess("新增成功"); | ||
| 418 | + this.open = false; | ||
| 419 | + this.getList(); | ||
| 420 | + }); | ||
| 421 | + } | ||
| 422 | + } | ||
| 423 | + }); | ||
| 424 | + }, | ||
| 425 | + /** 删除按钮操作 */ | ||
| 426 | + handleDelete(row) { | ||
| 427 | + const ids = row.id || this.ids; | ||
| 428 | + this.$confirm('是否确认删除线下交办案卷编号为"' + ids + '"的数据项?', "警告", { | ||
| 429 | + confirmButtonText: "确定", | ||
| 430 | + cancelButtonText: "取消", | ||
| 431 | + type: "warning" | ||
| 432 | + }).then(function() { | ||
| 433 | + return delCaseOffline(ids); | ||
| 434 | + }).then(() => { | ||
| 435 | + this.getList(); | ||
| 436 | + this.msgSuccess("删除成功"); | ||
| 437 | + }) | ||
| 438 | + }, | ||
| 439 | + /** 导出按钮操作 */ | ||
| 440 | + handleExport() { | ||
| 441 | + const queryParams = this.queryParams; | ||
| 442 | + this.$confirm('是否确认导出所有线下交办案卷数据项?', "警告", { | ||
| 443 | + confirmButtonText: "确定", | ||
| 444 | + cancelButtonText: "取消", | ||
| 445 | + type: "warning" | ||
| 446 | + }).then(function() { | ||
| 447 | + return exportCaseOffline(queryParams); | ||
| 448 | + }).then(response => { | ||
| 449 | + this.download(response.message); | ||
| 450 | + }) | ||
| 451 | + }, | ||
| 452 | + removeAttchItem(index, img) { | ||
| 453 | + this.form.attach.splice(this.form.attach.indexOf(img), 1); | ||
| 454 | + this.$forceUpdate(); | ||
| 455 | + }, | ||
| 456 | + uploadSuccess(res, file, fileList) { | ||
| 457 | + if(res.code){ | ||
| 458 | + this.$message(res.message); | ||
| 459 | + return; | ||
| 460 | + } | ||
| 461 | + if(!this.form.attach){ | ||
| 462 | + this.form.attach = []; | ||
| 463 | + } | ||
| 464 | + this.form.attach.push(res); | ||
| 465 | + }, | ||
| 466 | + showFileUpload(i) { | ||
| 467 | + this.uploadImageDialog = true; | ||
| 468 | + this.picIndex = i; | ||
| 469 | + }, | ||
| 470 | + beforeUpload(file) { | ||
| 471 | + let isRightSize = file.size / 1024 / 1024 < 20 | ||
| 472 | + if (!isRightSize) { | ||
| 473 | + this.$message.error('文件大小超过 20MB') | ||
| 474 | + return isRightSize; | ||
| 475 | + } | ||
| 476 | + let isAccept = false; | ||
| 477 | + if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file | ||
| 478 | + .name.indexOf('.pdf') > -1) { | ||
| 479 | + isAccept = true; | ||
| 480 | + } | ||
| 481 | + if (!isAccept) { | ||
| 482 | + this.$message.error('应该选择PDF、JPG、WORD类型的文件') | ||
| 483 | + return isAccept; | ||
| 484 | + } | ||
| 485 | + }, | ||
| 486 | + downloadFile(path) { | ||
| 487 | + window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path); | ||
| 488 | + }, | ||
| 489 | + handleClose() { | ||
| 490 | + this.uploadImageDialog = false; | ||
| 491 | + this.fileList = []; | ||
| 492 | + }, | ||
| 493 | + } | ||
| 494 | +}; | ||
| 495 | +</script> | ||
| 496 | + | ||
| 497 | +<style scope> | ||
| 498 | + .el-select-dropdown__item{ | ||
| 499 | + width:300px; | ||
| 500 | + } | ||
| 501 | +</style> |
trash-ui/src/views/h5/dayWorkReport/index.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | + <el-row :gutter="10" class="mb8"> | ||
| 4 | + <el-col :span="1.5"> | ||
| 5 | + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.pageStatus==0}" size="mini" | ||
| 6 | + @click="getList(0);">报工记录</el-button> | ||
| 7 | + </el-col> | ||
| 8 | + <el-col :span="1.5"> | ||
| 9 | + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.pageStatus==1}" size="mini" | ||
| 10 | + @click="getList(1);">历史报工记录</el-button> | ||
| 11 | + </el-col> | ||
| 12 | + </el-row> | ||
| 3 | 13 | ||
| 14 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px"> | ||
| 15 | + <el-form-item label="工地名称" prop="name"> | ||
| 16 | + <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" | ||
| 17 | + /> | ||
| 18 | + </el-form-item> | ||
| 19 | + <el-form-item label="消纳场名称" prop="earthsitesName"> | ||
| 20 | + <el-input v-model="queryParams.earthsitesName" placeholder="请输入消纳场名称" size="small" | ||
| 21 | + /> | ||
| 22 | + </el-form-item> | ||
| 23 | + <el-form-item label="工地区属" prop="place"> | ||
| 24 | + <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small"> | ||
| 25 | + <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 26 | + </el-select> | ||
| 27 | + </el-form-item> | ||
| 28 | + | ||
| 29 | + <el-form-item label="消纳场区属" prop="subReason"> | ||
| 30 | + <el-select v-model="queryParams.subReason" placeholder="工地所属区域 " size="small"> | ||
| 31 | + <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 32 | + </el-select> | ||
| 33 | + </el-form-item> | ||
| 34 | + <el-form-item label="开始时间" prop="workStartTime" v-if="this.queryParams.his==1"> | ||
| 35 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.workStartTime" type="date" | ||
| 36 | + value-format="yyyy-MM-dd" placeholder="开始时间"> | ||
| 37 | + </el-date-picker> | ||
| 38 | + </el-form-item> | ||
| 39 | + <el-form-item label="结束时间" prop="workEndTime" v-if="this.queryParams.his==1"> | ||
| 40 | + <el-date-picker size="small" style="width: 200px" v-model="queryParams.workEndTime" type="date" | ||
| 41 | + value-format="yyyy-MM-dd" placeholder="结束时间"> | ||
| 42 | + </el-date-picker> | ||
| 43 | + </el-form-item> | ||
| 4 | 44 | ||
| 5 | - <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | ||
| 6 | - <el-row> | ||
| 7 | - <el-col :span="12"> | ||
| 8 | - <el-input v-model="queryParams.name" placeholder="请输入项目名称" /> | ||
| 9 | - </el-col> | ||
| 10 | - <el-col :span="12"> | ||
| 11 | - <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small"> | ||
| 12 | - <el-option v-for="item in areas" :label="item.name" :value="item.code" /> | ||
| 13 | - </el-select> | ||
| 14 | - </el-col> | ||
| 15 | - </el-row> | ||
| 16 | - <el-row> | ||
| 17 | - <el-col :span="12"> | ||
| 18 | - <el-date-picker size="small" style="width: 150px" v-model="queryParams.workStartTime" type="date" | ||
| 19 | - value-format="yyyy-MM-dd" placeholder="开始时间"> | ||
| 20 | - </el-date-picker> | ||
| 21 | - </el-col> | ||
| 22 | - <el-col :span="12"> | ||
| 23 | - <el-date-picker size="small" style="width: 150px" v-model="queryParams.workEndTime" type="date" | ||
| 24 | - value-format="yyyy-MM-dd" placeholder="结束时间"> | ||
| 25 | - </el-date-picker> | ||
| 26 | - </el-col> | ||
| 27 | - </el-row> | ||
| 28 | <el-form-item> | 45 | <el-form-item> |
| 29 | <el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> | 46 | <el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> |
| 30 | <el-button size="mini" @click="resetQuery">重置</el-button> | 47 | <el-button size="mini" @click="resetQuery">重置</el-button> |
| 31 | </el-form-item> | 48 | </el-form-item> |
| 32 | </el-form> | 49 | </el-form> |
| 33 | 50 | ||
| 51 | + | ||
| 52 | + <p> {{dayWorkCount}}</p> | ||
| 53 | + | ||
| 54 | + | ||
| 34 | <el-row :gutter="10" class="mb8"> | 55 | <el-row :gutter="10" class="mb8"> |
| 35 | <el-col :span="1.5"> | 56 | <el-col :span="1.5"> |
| 36 | <el-button size="mini" @click="handleExport" v-hasPermi="['business:threestep:export']">导出</el-button> | 57 | <el-button size="mini" @click="handleExport" v-hasPermi="['business:threestep:export']">导出</el-button> |
| @@ -38,18 +59,47 @@ | @@ -38,18 +59,47 @@ | ||
| 38 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | 59 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| 39 | </el-row> | 60 | </el-row> |
| 40 | 61 | ||
| 41 | - <el-table v-loading="loading" :data="threestepList" @selection-change="handleSelectionChange"> | ||
| 42 | - <el-table-column label="序号" align="center" type="index" /> | ||
| 43 | - <el-table-column label="工地名称" align="center" prop="name" /> | ||
| 44 | - <el-table-column label="项目类型" align="center" prop="type" /> | ||
| 45 | - <el-table-column label="管辖区" align="center" prop="place" /> | ||
| 46 | - <el-table-column label="审查意见" align="center" prop="sub_reason" width="180" /> | ||
| 47 | - <el-table-column label="消纳场名称" align="center" prop="ename" width="180" /> | ||
| 48 | - <el-table-column label="消纳场类型" align="center" prop="etype" width="180"/> | ||
| 49 | - <el-table-column label="管辖区" align="center" prop="eplace" /> | ||
| 50 | - <el-table-column label="审查意见" align="center" prop="esub_reason" width="180" /> | ||
| 51 | - <el-table-column label="开工状态" align="center" prop="estatus" class-name="small-padding fixed-width"/> | ||
| 52 | - </el-table> | 62 | + <el-card class="box-card" v-for="item in threestepList" style="margin-bottom: 10px;"> |
| 63 | + <p>{{item.createTime}} {{item.descript}}</p> | ||
| 64 | + <el-row class="card_row"> | ||
| 65 | + <el-col :span="24" class="card_grid"> | ||
| 66 | + <div class="card_title" style="font-weight: bold;">工地名称:{{item.name}}</div> | ||
| 67 | + </el-col> | ||
| 68 | + </el-row> | ||
| 69 | + <el-row class="card_row"> | ||
| 70 | + <el-col :span="12" class="card_grid" > | ||
| 71 | + <span >所属区:{{item.place}}</span> | ||
| 72 | + </el-col> | ||
| 73 | + <el-col :span="12" class="card_grid" > | ||
| 74 | + <span >开工状态:{{item.status}}</span> | ||
| 75 | + </el-col> | ||
| 76 | + </el-row> | ||
| 77 | + <el-row class="card_row" > | ||
| 78 | + <el-col :span="24"> | ||
| 79 | + <div>申请开工时间:{{item.selfCheckTime}}</div> | ||
| 80 | + </el-col> | ||
| 81 | + </el-row> | ||
| 82 | + <el-row class="card_row" style="margin-top: 10px;"> | ||
| 83 | + <el-col :span="24" class="card_grid"> | ||
| 84 | + <div class="card_title" style="font-weight: bold;">消纳场名称:{{item.ename}}</div> | ||
| 85 | + </el-col> | ||
| 86 | + </el-row> | ||
| 87 | + <el-row class="card_row"> | ||
| 88 | + <el-col :span="12" class="card_grid" > | ||
| 89 | + <span >所属区:{{item.eplace}}</span> | ||
| 90 | + </el-col> | ||
| 91 | + <el-col :span="12" class="card_grid" > | ||
| 92 | + <span >开工状态:{{item.estatus}}</span> | ||
| 93 | + </el-col> | ||
| 94 | + </el-row> | ||
| 95 | + <el-row class="card_row" style="margin-top: 5px;"> | ||
| 96 | + <el-col :span="24"> | ||
| 97 | + <div>申请开工时间:{{item.eselfCheckTime}}</div> | ||
| 98 | + </el-col> | ||
| 99 | + </el-row> | ||
| 100 | + | ||
| 101 | + </el-card> | ||
| 102 | + | ||
| 53 | 103 | ||
| 54 | <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" | 104 | <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| 55 | @pagination="getList" /> | 105 | @pagination="getList" /> |
| @@ -60,7 +110,7 @@ | @@ -60,7 +110,7 @@ | ||
| 60 | <script> | 110 | <script> |
| 61 | import { | 111 | import { |
| 62 | dayWorkList, | 112 | dayWorkList, |
| 63 | - exportDayWorkList, | 113 | + exportDayWorkList |
| 64 | } from "@/api/business/daywork"; | 114 | } from "@/api/business/daywork"; |
| 65 | 115 | ||
| 66 | 116 | ||
| @@ -78,8 +128,11 @@ | @@ -78,8 +128,11 @@ | ||
| 78 | getArea | 128 | getArea |
| 79 | } from "@/api/dict"; | 129 | } from "@/api/dict"; |
| 80 | 130 | ||
| 131 | +import pagination from '../Pagination'; | ||
| 132 | + | ||
| 81 | export default { | 133 | export default { |
| 82 | name: "dayWorkReport", | 134 | name: "dayWorkReport", |
| 135 | + components: {pagination}, | ||
| 83 | data() { | 136 | data() { |
| 84 | return { | 137 | return { |
| 85 | // 遮罩层 | 138 | // 遮罩层 |
| @@ -103,7 +156,7 @@ | @@ -103,7 +156,7 @@ | ||
| 103 | showSearch: true, | 156 | showSearch: true, |
| 104 | // 总条数 | 157 | // 总条数 |
| 105 | total: 0, | 158 | total: 0, |
| 106 | - // 日开工报表表格数据 | 159 | + // 开工报表表格数据 |
| 107 | threestepList: [], | 160 | threestepList: [], |
| 108 | fileList: [], | 161 | fileList: [], |
| 109 | // 弹出层标题 | 162 | // 弹出层标题 |
| @@ -139,7 +192,7 @@ | @@ -139,7 +192,7 @@ | ||
| 139 | bindname:null, | 192 | bindname:null, |
| 140 | projectTypes:null, | 193 | projectTypes:null, |
| 141 | earthsitesTypes:null, | 194 | earthsitesTypes:null, |
| 142 | - | 195 | + dayWorkCount:null, |
| 143 | outside:["长沙县","望城区","浏阳市","宁乡市","株洲市","湘潭市","汩罗市","湘阴县"], | 196 | outside:["长沙县","望城区","浏阳市","宁乡市","株洲市","湘潭市","汩罗市","湘阴县"], |
| 144 | }; | 197 | }; |
| 145 | }, | 198 | }, |
| @@ -180,19 +233,36 @@ | @@ -180,19 +233,36 @@ | ||
| 180 | this.uploadImageDialog = false; | 233 | this.uploadImageDialog = false; |
| 181 | this.fileList = []; | 234 | this.fileList = []; |
| 182 | }, | 235 | }, |
| 183 | - /** 查询日开工报表列表 */ | 236 | + /** 查询开工报表列表 */ |
| 184 | getList(tabIdx) { | 237 | getList(tabIdx) { |
| 185 | 238 | ||
| 186 | - | ||
| 187 | this.loading = true; | 239 | this.loading = true; |
| 188 | 240 | ||
| 189 | - dayWorkList(this.queryParams).then(response => { | 241 | + let query = this.queryParams; |
| 242 | + | ||
| 243 | + if(this.queryParams.his != tabIdx && tabIdx == 1){ | ||
| 244 | + this.queryParams.his = tabIdx; | ||
| 245 | + query.workStartTime = "2000-01-01 00:00:00"; | ||
| 246 | + query.workEndTime = "2999-01-01 00:00:00"; | ||
| 247 | + }else if(tabIdx==0){ | ||
| 248 | + this.queryParams.his = null; | ||
| 249 | + query.workStartTime = null; | ||
| 250 | + query.workEndTime = null; | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + dayWorkList(query).then(response => { | ||
| 254 | + | ||
| 190 | this.threestepList = response.rows; | 255 | this.threestepList = response.rows; |
| 191 | 256 | ||
| 192 | getArea().then(res => { | 257 | getArea().then(res => { |
| 193 | this.areas = res.result; | 258 | this.areas = res.result; |
| 194 | for(let i =0;i< this.threestepList.length;i++){ | 259 | for(let i =0;i< this.threestepList.length;i++){ |
| 195 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); | 260 | this.threestepList[i].place = this.getAreaName(this.threestepList[i].place); |
| 261 | + if(this.outside.indexOf(this.threestepList[i].place) > -1){ | ||
| 262 | + if(this.threestepList[i].status == "开工"){ | ||
| 263 | + this.threestepList[i].descript = "开工"; | ||
| 264 | + } | ||
| 265 | + } | ||
| 196 | 266 | ||
| 197 | } | 267 | } |
| 198 | }); | 268 | }); |
| @@ -201,7 +271,18 @@ | @@ -201,7 +271,18 @@ | ||
| 201 | 271 | ||
| 202 | constructionsitesList(this.remoteQueryData).then(res => { | 272 | constructionsitesList(this.remoteQueryData).then(res => { |
| 203 | this.constructionsitesList = res.result.list; | 273 | this.constructionsitesList = res.result.list; |
| 274 | + | ||
| 275 | + let count = 0; | ||
| 276 | + let count1 = 0; | ||
| 277 | + | ||
| 204 | for(let i =0;i< this.threestepList.length;i++){ | 278 | for(let i =0;i< this.threestepList.length;i++){ |
| 279 | + | ||
| 280 | + if(this.threestepList[i].status == "开工"){ | ||
| 281 | + count += 1; | ||
| 282 | + } | ||
| 283 | + if(this.threestepList[i].estatus == "开工"){ | ||
| 284 | + count1 += 1; | ||
| 285 | + } | ||
| 205 | for(let j =0;j<this.constructionsitesList.length;j++){ | 286 | for(let j =0;j<this.constructionsitesList.length;j++){ |
| 206 | if(this.threestepList[i].objectId == this.constructionsitesList[j].id){ | 287 | if(this.threestepList[i].objectId == this.constructionsitesList[j].id){ |
| 207 | for(let x in this.projectTypes){ | 288 | for(let x in this.projectTypes){ |
| @@ -212,30 +293,31 @@ | @@ -212,30 +293,31 @@ | ||
| 212 | } | 293 | } |
| 213 | } | 294 | } |
| 214 | } | 295 | } |
| 296 | + | ||
| 297 | + | ||
| 298 | + let str = "今日"; | ||
| 299 | + if(this.queryParams.his){ | ||
| 300 | + str = ""; | ||
| 301 | + } | ||
| 302 | + | ||
| 303 | + this.dayWorkCount = str + "长沙市工地开工数量:" + count + " " + str +"长沙市消纳场开工数量:" + count1; | ||
| 304 | + this.loading = false; | ||
| 215 | }); | 305 | }); |
| 216 | 306 | ||
| 217 | earthsitesList(this.remoteQueryData).then(res => { | 307 | earthsitesList(this.remoteQueryData).then(res => { |
| 218 | this.earthsitesList = res.result.list; | 308 | this.earthsitesList = res.result.list; |
| 219 | for(let i =0;i< this.threestepList.length;i++){ | 309 | for(let i =0;i< this.threestepList.length;i++){ |
| 220 | for(let j =0;j<this.earthsitesList.length;j++){ | 310 | for(let j =0;j<this.earthsitesList.length;j++){ |
| 221 | - console.log(this.threestepList[i].eid + "==" + this.earthsitesList[j].id); | ||
| 222 | if(this.threestepList[i].eid == this.earthsitesList[j].id){ | 311 | if(this.threestepList[i].eid == this.earthsitesList[j].id){ |
| 223 | this.threestepList[i].etype = this.earthsitesList[j].typeName; | 312 | this.threestepList[i].etype = this.earthsitesList[j].typeName; |
| 224 | this.threestepList[i].eplace = this.earthsitesList[j].areaName; | 313 | this.threestepList[i].eplace = this.earthsitesList[j].areaName; |
| 225 | - | ||
| 226 | - if(this.outside.indexOf(this.threestepList[i].eplace) > -1){ | ||
| 227 | - if(this.threestepList[i].status == "开工"){ | ||
| 228 | - this.threestepList[i].descript = "开工"; | ||
| 229 | - } | ||
| 230 | - } | ||
| 231 | - | ||
| 232 | } | 314 | } |
| 233 | } | 315 | } |
| 234 | } | 316 | } |
| 317 | + this.loading = false; | ||
| 235 | }); | 318 | }); |
| 236 | 319 | ||
| 237 | this.total = response.total; | 320 | this.total = response.total; |
| 238 | - this.loading = false; | ||
| 239 | }); | 321 | }); |
| 240 | 322 | ||
| 241 | 323 | ||
| @@ -390,7 +472,7 @@ | @@ -390,7 +472,7 @@ | ||
| 390 | /** 删除按钮操作 */ | 472 | /** 删除按钮操作 */ |
| 391 | handleDelete(row) { | 473 | handleDelete(row) { |
| 392 | const ids = row.id || this.ids; | 474 | const ids = row.id || this.ids; |
| 393 | - this.$confirm('是否确认删除日开工报表编号为"' + ids + '"的数据项?', "警告", { | 475 | + this.$confirm('是否确认删除开工报表编号为"' + ids + '"的数据项?', "警告", { |
| 394 | confirmButtonText: "确定", | 476 | confirmButtonText: "确定", |
| 395 | cancelButtonText: "取消", | 477 | cancelButtonText: "取消", |
| 396 | type: "warning" | 478 | type: "warning" |
| @@ -405,11 +487,12 @@ | @@ -405,11 +487,12 @@ | ||
| 405 | handleExport() { | 487 | handleExport() { |
| 406 | 488 | ||
| 407 | let data = []; | 489 | let data = []; |
| 490 | + let index = 1; | ||
| 408 | for(let i in this.threestepList){ | 491 | for(let i in this.threestepList){ |
| 409 | 492 | ||
| 410 | 493 | ||
| 411 | let obj = { | 494 | let obj = { |
| 412 | - id:this.threestepList[i].id, | 495 | + id:index, |
| 413 | name:this.threestepList[i].name, | 496 | name:this.threestepList[i].name, |
| 414 | createTime:this.threestepList[i].createTime, | 497 | createTime:this.threestepList[i].createTime, |
| 415 | selfCheckTime:this.threestepList[i].selfCheckTime, | 498 | selfCheckTime:this.threestepList[i].selfCheckTime, |
| @@ -423,13 +506,14 @@ | @@ -423,13 +506,14 @@ | ||
| 423 | eselfCheckTime:this.threestepList[i].eselfCheckTime, | 506 | eselfCheckTime:this.threestepList[i].eselfCheckTime, |
| 424 | descript:this.threestepList[i].descript, | 507 | descript:this.threestepList[i].descript, |
| 425 | } | 508 | } |
| 509 | + | ||
| 426 | data.push(obj); | 510 | data.push(obj); |
| 427 | 511 | ||
| 512 | + index += 1; | ||
| 428 | 513 | ||
| 429 | 514 | ||
| 430 | } | 515 | } |
| 431 | - | ||
| 432 | - this.$confirm('是否确认导出所有日开工报表数据项?', "警告", { | 516 | + this.$confirm('是否确认导出所有开工报表数据项?', "警告", { |
| 433 | confirmButtonText: "确定", | 517 | confirmButtonText: "确定", |
| 434 | cancelButtonText: "取消", | 518 | cancelButtonText: "取消", |
| 435 | type: "warning" | 519 | type: "warning" |
trash-ui/src/views/h5/office/leaveApplication/index.vue renamed to trash-ui/src/views/h5/leaveApplication/index.vue
| @@ -10,11 +10,12 @@ | @@ -10,11 +10,12 @@ | ||
| 10 | 10 | ||
| 11 | /> | 11 | /> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | - <el-form-item label="申请部门" prop="deptId"> | ||
| 14 | - <el-select v-model="queryParams.deptId" placeholder="请选择部门" size="small"> | ||
| 15 | - <el-option label="请选择字典生成" value=""/> | ||
| 16 | - </el-select> | ||
| 17 | - </el-form-item> | 13 | +<!-- <el-form-item label="申请部门" prop="deptName">--> |
| 14 | +<!-- <el-select v-model="queryParams.deptName" placeholder="请选择部门" size="small">--> | ||
| 15 | +<!-- <el-option label="全部" value=""/>--> | ||
| 16 | +<!-- <el-option v-for="item in depts" :label="item.name" :value="item.name" :key="item.code"/>--> | ||
| 17 | +<!-- </el-select>--> | ||
| 18 | +<!-- </el-form-item>--> | ||
| 18 | <el-form-item label="请假类型" prop="type"> | 19 | <el-form-item label="请假类型" prop="type"> |
| 19 | <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small"> | 20 | <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small"> |
| 20 | <el-option label="事假" value="事假"/> | 21 | <el-option label="事假" value="事假"/> |
| @@ -79,57 +80,45 @@ | @@ -79,57 +80,45 @@ | ||
| 79 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | 80 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| 80 | </el-row> | 81 | </el-row> |
| 81 | 82 | ||
| 82 | - <el-table v-loading="loading" :data="leaveApplicationList" @selection-change="handleSelectionChange"> | ||
| 83 | - <el-table-column type="selection" width="55" align="center"/> | ||
| 84 | - <el-table-column label="申请人" align="center" prop="applicant"/>> | ||
| 85 | - <el-table-column label="联系方式" align="center" prop="phone"/> | ||
| 86 | - <el-table-column label="请假类型" align="center" prop="type"/> | ||
| 87 | - <el-table-column label="请假开始时间" align="center" prop="beginDate" width="180"> | ||
| 88 | - <template slot-scope="scope"> | ||
| 89 | - <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> | ||
| 90 | - </template> | ||
| 91 | - </el-table-column> | ||
| 92 | - <el-table-column label="请假结束时间" align="center" prop="endDate" width="180"> | ||
| 93 | - <template slot-scope="scope"> | ||
| 94 | - <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> | ||
| 95 | - </template> | ||
| 96 | - </el-table-column> | ||
| 97 | - <el-table-column label="请假天数" align="center" prop="numberDays"/> | ||
| 98 | - <el-table-column label="审批状态" align="center" prop="status"> | ||
| 99 | - <template slot-scope="scope"> | ||
| 100 | - <span>{{ parseStatus(scope.row.status) }}</span> | ||
| 101 | - </template> | ||
| 102 | - </el-table-column> | ||
| 103 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||
| 104 | - <template slot-scope="scope"> | ||
| 105 | - <el-button | ||
| 106 | - size="mini" | ||
| 107 | - type="text" | ||
| 108 | - icon="el-icon-view" | ||
| 109 | - @click="handleInfo(scope.row)" | ||
| 110 | - v-hasPermi="['office:leaveApplication:edit']" | ||
| 111 | - >详情 | ||
| 112 | - </el-button> | ||
| 113 | - <el-button | ||
| 114 | - size="mini" | ||
| 115 | - type="text" | ||
| 116 | - icon="el-icon-edit" | ||
| 117 | - @click="handleUpdate(scope.row)" | ||
| 118 | - v-if="scope.row.status==2" | ||
| 119 | - v-hasPermi="['office:leaveApplication:edit']" | ||
| 120 | - >修改 | ||
| 121 | - </el-button> | ||
| 122 | -<!-- <el-button--> | ||
| 123 | -<!-- size="mini"--> | ||
| 124 | -<!-- type="text"--> | ||
| 125 | -<!-- icon="el-icon-delete"--> | ||
| 126 | -<!-- @click="handleDelete(scope.row)"--> | ||
| 127 | -<!-- v-hasPermi="['office:leaveApplication:remove']"--> | ||
| 128 | -<!-- >删除--> | ||
| 129 | -<!-- </el-button>--> | ||
| 130 | - </template> | ||
| 131 | - </el-table-column> | ||
| 132 | - </el-table> | 83 | + |
| 84 | + <a @click="handleInfo(item)" v-for="item in leaveApplicationList"> | ||
| 85 | + <el-card class="box-card" style="margin-bottom: 10px;" | ||
| 86 | + > | ||
| 87 | + <el-row class="card_row"> | ||
| 88 | + <el-col :span="24" class="card_grid"> | ||
| 89 | + <div class="card_title" style="font-weight: bold;">申请人:{{item.applicant}}</div> | ||
| 90 | + </el-col> | ||
| 91 | + </el-row> | ||
| 92 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 93 | + <el-col :span="24"> | ||
| 94 | + <span >请假开始时间:{{ parseTime(item.beginDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> | ||
| 95 | + </el-col> | ||
| 96 | + </el-row> | ||
| 97 | + | ||
| 98 | + <el-row class="card_row" style="margin-top:10px;margin-bottom:10px;"> | ||
| 99 | + <el-col :span="24"> | ||
| 100 | + <span >请假结束时间:{{ parseTime(item.endDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> | ||
| 101 | + </el-col> | ||
| 102 | + </el-row> | ||
| 103 | + | ||
| 104 | + | ||
| 105 | + <el-row class="card_row"> | ||
| 106 | + <el-col :span="16"> | ||
| 107 | + <span >联系方式:{{item.phone}}</span> | ||
| 108 | + </el-col> | ||
| 109 | + <el-col :span="8" class="card_grid" > | ||
| 110 | + <span >请假天数:{{item.numberDays}}</span> | ||
| 111 | + </el-col> | ||
| 112 | + </el-row> | ||
| 113 | + | ||
| 114 | + <el-row class="card_row"> | ||
| 115 | + <el-col :span="24"> | ||
| 116 | + <span >审批状态:{{ parseStatus(item.status) }}</span> | ||
| 117 | + </el-col> | ||
| 118 | + </el-row> | ||
| 119 | + </el-card> | ||
| 120 | + </a> | ||
| 121 | + | ||
| 133 | 122 | ||
| 134 | <pagination | 123 | <pagination |
| 135 | v-show="total>0" | 124 | v-show="total>0" |
| @@ -225,7 +214,7 @@ | @@ -225,7 +214,7 @@ | ||
| 225 | </div> | 214 | </div> |
| 226 | </el-dialog> | 215 | </el-dialog> |
| 227 | 216 | ||
| 228 | - <el-dialog :title="title" :visible.sync="openInfo" width="500px" append-to-body :close-on-click-modal="false"> | 217 | + <el-dialog :title="title" :visible.sync="openInfo" width="300px" append-to-body :close-on-click-modal="false"> |
| 229 | <leaveApplicationInfo :idInfo="idInfo" v-if="openInfo"/> | 218 | <leaveApplicationInfo :idInfo="idInfo" v-if="openInfo"/> |
| 230 | <div slot="footer" class="dialog-footer"> | 219 | <div slot="footer" class="dialog-footer"> |
| 231 | <el-button @click="cancel">取 消</el-button> | 220 | <el-button @click="cancel">取 消</el-button> |
| @@ -247,9 +236,12 @@ import Editor from '@/components/ZcEditor'; | @@ -247,9 +236,12 @@ import Editor from '@/components/ZcEditor'; | ||
| 247 | import leaveApplicationInfo from './leaveApplicationInfo'; | 236 | import leaveApplicationInfo from './leaveApplicationInfo'; |
| 248 | import {getDict} from "@/api/dict"; | 237 | import {getDict} from "@/api/dict"; |
| 249 | 238 | ||
| 239 | + | ||
| 240 | + import pagination from '../Pagination'; | ||
| 241 | + | ||
| 250 | export default { | 242 | export default { |
| 251 | name: "LeaveApplication", | 243 | name: "LeaveApplication", |
| 252 | - components: {Editor, leaveApplicationInfo}, | 244 | + components: {Editor, leaveApplicationInfo,pagination}, |
| 253 | data() { | 245 | data() { |
| 254 | return { | 246 | return { |
| 255 | // 遮罩层 | 247 | // 遮罩层 |
trash-ui/src/views/h5/office/leaveApplication/leaveApplicationInfo.vue renamed to trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
trash-ui/src/views/h5/office/conference/conferenceInfo.vue deleted
100644 → 0
| 1 | -<template> | ||
| 2 | - <el-form ref="form" :model="form" label-width="80px"> | ||
| 3 | - <el-row :gutter="2"> | ||
| 4 | - <el-col :span="11"> | ||
| 5 | - <el-form-item label="会议时间" prop="conferenceTime"> | ||
| 6 | - <el-date-picker size="small" style="width: 100%" | ||
| 7 | - v-model="form.conferenceTime" | ||
| 8 | - type="datetime" | ||
| 9 | - value-format="yyyy-MM-dd HH:mm:ss" | ||
| 10 | - :disabled="true" | ||
| 11 | - placeholder="选择会议时间"> | ||
| 12 | - </el-date-picker> | ||
| 13 | - </el-form-item> | ||
| 14 | - </el-col> | ||
| 15 | - <el-col :span="11"> | ||
| 16 | - <el-form-item label="会议地点" prop="conferenceSite"> | ||
| 17 | - <el-input v-model="form.conferenceSite" placeholder="请输入会议地点" :disabled="true"/> | ||
| 18 | - </el-form-item> | ||
| 19 | - </el-col> | ||
| 20 | - </el-row> | ||
| 21 | - <el-row :gutter="2"> | ||
| 22 | - <el-col :span="22"> | ||
| 23 | - <el-form-item label="参会人员" prop="staff"> | ||
| 24 | - <el-input type="textarea" v-model="form.staff" placeholder="请输入参会人员" :rows="4" :disabled="true"/> | ||
| 25 | - </el-form-item> | ||
| 26 | - </el-col> | ||
| 27 | - </el-row> | ||
| 28 | - <el-row :gutter="2"> | ||
| 29 | - <el-col :span="22"> | ||
| 30 | - <el-form-item label="会议议程" prop="content"> | ||
| 31 | - <el-input type="textarea" v-model="form.content" placeholder="请输入会议议程" :rows="4" :disabled="true"/> | ||
| 32 | - </el-form-item> | ||
| 33 | - </el-col> | ||
| 34 | - </el-row> | ||
| 35 | - <el-row :gutter="2"> | ||
| 36 | - <el-col :span="22"> | ||
| 37 | - <el-form-item label="会议要求" prop="requirement"> | ||
| 38 | - <el-input type="textarea" v-model="form.requirement" placeholder="请输入会议要求" :rows="4" :disabled="true"/> | ||
| 39 | - </el-form-item> | ||
| 40 | - </el-col> | ||
| 41 | - </el-row> | ||
| 42 | - <el-row> | ||
| 43 | - <el-table :data="fileEntityList"> | ||
| 44 | - <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column> | ||
| 45 | - <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center"> | ||
| 46 | - <template slot-scope="scope"> | ||
| 47 | - <el-button | ||
| 48 | - size="small" type="success" | ||
| 49 | - icon="el-icon-download" | ||
| 50 | - @click="downloadFA(scope.row)" | ||
| 51 | - v-hasPermi="['office:management:edit']" | ||
| 52 | - v-if="form.id!=null" | ||
| 53 | - round>下载 | ||
| 54 | - </el-button> | ||
| 55 | - </template> | ||
| 56 | - </el-table-column> | ||
| 57 | - </el-table> | ||
| 58 | - </el-row> | ||
| 59 | - </el-form> | ||
| 60 | -</template> | ||
| 61 | - | ||
| 62 | -<script> | ||
| 63 | -import {getConference} from "@/api/office/conference"; | ||
| 64 | -import Editor from '@/components/ZcEditor'; | ||
| 65 | -export default { | ||
| 66 | - name: "conferenceInfo", | ||
| 67 | - components: {Editor}, | ||
| 68 | - props: { | ||
| 69 | - businessKey: { | ||
| 70 | - type: String | ||
| 71 | - }, | ||
| 72 | - idInfo: { | ||
| 73 | - type: String | ||
| 74 | - } | ||
| 75 | - }, | ||
| 76 | - data() { | ||
| 77 | - return { | ||
| 78 | - form: {}, | ||
| 79 | - fileEntityList:[] | ||
| 80 | - } | ||
| 81 | - }, | ||
| 82 | - created() { | ||
| 83 | - this.init(); | ||
| 84 | - }, | ||
| 85 | - methods:{ | ||
| 86 | - init(){ | ||
| 87 | - getConference(this.idInfo).then(response => { | ||
| 88 | - this.form = response.data.conference; | ||
| 89 | - let files = JSON.stringify(response.data.uploadFiles); | ||
| 90 | - this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) | ||
| 91 | - }); | ||
| 92 | - }, | ||
| 93 | - /** 文件下载 */ | ||
| 94 | - downloadFA(row) { | ||
| 95 | - let name = row.name; | ||
| 96 | - let url = row.url; | ||
| 97 | - const a = document.createElement('a') | ||
| 98 | - a.setAttribute('download', name) | ||
| 99 | - a.setAttribute('target', '_blank') | ||
| 100 | - a.setAttribute('href', process.env.VUE_APP_BASE_API + url); | ||
| 101 | - a.click() | ||
| 102 | - }, | ||
| 103 | - } | ||
| 104 | -} | ||
| 105 | -</script> | ||
| 106 | - | ||
| 107 | -<style scoped> | ||
| 108 | - | ||
| 109 | -</style> |