From 2546d2a6251176b0214c2d23ac93ccde5dd008f5 Mon Sep 17 00:00:00 2001 From: 唐耀东 <18861537@qq.com> Date: 星期四, 12 五月 2022 10:51:01 +0800 Subject: [PATCH] 提交代码 --- src/views/construction/ipc/index.vue | 189 +++++++++++++++++++++++++++++----------------- 1 files changed, 118 insertions(+), 71 deletions(-) diff --git a/src/views/construction/ipc/index.vue b/src/views/construction/ipc/index.vue index 35e4872..0b9ad00 100644 --- a/src/views/construction/ipc/index.vue +++ b/src/views/construction/ipc/index.vue @@ -15,9 +15,9 @@ </el-form-item> <el-form-item label="鍨嬪彿" prop="model"> <el-input - v-model="queryParams.model" - placeholder="璇疯緭鍏ュ瀷鍙�" - @keyup.enter.native="handleQuery" + v-model="queryParams.model" + placeholder="璇疯緭鍏ュ瀷鍙�" + @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item> @@ -29,98 +29,104 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['oa:ipc:add']" - >鏂板</el-button> + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['oa:ipc:add']" + >鏂板 + </el-button> </el-col> <el-col :span="1.5"> <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['oa:ipc:edit']" - >淇敼</el-button> + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['oa:ipc:edit']" + >淇敼 + </el-button> </el-col> <el-col :span="1.5"> <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['oa:ipc:remove']" - >鍒犻櫎</el-button> + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['oa:ipc:remove']" + >鍒犻櫎 + </el-button> </el-col> </el-row> <el-table v-loading="loading" :data="ipcList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> + <el-table-column type="selection" width="55" align="center"/> <el-table-column label="搴忓彿" align="center" width="50"> <template slot-scope="scope"> <span>{{ scope.$index + (queryParams.pageNum - 1) * queryParams.pageSize + 1 }} </span> </template> </el-table-column> - <el-table-column label="MAC" align="center" prop="mac" /> - <el-table-column label="IP" align="center" prop="ip" /> - <el-table-column label="绔彛" align="center" prop="port" /> - <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount" /> - <el-table-column label="NVR" align="center" prop="nvrId_dictText" /> - <el-table-column label="閫氶亾" align="center" prop="passageway_dictText" /> - <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText" /> - <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText" /> - <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId_dictText" /> -<!-- <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />--> -<!-- <el-table-column label="鍨嬪彿" align="center" prop="model" />--> -<!-- <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturerId_dictText" />--> + <el-table-column label="MAC" align="center" prop="mac"/> + <el-table-column label="IP" align="center" prop="ip"/> + <el-table-column label="绔彛" align="center" prop="port"/> + <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount"/> + <el-table-column label="NVR" align="center" prop="nvrId_dictText"/> + <el-table-column label="閫氶亾" align="center" prop="passageway_dictText"/> + <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText"/> + <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText"/> + <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId_dictText"/> + <!-- <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />--> + <!-- <el-table-column label="鍨嬪彿" align="center" prop="model" />--> + <!-- <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturerId_dictText" />--> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['oa:ipc:edit']" - >淇敼</el-button> + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['oa:ipc:edit']" + >淇敼 + </el-button> <el-button - size="mini" - type="text" - class="del-btn" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['oa:ipc:remove']" - >鍒犻櫎</el-button> + size="mini" + type="text" + class="del-btn" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['oa:ipc:remove']" + >鍒犻櫎 + </el-button> </template> </el-table-column> </el-table> <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" /> <!-- 娣诲姞鎴栦慨鏀筰pc璁惧瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="700px" :append-to-body="true" :close-on-click-modal="false" :destroy-on-close="true"> + <el-dialog :title="title" :visible.sync="open" width="700px" :append-to-body="true" :close-on-click-modal="false" + :destroy-on-close="true"> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-row> <el-col :span="9"> <el-form-item label="MAC" prop="mac"> - <el-input v-model="form.mac" placeholder="璇疯緭鍏AC" /> + <el-input v-model="form.mac" placeholder="璇疯緭鍏AC"/> </el-form-item> </el-col> <el-col :span="9"> <el-form-item label="IP" prop="ip"> - <el-input v-model="form.ip" placeholder="璇疯緭鍏P" /> + <el-input v-model="form.ip" placeholder="璇疯緭鍏P"/> </el-form-item> </el-col> <el-col :span="6"> @@ -135,7 +141,7 @@ <el-row> <el-col :span="12"> <el-form-item label="nvr" prop="nvrId"> - <nvr v-if="open" v-model="form.nvrId" :schoolId="schoolId"></nvr> + <nvr v-if="open" v-model="form.nvrId" :schoolId="schoolId"></nvr> </el-form-item> </el-col> <el-col :span="12"> @@ -177,6 +183,7 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> + <el-button :loading="buttonLoading" type="primary" @click="copy">澶嶅埗涓婁竴鏉′俊鎭�</el-button> <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> @@ -185,7 +192,7 @@ </template> <script> -import { listIpc, getIpc, delIpc, addIpc, updateIpc } from "@/api/oa/ipc"; +import {listIpc, getIpc, delIpc, addIpc, updateIpc, getCopyIpc} from "@/api/oa/ipc"; import building from "../../components/building"; import organization from "../../components/organization"; import constructionBatch from "../../components/constructionBatch"; @@ -245,10 +252,10 @@ // 琛ㄥ崟鏍¢獙 rules: { id: [ - { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "涓嶈兘涓虹┖", trigger: "blur"} ], mac: [ - { required: true, message: "mac涓嶈兘涓虹┖", trigger: "blur" }, + {required: true, message: "mac涓嶈兘涓虹┖", trigger: "blur"}, { pattern: /^[A-F0-9]{2}(-[A-F0-9]{2}){5}$|^[A-F0-9]{2}(:[A-F0-9]{2}){5}$|^[A-F0-9]{12}$|^[A-F0-9]{4}(\.[A-F0-9]{4}){2}$/, message: "璇疯緭鍏ユ纭殑MAC", @@ -256,7 +263,7 @@ } ], ip: [ - { required: true, message: "IP涓嶈兘涓虹┖", trigger: "blur" }, + {required: true, message: "IP涓嶈兘涓虹┖", trigger: "blur"}, { pattern: /^(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])$/, message: "璇疯緭鍏ユ纭殑ip鍦板潃", @@ -264,26 +271,39 @@ } ], port: [ - { required: true, message: "绔彛涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "绔彛涓嶈兘涓虹┖", trigger: "blur"} ], loginAccount: [ - { required: true, message: "鐧诲綍璐︽埛涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "鐧诲綍璐︽埛涓嶈兘涓虹┖", trigger: "blur"} ], buildingId: [ - { required: true, message: "瀹夎浣嶇疆涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "瀹夎浣嶇疆涓嶈兘涓虹┖", trigger: "blur"} ], organizationId: [ - { required: true, message: "鎵�灞炲崟浣嶄笉鑳戒负绌�", trigger: "blur" } + {required: true, message: "鎵�灞炲崟浣嶄笉鑳戒负绌�", trigger: "blur"} ], constructionBatchId: [ - { required: true, message: "鏂藉伐鎵规涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "鏂藉伐鎵规涓嶈兘涓虹┖", trigger: "blur"} ], + passageway: [] } }; + }, + computed: { + getNvrId() { + return this.form.nvrId + } }, watch: { 'schoolId': function () { this.getList() + }, + getNvrId: function (v) { + if (v) { + this.rules.passageway = [{required: true, message: "閫氶亾涓嶈兘涓虹┖", trigger: "blur"}] + } else { + this.rules.passageway = [] + } } }, created() { @@ -341,7 +361,7 @@ // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { this.ids = selection.map(item => item.id) - this.single = selection.length!==1 + this.single = selection.length !== 1 this.multiple = !selection.length }, /** 鏂板鎸夐挳鎿嶄綔 */ @@ -388,6 +408,33 @@ } }); }, + copy() { + this.buttonLoading = true; + getCopyIpc().then(res => { + const obj = res.data; + // 缂栬緫 + if (this.form.id) { + obj.id = this.form.id; + } + // 鏂板 + else { + obj.id = undefined; + } + this.form = this.shallowCopy(obj); + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).finally(() => { + this.buttonLoading = false; + }); + }, + shallowCopy(src) { + var dst = {}; + for (var prop in src) { + if (src.hasOwnProperty(prop)) { + dst[prop] = src[prop]; + } + } + return dst; + }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const ids = row.id || this.ids; -- Gitblit v1.9.1