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