From fb487d66f1930780fe1cde09da3fec89b13db2f9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 27 十一月 2024 16:52:07 +0800
Subject: [PATCH] 开发更新
---
admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue | 182 +++++++++++++++++++++++++++++++++------------
1 files changed, 134 insertions(+), 48 deletions(-)
diff --git a/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue b/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue
index abbc222..86de3cb 100644
--- a/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue
+++ b/admin/src/views/Inspection/components/OperaYwPatrolLineWindow.vue
@@ -1,78 +1,164 @@
<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,detailById } 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 => {
+ Message.success('淇濆瓨鎴愬姛')
+ this.$emit('success')
+ this.close()
+
+ })
+ },
+ getDetail(row) {
+ detailById(row.id).then(res => {
+ this.form = res
+ this.list = res.linePointList || []
+ })
+ },
+ initData() {
+ this.list = []
+
+ 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
+ })
+ })
+ 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