From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:28:10 +0800
Subject: [PATCH] 1

---
 admin/src/views/project/components/OperaYwProjectWindow.vue |  104 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 87 insertions(+), 17 deletions(-)

diff --git a/admin/src/views/project/components/OperaYwProjectWindow.vue b/admin/src/views/project/components/OperaYwProjectWindow.vue
index 3523263..e2dd612 100644
--- a/admin/src/views/project/components/OperaYwProjectWindow.vue
+++ b/admin/src/views/project/components/OperaYwProjectWindow.vue
@@ -1,23 +1,22 @@
 <template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
+  <GlobalWindow width="600px" :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
     <el-form :model="form" ref="form" :rules="rules">
-     
+
       <el-form-item label="椤圭洰鍚嶇О" prop="name">
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim />
       </el-form-item>
-      <el-form-item label="鎵�灞炲湴鍧�" prop="addr">
-        <el-input v-model="form.addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"/>
+      <el-form-item label="鎵�灞炲湴鍖�" prop="areaId">
+        <el-cascader v-model="form.areaIdT" :props="{
+          label: 'name',
+          value: 'id',
+          children: 'childList'
+        }" :options="treeList" @change="handleChange"></el-cascader>
       </el-form-item>
       <el-form-item label="璇︾粏鍦板潃" prop="addr">
-        <el-input v-model="form.addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"/>
+        <el-input v-model="form.addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" />
       </el-form-item>
-      <el-form-item label="椤圭洰绠�浠�" prop="desc">
-        <el-input type="textarea" :rows="4" v-model="form.desc" placeholder="璇疯緭鍏�"/>
+      <el-form-item label="椤圭洰绠�浠�" prop="remark">
+        <el-input type="textarea" :rows="4" v-model="form.remark" placeholder="璇疯緭鍏�" />
       </el-form-item>
     </el-form>
   </GlobalWindow>
@@ -26,15 +25,17 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import { getCityTree } from '@/api/system/common'
+import { detailById } from '@/api/project/ywProject'
 export default {
   name: 'OperaYwProjectWindow',
   extends: BaseOpera,
   components: { GlobalWindow },
-  data () {
+  data() {
     return {
       // 琛ㄥ崟鏁版嵁
       form: {
-        id: null,
+        id: '',
         creator: '',
         createDate: '',
         editor: '',
@@ -45,19 +46,88 @@
         status: '',
         sortnum: '',
         imgurl: '',
+        areaIdT: '',
+        cityId: '',
         areaId: '',
+        provinceId: '',
         addr: ''
       },
       // 楠岃瘉瑙勫垯
       rules: {
-      }
+        name: [{ required: true, message: '璇疯緭鍏ラ」鐩悕绉�', trigger: 'blur' }]
+      },
+      projectList: [],
+      treeList: []
     }
   },
-  created () {
+  created() {
     this.config({
       api: '/project/ywProject',
       'field.id': 'id'
     })
+  },
+  methods: {
+    open(title, target) {
+      this.title = title
+      this.visible = true
+      this.initData()
+      if (target == null) {
+        this.$nextTick(() => {
+          this.form = {
+            id: '',
+            creator: '',
+            createDate: '',
+            editor: '',
+            editDate: '',
+            isdeleted: '',
+            name: '',
+            remark: '',
+            status: '',
+            sortnum: '',
+            imgurl: '',
+            areaIdT: '',
+            cityId: '',
+            areaId: '',
+            provinceId: '',
+            addr: ''
+          }
+          this.$refs.form.resetFields()
+        })
+      }
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+        this.$set(this.form, 'areaIdT', [target.provinceId, target.cityId, target.areaId,])
+        // console.log(this.form)
+      })
+
+
+
+    },
+    handleChange(e) {
+      if (e && e.length > 0) {
+        if (e.length == 3) {
+          this.$set(this.form, 'areaId', e[2])
+        } else if (e.length == 2) {
+          this.$set(this.form, 'areaId', e[1])
+        } else {
+          this.$set(this.form, 'areaId', e[0])
+        }
+      }
+    },
+    getDetail(id) {
+      detailById(id).then(res => {
+        this.form = res
+      })
+    },
+    initData() {
+      getCityTree({
+        "type": 0
+      }).then(res => {
+        this.treeList = res
+      })
+    }
   }
 }
 </script>

--
Gitblit v1.9.3