From 8ac30411bb33e406e0ed5a2b6e2edaf7ab59f11f Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期六, 23 十一月 2024 17:10:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue | 175 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 127 insertions(+), 48 deletions(-) diff --git a/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue b/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue index abbc222..d936c67 100644 --- a/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue +++ b/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue @@ -1,78 +1,157 @@ <template> - <GlobalWindow - :title="title" - :visible.sync="visible" - :confirm-working="isWorking" - @confirm="confirm" - > + <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/> + <el-form-item label="绾胯矾鍚嶇О" prop="name"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ョ嚎璺悕绉�" v-trim /> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="鍚嶇О" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/> - </el-form-item> - <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status"> - <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/> - </el-form-item> - <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/> - </el-form-item> - <el-form-item label="鍥炬爣" prop="imgurl"> - <el-input v-model="form.imgurl" placeholder="璇疯緭鍏ュ浘鏍�" v-trim/> - </el-form-item> + <div class="head"> + <div class="title">宸℃鐐�</div> + <el-button type="primary" @click="openModal">娣诲姞宸℃鐐�</el-button> + </div> + <el-table v-loading="isWorking.search" :data="list" stripe> + <el-table-column prop="code" label="宸℃鐐圭紪鐮�" min-width="100px"></el-table-column> + <el-table-column prop="pointName" label="宸℃鐐瑰悕绉�" min-width="100px"></el-table-column> + <el-table-column prop="name" label="鎵爜鎵撳崱" min-width="100px"> + <template v-slot="scope"> + <el-switch v-model="scope.row.needScancode" @change="changeStatus" active-value="0" + inactive-value="1"></el-switch> + </template> + </el-table-column> + <el-table-column prop="name" label="鎺掑簭鐮�" min-width="100px"> + <template v-slot="scope"> + <el-input v-model="scope.row.sortnum" class="w100"></el-input> + </template> + </el-table-column> + <el-table-column prop="name" label="鎿嶄綔" min-width="100px"> + <template v-slot="scope"> + <span class="red cu" @click="handleDel(scope)">鍒犻櫎</span> + </template> + </el-table-column> + </el-table> + + </el-form> + <!-- --> + <el-dialog title="娣诲姞宸℃鐐�" :close-on-click-modal="false" append-to-body :visible.sync="isShowModal" width="500px"> + <el-select class="w400" v-model="selPoint" clearable multiple filterable> + <el-option v-for="item in pointList" :value="item.id" :label="item.name"></el-option> + </el-select> + <span slot="footer" class="dialog-footer"> + <el-button @click="isShowModal = false">鍙� 娑�</el-button> + <el-button type="primary" @click="subModal">纭� 瀹�</el-button> + </span> + </el-dialog> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' +import { getFetchList } from '@/api/Inspection/ywPatrolPoint' +import { create } from '@/api/Inspection/ywPatrolLine' +import { Message } from 'element-ui' export default { name: 'OperaYwPatrolLineWindow', extends: BaseOpera, components: { GlobalWindow }, - data () { + data() { return { // 琛ㄥ崟鏁版嵁 form: { - id: null, - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', name: '', - remark: '', - status: '', - sortnum: '', - imgurl: '' }, + selPoint: [], + pointList: [], + list: [], + isShowModal: false, // 楠岃瘉瑙勫垯 rules: { + name: [{ required: true, message: '璇疯緭鍏�' }], + selPoint: [{ type: 'array', required: true, message: '璇疯緭鍏�' }], } } }, - created () { + created() { this.config({ api: '/Inspection/ywPatrolLine', - 'field.id': 'id' }) + }, + methods: { + confirm() { + const { form, list } = this + if (list.length == 0) return Message.warning('璇峰厛閫夋嫨宸℃鐐�') + form.linePointList = list + create({ ...form }).then(res => { + if (res.code == 200) { + Message.success('淇濆瓨鎴愬姛') + this.close() + } + }) + }, + initData() { + getFetchList({}).then(res => { + this.pointList = res || [] + }) + }, + handleDel(row) { + this.list.splice(row.$index, 1) + + }, + changeStatus(row) { + + }, + openModal() { + this.selPoint = this.list.map(i => i.id) + this.isShowModal = true + }, + subModal() { + const { selPoint, pointList, list } = this + if (selPoint.length == 0) return Message.warning('璇峰厛閫夋嫨宸℃鐐�') + let arr = [] + // 鍙栧嚭閫変腑鍒楄〃 + pointList.forEach(item => { + selPoint.forEach(item2 => { + if (item.id === item2) { + arr.push(item) + } + }) + }) + // 鍚宭ist鍘婚噸 + list.forEach(item => { + arr.forEach((item2, i) => { + if (item.id === item2.id) { + arr.splice(i, 1) + } + }) + }) + // 娣诲姞 + arr.forEach(i => { + this.list.push({ + needScancode: '1', + pointName: i.name, + pointId: i.id, + code: i.code, + id: i.id + }) + }) + this.isShowModal = false + }, + close(){ + this.visible = false + this.$emit('success') + } } } </script> +<style lang="scss" scoped> +.head { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; + + div { + font-weight: 500; + } +} +</style> -- Gitblit v1.9.3