From 778039b40c8fcbe205f9a4a5fab27518d0c0a90d Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期二, 09 一月 2024 09:57:36 +0800 Subject: [PATCH] 2024年第一次bug修改 --- src/views/operate/sms/smsIndex/createSms/index.vue | 146 ++++++++++----- vue.config.js | 4 src/views/operate/images/index.vue | 8 src/api/operate/basecase.js | 8 src/views/operate/workOrder/index.vue | 332 ++++++++++++++++++++++++++++++++++++ src/views/systemSetting/device/handheldTerminal/index.vue | 2 src/router/index.js | 5 7 files changed, 445 insertions(+), 60 deletions(-) diff --git a/src/api/operate/basecase.js b/src/api/operate/basecase.js index 7a48cb6..2373b0e 100644 --- a/src/api/operate/basecase.js +++ b/src/api/operate/basecase.js @@ -58,6 +58,12 @@ getPointTrendAnalysisData: (params) => { return http.get('/sccg/trendAnalysis/queryPointInfoByTime', params); - } + }, + getWorkOrder: (params) => { + return http.get('/sccg/base_case/work_order', params); + }, + exportWorkOrder: (params) => { + return http.downloadFile('/sccg/base_case/work_order/export', params); + }, } \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index a2c66ba..c190ce7 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -241,6 +241,11 @@ component: () => import('@/views/operate/lawEnforcement') }, { + path: 'workOrder', + name: 'workOrder', + component: () => import('@/views/operate/workOrder') + }, + { path: 'management', name: 'management', component: () => import('@/views/operate/management'), diff --git a/src/views/operate/images/index.vue b/src/views/operate/images/index.vue index e7f150e..ccef39d 100644 --- a/src/views/operate/images/index.vue +++ b/src/views/operate/images/index.vue @@ -227,13 +227,13 @@ tempList: [], typeList: [ { - name: "鎽勫儚澶存帹閫�", - value: "01", + name: "鏈湴鎺ㄩ��", + value: "05", checked: true, }, { - name: "鍗曞叺鎺ㄩ��", - value: "03", + name: "100璺帹閫�", + value: "04", checked: false, }, ], diff --git a/src/views/operate/sms/smsIndex/createSms/index.vue b/src/views/operate/sms/smsIndex/createSms/index.vue index 5ca289d..eb91c98 100644 --- a/src/views/operate/sms/smsIndex/createSms/index.vue +++ b/src/views/operate/sms/smsIndex/createSms/index.vue @@ -2,47 +2,90 @@ <div class="createUser"> <main> <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="rules" - label-position="right"> + <el-form + ref="user" + label-width="140px" + autoComplete="on" + :model="role" + :rules="rules" + label-position="right" + > <!-- 娑堟伅鏍忕洰 --> - <el-form-item class="optionItem" label="鐭俊妯℃澘:" prop="messageType"> + <el-form-item + class="optionItem" + label="鐭俊妯℃澘:" + prop="messageType" + > <div class="message-item"> <div class="message-item__left"> - <el-select v-model="role.messageType" placeholder="璇烽�夋嫨鐭俊妯℃澘" @change="setTemplateValue"> - <el-option v-for="item in colList" :key="item.id" :label="item.title" - :value="item.id"> + <el-select + v-model="role.messageType" + placeholder="璇烽�夋嫨鐭俊妯℃澘" + @change="setTemplateValue" + > + <el-option + v-for="item in colList" + :key="item.id" + :label="item.title" + :value="item.id" + > </el-option> </el-select> </div> </div> </el-form-item> <!-- 娑堟伅鏍囬 --> - <el-form-item class="optionItems" label="鐭俊鏍囬:" prop="head"> + <el-form-item + class="optionItems" + label="鐭俊鏍囬:" + prop="head" + > <div class="message-item__left"> - <el-input v-model="role.head" placeholder="璇烽�夋嫨鐭俊鏍囬"></el-input> + <el-input + v-model="role.head" + placeholder="璇烽�夋嫨鐭俊鏍囬" + ></el-input> </div> </el-form-item> <!-- 鎺ユ敹瀵硅薄 --> - <el-form-item class="optionItem" label="鎺ユ敹鎵嬫満鍙�:" prop="targetTo"> + <el-form-item + class="optionItem" + label="鎺ユ敹鎵嬫満鍙�:" + prop="targetTo" + > <div class="message-item__left"> - <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹鎺ユ敹鎵嬫満鍙�" > + <el-input v-model="role.targetTo"></el-input> + <!-- <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹鎺ユ敹鎵嬫満鍙�" > <el-option :value="role.targetTo"> <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox @check="handleCheck" default-expand-all node-key="id"> </el-tree> </el-option> - </el-select> + </el-select> --> </div> </el-form-item> <!-- 娑堟伅鍐呭 --> - <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body"> + <el-form-item + class="optionItem" + label="娑堟伅鍐呭:" + prop="body" + > <MyEditor ref="edit"></MyEditor> </el-form-item> <el-form-item> <div class="optionBtn"> - <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit">鍙戝竷</el-button> - <el-button class="btn cancel" @click.native.prevent="handleReset">閲嶇疆</el-button> + <el-button + type="primary" + @click.native.prevent="handleSubmit(1)" + class="btn submit" + >鍙戝竷</el-button + > + <el-button + class="btn cancel" + @click.native.prevent="handleReset" + >閲嶇疆</el-button + > </div> </el-form-item> </el-form> @@ -59,12 +102,12 @@ components: { MyEditor }, data() { const validateMessageContent = (rule, value, callback) => { - if (!value) { - callback(new Error('璇疯緭鍏ョ煭淇″唴瀹�')); - } else { - callback(); - } - } + if (!value) { + callback(new Error('璇疯緭鍏ョ煭淇″唴瀹�')); + } else { + callback(); + } + } return { role: { messageType: '', @@ -82,10 +125,10 @@ { required: true, trigger: "blur", message: '璇疯緭鍏ョ煭淇℃爣棰�' }, ], targetTo: [ - { required: true , trigger: "blur", message: '璇烽�夋嫨鎺ユ敹瀵硅薄' }, + { required: true, trigger: "blur", message: '璇烽�夋嫨鎺ユ敹瀵硅薄' }, ], body: [ - { required: true, trigger: ['blur', 'change'], validator: validateMessageContent } + { required: true, trigger: ['blur', 'change'], validator: validateMessageContent } ] }, colList: [], @@ -93,14 +136,14 @@ typeList: [], dialogCreate: false, dialogView: false, - defaultProps: { - children: 'children', - label: 'departName' - }, + // defaultProps: { + // children: 'children', + // label: 'departName' + // }, checkedList: [], - tempNameArr:[], + tempNameArr: [], info: {}, - sendUser:"" + sendUser: "" } }, created() { @@ -118,11 +161,11 @@ }, getSMSTemplateList() { - SMS.getSMSTemplateList({ current: 1, pageSize: 100 }) - .then(({ records }) => { - this.colList = records; - }) - .catch(err => this.$message.error(err)) + SMS.getSMSTemplateList({ current: 1, pageSize: 100 }) + .then(({ records }) => { + this.colList = records; + }) + .catch(err => this.$message.error(err)) }, // 鍏抽棴寮圭獥 @@ -174,7 +217,7 @@ handleCheck(data, node) { this.checkedList = [] node.checkedNodes.forEach(item => { - if(!item.hasOwnProperty('departType')){ + if (!item.hasOwnProperty('departType')) { this.checkedList.push(item.id) this.tempNameArr.push(item.departName) } @@ -183,28 +226,28 @@ }, // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅) handleSubmit(mystatus) { - this.role.body = this.$refs.edit.editor.txt.html(); - this.$refs.user.validate((valid) => { + this.role.body = this.$refs.edit.editor.txt.html(); + this.$refs.user.validate((valid) => { if (valid) { - const params = Object.assign({}, this.role); - params.targetTo = this.checkedList.join(','); - params.status = mystatus; - sendMessage(params) - .then(() => { - this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }); - this.$emit('closeMyDialog'); - }) - .catch(err => this.$message({ type: 'error', message: err })); + const params = Object.assign({}, this.role); + // params.targetTo = this.checkedList.join(','); + params.status = mystatus; + sendMessage(params) + .then(() => { + this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }); + this.$emit('closeMyDialog'); + }) + .catch(err => this.$message({ type: 'error', message: err })); } else { - this.$message.warning('璇锋鏌ュ繀濉」'); + this.$message.warning('璇锋鏌ュ繀濉」'); } }) }, - setTemplateValue(obj){ - var _this=this - SMS.getSMSTemplateById(obj).then((result) =>{ - _this.role.head=result.title - _this.role.body=result.body + setTemplateValue(obj) { + var _this = this + SMS.getSMSTemplateById(obj).then((result) => { + _this.role.head = result.title + _this.role.body = result.body _this.$refs.edit.editor.txt.html(result.body) }) }, @@ -325,7 +368,6 @@ padding: 12px 50px; } } - } } } diff --git a/src/views/operate/workOrder/index.vue b/src/views/operate/workOrder/index.vue new file mode 100644 index 0000000..14f1681 --- /dev/null +++ b/src/views/operate/workOrder/index.vue @@ -0,0 +1,332 @@ +<template> + <div class="userList"> + <!-- <div class="headerTitle">杩愯惀绠$悊銆嬫垜鐨勫緟鍔�</div>--> + <header> + <div class="headerContent"> + <div class="search"> + <span>濮撳悕:</span> + <el-input + placeholder="璇疯緭鍏ュ鍚�" + v-model="context" + ></el-input> + <!-- 鎸夐挳鍖哄煙 --> + <div class="main-btns"> + <div class="main-btns-left"> + <!-- <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>--> + <el-button + icon="el-icon-folder" + @click="exportTableData" + >瀵煎嚭</el-button + > + </div> + <div class="main-btns-right"> + <el-button + icon="el-icon-search" + @click="setTableData" + >鏌ヨ</el-button + > + <el-button + icon="el-icon-delete-solid" + @click="handleReset" + >閲嶇疆</el-button + > + </div> + </div> + </div> + </div> + </header> + <main> + <div class="main-content"> + <!-- 鏁版嵁灞曠ず --> + <el-table + border + stripe + ref="multipleTable" + :header-cell-style="{ + background: '#F5F5F5', + 'font-weight': '650', + 'line-height': '45px' + }" + :row-class-name="tableRowClassName" + :data="list" + style="width: 100%" + > + <el-table-column label="搴忓彿" type="index" width="80px"> + </el-table-column> + <el-table-column prop="name" label="濮撳悕" min-width="8"> + </el-table-column> + <el-table-column + prop="taskCount" + label="浠诲姟鎬绘暟" + min-width="10" + > + </el-table-column> + <el-table-column + prop="finishCount" + label="宸插畬鎴愭暟閲�" + min-width="10" + > + </el-table-column> + <el-table-column + prop="notFinishCount" + label="鏈畬鎴愭暟閲�" + min-width="10" + > + </el-table-column> + <el-table-column + prop="finishRadio" + label="瀹屾垚鐜�" + min-width="10" + > + <template slot-scope="{ row }" + >{{ fun(row.finishRadio * 100) }}%</template + > + </el-table-column> + </el-table> + </div> + + <!-- tools --> + <div class="tools"> + <div class="funs"></div> + <div class="pagination"> + <el-pagination + background + :current-page="currentPage" + layout="prev, pager, next" + :total="totalNum" + :page-size="pageSize" + @current-change="changeCurrentPage" + @prev-click="handlePrev" + @next-click="handleNext" + > + </el-pagination> + </div> + </div> + </main> + </div> +</template> + +<script> + +import basecase from "@/api/operate/basecase"; +export default { + + data() { + return { + context: "", + list: [], + totalNum: 0, + pageSize: 10, + currentPage: 1, + }; + }, + created() { + this.setTableData(); + }, + methods: { + // 璁剧疆tableData + setTableData() { + const { currentPage, pageSize, context } = this; + basecase.getWorkOrder({ + currentPage, + pageSize, + keyword: context, + }).then((res) => { + this.list = res.records; + this.totalNum = res.total; + }); + }, + exportTableData() { + const { context } = this; + basecase.exportWorkOrder({ + keyword: context, + }).then((res) => { + this.$message.success('鎿嶄綔鎴愬姛'); + let time = new Date() + let deathdate = time.toLocaleDateString() + const blob = new Blob([res.data], { + type: "application/vnd.ms-excel;charset=utf-8", + }); + if (window.navigator.msSaveBlob) { + window.navigator.msSaveBlob(blob, deathdate + "宸ュ崟鏁版嵁" + ".xlsx"); + } else { + const url = window.URL.createObjectURL(blob); + const link = document.createElement("a"); + link.style.display = "none"; + link.href = url; + link.download = deathdate + "宸ュ崟鏁版嵁" + ".xlsx"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + }) + .catch(err => this.$message.error(err)) + }, + handleReset() { + this.currentPage = 1; + this.pageSize = 10; + this.context = ""; + this.setTableData() + }, + // 璁剧疆琛ㄦ牸鏂戦┈绾� + tableRowClassName({ row, rowIndex }) { + if ((rowIndex + 1) % 2 === 0) { + return "warning-row"; + } else { + return "success-row"; + } + }, + fun(val) { + return Number(val).toFixed(2); + }, + handleStateChange(e) { + this.setTableData(); + }, + // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� + changeCurrentPage(page) { + this.currentPage = page; + this.setTableData(); + }, + // 涓婁竴椤电偣鍑讳簨浠� + handlePrev(page) { + this.currentPage = page; + this.setTableData(); + }, + // 涓嬩竴椤电偣鍑讳簨浠� + handleNext(page) { + this.currentPage = page; + this.setTableData(); + }, + }, +} +</script> + +<style lang="scss" scoped> +.userList { + text-align: left; + padding: 10px 20px; + // color: #4b9bb7; + border: 1px solid #ccc; + .headerTitle { + line-height: 40px; + } + + header { + //background-color: white; + + .headerContent { + padding: 0; + display: flex; + line-height: 100px; + justify-content: space-between; + align-items: center; + + .search { + display: flex; + justify-content: flex-start; + + span { + flex: 1; + } + + .el-input { + flex: 2; + color: #1d3f57; + + &::v-deep .el-input__inner { + background-color: #fff; + //border: 1px solid #17324c; + } + } + } + } + + &::v-deep .el-dialog__header, + &::v-deep .el-dialog__body { + // background-color: #06122c; + } + + &::v-deep .el-dialog__header { + display: flex; + align-items: center; + background-color: #fff; + padding: 20px; + line-height: 60px; + } + + &::v-deep .el-dialog__title { + color: #4b9bb7; + } + + &::v-deep .el-dialog__close { + width: 20px; + height: 20px; + } + + &::v-deep .el-dialog__body { + padding: 0; + } + } +} + +main { + background-color: #ffffff; + margin-top: 20px; + padding-bottom: 50px; + + .mainTitle { + line-height: 60px; + } + + .main-btns { + display: flex; + justify-content: space-between; + // line-height: 60px; + padding: 0 20px; + + .el-button { + background-color: #2f91ec; + //border: 1px solid #17324c; + color: #ffffff; + } + } + + .el-table { + // color: #4b9bb7; + } + + .tools { + display: flex; + justify-content: space-between; + align-items: center; + //padding: 0 20px; + + .funs-sp { + border: 1px solid #dcdfe6; + } + + .funs { + display: flex; + + .funsItem { + line-height: 28px; + display: flex; + align-items: center; + border-radius: 4px; + font-size: 12px; + margin-left: 10px; + + .el-checkbox { + width: 80px; + padding: 0 10px; + } + + &::v-deep .el-input__inner { + border: none; + // background-color: #09152f; + } + } + } + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/device/handheldTerminal/index.vue b/src/views/systemSetting/device/handheldTerminal/index.vue index 5830ed6..8c2a2cf 100644 --- a/src/views/systemSetting/device/handheldTerminal/index.vue +++ b/src/views/systemSetting/device/handheldTerminal/index.vue @@ -100,7 +100,7 @@ <footer> <!-- 娣诲姞闊虫煴 --> <el-dialog - title="娣诲姞闊虫煴" + title="娣诲姞鎵嬫寔璁惧" :visible.sync="dialogCreate" v-if="dialogCreate" width="60%" diff --git a/vue.config.js b/vue.config.js index 800c996..1dc1c13 100644 --- a/vue.config.js +++ b/vue.config.js @@ -40,8 +40,8 @@ // 璺ㄥ煙閰嶇疆 "/sccg": { // target: `http://42.193.1.25/`, //娴嬭瘯鐜 - target: `http://111.1.140.92:8082/`, - // target: `http://10.88.10.18:8082/`, + // target: `http://111.1.140.92:8082/`, + target: `http://10.88.10.18:8082/`, changeOrigin: true } }, -- Gitblit v1.8.0