From 9f0d7bdf5f08c7e1df763013d0797e1cac4820a0 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 09 四月 2024 15:41:17 +0800 Subject: [PATCH] 工单阈值可设置自动下发阈值 --- src/views/system/work-order/distribute/index.vue | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 210 insertions(+), 13 deletions(-) diff --git a/src/views/system/work-order/distribute/index.vue b/src/views/system/work-order/distribute/index.vue index 8e9ab85..45fae99 100644 --- a/src/views/system/work-order/distribute/index.vue +++ b/src/views/system/work-order/distribute/index.vue @@ -4,23 +4,48 @@ <el-col :span="24" style="position: relative"> <el-menu :default-active="activeIndex" class="el-menu" mode="horizontal" @select="handleSelect"> <el-menu-item index="0" @click="changeUnit(null, '鍏ㄩ儴')"> - 鍏ㄩ儴鍗曚綅 + 鍏ㄩ儴鍗曚綅(430) </el-menu-item> <el-menu-item index="1"> - 鑷祦浜曡繍缁村崟浣�(70/70) + 鑷祦浜曡繍缁村崟浣�(70) </el-menu-item> <el-menu-item index="2"> - 澶у畨杩愮淮(50/50) + 澶у畨杩愮淮(50) </el-menu-item> - <el-menu-item index="3">瀵岄『杩愮淮鍗曚綅(20/70)</el-menu-item> - <el-menu-item index="4">楂樻柊杩愮淮鍗曚綅(15/40)</el-menu-item> - <el-menu-item index="5">鑽e幙杩愮淮鍗曚綅(90/90)</el-menu-item> - <el-menu-item index="6">璐′簳杩愮淮鍗曚綅(45/45)</el-menu-item> - <el-menu-item index="7">娌挎哗杩愮淮鍗曚綅(70/70)</el-menu-item> + <el-menu-item index="3">瀵岄『杩愮淮鍗曚綅(70)</el-menu-item> + <el-menu-item index="4">楂樻柊杩愮淮鍗曚綅(15)</el-menu-item> + <el-menu-item index="5">鑽e幙杩愮淮鍗曚綅(90)</el-menu-item> + <el-menu-item index="6">璐′簳杩愮淮鍗曚綅(45)</el-menu-item> + <el-menu-item index="7">娌挎哗杩愮淮鍗曚綅(70)</el-menu-item> </el-menu> - <el-tooltip class="item" effect="dark" content="鑷姩涓嬪彂璁剧疆" placement="left"> - <el-button class="setting" style="" type="success" icon="el-icon-s-tools" circle></el-button> - </el-tooltip> + <el-popover + placement="right" + width="400" + trigger="click"> + <el-form :model="settingForm" :rules="settingRules" ref="settingForm" label-width="120px"> + <el-form-item label="褰曞儚璐ㄩ噺" prop="videoQuality"> + <el-select style="width: 100%" v-model="settingForm.videoQuality" placeholder="鏈�浣庡綍鍍忚川閲�"> + <el-option label="鍏ㄥ綍鍍�" value="鍏ㄥ綍鍍�"/> + <el-option label="閮ㄥ垎褰曞儚" value="閮ㄥ垎褰曞儚"/> + <el-option label="鏃犲綍鍍�" value="鏃犲綍鍍�"/> + </el-select> + </el-form-item> + <el-form-item label="鐐逛綅绂荤嚎鏃堕暱" prop="outLine"> + <el-input type="number" v-model="settingForm.outLine" placeholder="涓嶈兘瓒呰繃澶氫箙"> + <template slot="append">鍒嗛挓</template> + </el-input> + </el-form-item> + <el-form-item label="瑙嗛鏍囨敞鍑嗙‘鐜�" prop="videoLabel"> + <el-input type="number" v-model="settingForm.videoLabel" placeholder="鏈�浣庡噯纭巼"> + <template slot="append">%</template> + </el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="submitSetting">淇濆瓨</el-button> + </el-form-item> + </el-form> + <el-button title="鑷姩鐢熸垚宸ュ崟璁剧疆" slot="reference" class="setting" style="" type="success" icon="el-icon-s-tools" circle></el-button> + </el-popover> </el-col> </el-row> @@ -58,6 +83,13 @@ end-placeholder="缁撴潫鏃ユ湡"> </el-date-picker> </el-form-item> + <el-form-item label="鏁呴殰绫诲瀷" prop="errorType"> + <el-select v-model="fastDistributeForm.errorType"> + <el-option label="甯傛斂鏂藉伐" value="甯傛斂鏂藉伐"/> + <el-option label="璁惧鏁呴殰" value="璁惧鏁呴殰"/> + <el-option label="璁惧閬楀け" value="璁惧閬楀け"/> + </el-select> + </el-form-item> <el-form-item label="鏁伴噺闄愬埗" prop="fastNumLimit"> <el-input v-model="fastDistributeForm.fastNumLimit" size="small" type="number" placeholder="姝ゆ宸ュ崟涓嬪彂鏈�澶ф暟閲�"></el-input> </el-form-item> @@ -67,6 +99,8 @@ </el-form> <el-button slot="reference" type="primary" size="small">蹇嵎涓嬪彂</el-button> </el-popover> + <el-button size="small" type="primary" @click="page">鍒锋柊</el-button> + <el-button size="small" type="primary" @click="handleAdd">鏂板</el-button> </el-col> </el-row> @@ -91,15 +125,70 @@ </el-col> </el-row> + + <!-- 娣诲姞鎴栦慨鏀广�愯濉啓鍔熻兘鍚嶇О銆戝璇濇 --> + <el-dialog :title="detailName" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="杩愮淮鍗曚綅" prop="unitId"> + <el-select v-model="form.unitId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in unitList" + :key="item.id" + :label="item.value" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="宸ュ崟鏉ユ簮" prop="source"> + <el-select + v-model="form.source" + filterable + remote + reserve-keyword + placeholder="璇烽�夋嫨鏉ユ簮" + :remote-method="remoteGetPoints" + :loading="selectLoading"> + <el-option + v-for="item in pointList" + :key="item.id" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏁呴殰绫诲瀷" prop="errorType"> + <el-select v-model="form.errorType"> + <el-option label="甯傛斂鏂藉伐" value="甯傛斂鏂藉伐"/> + <el-option label="璁惧鏁呴殰" value="璁惧鏁呴殰"/> + <el-option label="璁惧閬楀け" value="璁惧閬楀け"/> + </el-select> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> </template> <script> -import {distributeWorkOrder, fastDistribute} from '@/api/platform/work-order' +import {distributeWorkOrder, fastDistribute, addWorkOrder, updateWorkOrder} from '@/api/platform/work-order' +import {unitSelect} from "@/api/platform/unit"; +import { pointSelectData } from "@/api/platform/point"; export default { name: 'index', data() { return { + settingForm: { + // 绂荤嚎 + outLine: null, + // 瑙嗛鍙敤 + videoQuality: "", + // 瑙嗛鏍囨敞 + videoLabel: "" + }, // 褰撳墠杩愮淮鍗曚綅 unitId: null, unitName: "", @@ -115,6 +204,18 @@ end: null, unitId: null }, + // 鑷姩鐢熸垚宸ュ崟瑙勫垯 + settingRules: { + outLine: [ + { required: true, message: "璇峰~鍐欑偣浣嶇绾挎椂闀�", trigger: "blur" } + ], + videoQuality: [ + { required: true, message: "璇峰~鍐欒棰戝彲鐢ㄧ▼搴�", trigger: "change" } + ], + videoLabel: [ + { required: true, message: "璇峰~鍐欑偣瑙嗛鏍囨敞鍑嗙‘鐜�", trigger: "blur" } + ], + }, // 涓嬪彂琛ㄥ崟楠岃瘉 fastDistributeRules: { fastWay: [ @@ -122,6 +223,9 @@ ], fastNumLimit: [ { required: true, message: "璇疯緭鍏ュ揩閫熷垎鍙戞暟閲忛檺鍒�", trigger: "change" } + ], + errorType: [ + { required: true, message: "璇锋晠闅滅被鍨�", trigger: "change" } ], }, queryParams: { @@ -136,12 +240,49 @@ activeIndex: '0', loading: false, workOrderList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 琛ㄥ崟鍙傛暟 + form: { + }, + // 涓嬫媺鍔犺浇 + selectLoading: false, + // 鐐逛綅list + pointList: [], + // 琛ㄥ崟鏍¢獙 + rules: { + source: [ + { required: true, message: "宸ュ崟鏉ユ簮涓嶈兘涓虹┖", trigger: "blur" } + ], + workOrderNo: [ + { required: true, message: "宸ュ崟鍙蜂笉鑳戒负绌�", trigger: "blur" } + ], + unitId: [ + { required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "blur" } + ], + errorType: [ + { required: true, message: "璇烽�夋嫨鏁呴殰绫诲瀷", trigger: "blur" } + ], + } } }, mounted() { this.page(); + this.selectUnit(); }, methods: { + submitSetting() { + this.$refs['settingForm'].validate((valid) => { + if (valid) { + this.$modal.msgSuccess("淇濆瓨鎴愬姛") + } else { + console.log('error submit!!'); + return false; + } + }); + }, page() { this.loading = true; distributeWorkOrder(this.queryParams).then(res => { @@ -163,7 +304,6 @@ this.fastDistributeForm.fastNumLimit = null this.fastTimeRange = [] }, - allDis() {}, // 鍏ㄩ儴涓嬪彂 allDistribute() { this.fastDistribute(); @@ -209,6 +349,63 @@ handleSelectionChange(selection) { this.multipleSelection = selection.map(item => item.id) }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "娣诲姞鍚堝悓"; + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = {}; + this.resetForm("form"); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + updateWorkOrder(this.form).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.page(); + }); + } else { + addWorkOrder(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.page(); + }); + } + } + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 杩愮淮鍏徃涓嬫媺鏁版嵁 + selectUnit() { + unitSelect().then(res => { + this.unitList = res.data; + }) + }, + // 杩滅▼鎼滅储鐐逛綅 + remoteGetPoints(query) { + if (query !== '') { + this.selectLoading = true; + let data = { + "keyword": query + } + pointSelectData(data).then(res => { + this.pointList = res.data; + this.selectLoading = false; + }) + } else { + this.pointList = []; + } + }, } } </script> -- Gitblit v1.8.0