From 539d1ce6b955d5d56b21d97590a2a684c400f64a Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期三, 11 一月 2023 09:55:16 +0800
Subject: [PATCH] 细节调节

---
 src/views/padSunmaryProcedure/padFrom.vue |  401 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 335 insertions(+), 66 deletions(-)

diff --git a/src/views/padSunmaryProcedure/padFrom.vue b/src/views/padSunmaryProcedure/padFrom.vue
index 731448b..0f2e9b0 100644
--- a/src/views/padSunmaryProcedure/padFrom.vue
+++ b/src/views/padSunmaryProcedure/padFrom.vue
@@ -1,94 +1,363 @@
 <template>
-<el-main style="width: 60vw;margin: 0 auto">
-  <el-form ref="form" :model="form" label-width="85px" size="medium">
-    <el-form-item label="妗堢敱">
-      <el-input v-model="form.casePoint" placeholder="璇峰~鍐欐鐢�"></el-input>
-    </el-form-item>
-    <el-form-item label="褰撲簨浜哄鍚�">
-      <el-input v-model="form.litigant" placeholder="璇峰~鍐欏綋浜嬩汉濮撳悕" ></el-input>
-    </el-form-item>
-    <el-form-item label="鑱旂郴鐢佃瘽">
-      <el-input v-model="form.phone" placeholder="璇峰~鍐欏綋浜嬩汉鐢佃瘽"></el-input>
-    </el-form-item>
-    <el-form-item label="鍔炴浜哄憳" prop="hanlderIds">
-      <el-select v-model="form.hanlderIds" clearable filterable multiple :multiple-limit="2"
-                 placeholder="璇烽�夋嫨" style="width: 100%;" @change="setPersonname($event)">
-        <el-option
-          v-for="item in organPersons"
-          :key="item.userId"
-          :label="item.realName"
-          :value="item.userId">
-          <span style="float: left">{{ item.realName }}</span>
-          <span style="float: right; color: #8492a6; font-size: 13px">鎵ф硶璇佸彿锛歿{ item.lawCert }}</span>
-        </el-option>
-      </el-select>
-    </el-form-item>
-    <el-form-item>
-      <el-button type="primary" @click="onSubmit">绔嬪嵆鍒涘缓</el-button>
-      <el-button @click="backAll">鍙栨秷</el-button>
-    </el-form-item>
-  </el-form>
-</el-main>
+  <!-- 鍒涘缓 -->
+  <el-main style="width: 96%;margin: 20px auto 0;">
+    <el-form ref="form"
+             :rules="dataRules"
+             :model="form"
+             label-width="130px"
+             size="medium">
+      <el-form-item label="妗堢敱"
+                    prop="casePoint">
+        <el-input v-model="form.casePoint"
+                  placeholder="璇峰~鍐欐鐢�"></el-input>
+      </el-form-item>
+
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="褰撲簨浜哄鍚�"
+                        prop="litigant">
+            <el-autocomplete style="width: 100%!important;"
+                             v-model="form.litigant"
+                             filterable
+                             :fetch-suggestions="querySearchHandle"
+                             placeholder="褰撲簨浜哄鍚�"
+                             :trigger-on-focus="false"
+                             @select="handleSelect">
+            </el-autocomplete>
+            <!--            <el-select v-model="form.litigant" placeholder="璇烽�夋嫨褰撲簨浜�"
+                       style="width: 100%;" @change="marketChange">
+              <el-option
+                v-for="item in marketList"
+                :key="item.subjectName"
+                :label="item.subjectName"
+                :value="item">
+              </el-option>
+            </el-select>-->
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="娉曚汉"
+                        prop="legalPerson">
+            <el-input v-model="form.legalPerson"
+                      placeholder="璇峰~鍐欐硶浜哄鍚�"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-form-item label="璇佷欢鍙�/淇$敤鐮�"
+                    prop="certNo">
+        <el-input v-model="form.certNo"
+                  placeholder="璇峰~鍐欒瘉浠跺彿/淇$敤鐮�"></el-input>
+      </el-form-item>
+      <el-form-item label="鑱旂郴鐢佃瘽"
+                    prop="phone">
+        <el-input v-model="form.phone"
+                  placeholder="璇峰~鍐欏綋浜嬩汉鐢佃瘽"></el-input>
+      </el-form-item>
+
+      <el-form-item label="浣忓潃"
+                    prop="address">
+        <el-input v-model="form.address"
+                  placeholder="璇峰~鍐欏綋浜嬩汉浣忓潃"></el-input>
+      </el-form-item>
+
+      <el-form-item label="鍔炴浜哄憳"
+                    prop="hanlderName">
+        <el-select v-model="form.hanlderName"
+                   clearable
+                   filterable
+                   multiple
+                   :multiple-limit="2"
+                   placeholder="璇烽�夋嫨"
+                   style="width: 100%;"
+                   @change="setPersonname($event)">
+          <el-option v-for="item in organPersons"
+                     :key="item.userId"
+                     :label="item.realName"
+                     :value="item.userId">
+            <span style="float: left">{{ item.realName }}</span>
+            <span style="float: right; color: #8492a6; font-size: 13px">鎵ф硶璇佸彿锛歿{ item.lawCert }}</span>
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="鎵�灞炲煄闀�"
+                        prop="city">
+            <el-select v-model="form.city"
+                       filterable
+                       placeholder="璇烽�夋嫨鎵�灞炲煄闀�"
+                       style="width: 100%;">
+              <el-option v-for="item in areaList"
+                         :label="item.label"
+                         :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="鎵�灞為鍩�"
+                        prop="category">
+            <el-select v-model="form.category"
+                       placeholder="璇烽�夋嫨鎵�灞為鍩�"
+                       style="width: 100%;">
+              <el-option v-for="item in categoryList"
+                         :label="item.label"
+                         :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-form-item label="缁忕含搴�"
+                    style="display:none;">
+        <el-input v-model="form.latitude"
+                  placeholder="璇峰~鍐欑粡绾害"></el-input>
+      </el-form-item>
+      <el-form-item label="杩濇硶鍦扮偣"
+                    prop="place">
+        <el-input v-model="form.place"
+                  placeholder="璇峰~鍐欒繚娉曞湴鐐�"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary"
+                   @click="onSubmit('form')">绔嬪嵆鍒涘缓</el-button>
+        <el-button @click="backAll">鍙栨秷</el-button>
+      </el-form-item>
+    </el-form>
+  </el-main>
 </template>
 
 <script>
-import {easycase,marketb} from '../../api/News/pad'
-import {getfindAll} from "../../api/News/useres";
+import { easycase, getMarketList, getIdByToken } from '../../api/News/pad'
+import { getfindAll } from '../../api/News/useres'
+import { remote } from '@/api/admin/dict'
+
 export default {
-  name: "padFrom",
-  data(){
-    return{
-      form:{
-        casePoint:'',
-        litigant:"",
-        phone:"",
-        hanlderIds:"",
+  name: 'padFrom',
+  data() {
+    var validatePerson = (rule, value, callback) => {
+        console.log(value,'value===')
+      if (value.length != 2) {
+        callback(new Error('鍔炴浜哄憳蹇呴』閫夋嫨涓や綅'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+        casePoint: '',
+        litigant: '',
+        legalPerson: '',
+        certNo: '',
+        phone: '',
+        address: '',
+        hanlderIds: '',
+        hanlderName:[],
+        place: '',
+        category: '',
+        city: '',
+        latitude: '',
       },
-      organPersons:[]
+      latlng: '',
+      //鍔炴浜哄憳鏁版嵁
+      organPersons: [],
+      //褰撲簨浜烘暟鎹�
+      marketList: [],
+      //鎵�灞為鍩�
+      categoryList: [],
+      // 杩濇硶鍩庨晣
+      areaList: [],
+      // 濉啓楠岃瘉
+      dataRules: {
+        casePoint: [
+          { required: true, message: '妗堜欢鏂囧彿涓嶈兘涓虹┖', trigger: 'blur' },
+        ],
+        litigant: [
+          { required: true, message: '褰撲簨浜哄鍚嶄笉鑳戒负绌�', trigger: 'blur' },
+        ],
+        /*legalPerson: [
+          {required: true, message: "娉曞畾浠h〃浜哄鍚嶄笉鑳戒负绌�", trigger: "blur"},
+        ],*/
+        certNo: [
+          {
+            required: true,
+            message: '褰撲簨浜鸿瘉浠跺彿鐮佷笉鑳戒负绌�',
+            trigger: 'blur',
+          },
+        ],
+        address: [
+          { required: true, message: '褰撲簨浜轰綇鍧�涓嶈兘涓虹┖', trigger: 'blur' },
+        ],
+        phone: [
+          { required: true, message: '鎵嬫満鍙锋牸寮忎笉姝g‘', trigger: 'blur' },
+          { min: 11, message: '鎵嬫満鍙锋牸寮忎笉姝g‘', trigger: 'blur' },
+        ],
+        hanlderName: [
+          { required: true, message: '鍔炴浜哄憳涓嶈兘涓虹┖', trigger: ['blur','change'] },
+          { validator: validatePerson, trigger: ['blur','change'] },
+        ],
+        category: [
+          {
+            required: true,
+            message: '璇ユ浠剁殑鎵�灞為鍩熶笉鑳戒负绌�',
+            trigger: ['blur', 'change'],
+          },
+        ],
+        city: [
+          {
+            required: true,
+            message: '鎵�灞炲煄闀囦笉鑳戒负绌�',
+            trigger: ['blur', 'change'],
+          },
+        ],
+        place: [
+          {
+            required: true,
+            message: '杩濇硶鍦板潃涓嶈兘涓虹┖',
+            trigger: ['blur', 'change'],
+          },
+        ],
+      },
     }
   },
   created() {
+    // this.latlng = window.android.getAddress();
     this.init()
   },
-  methods:{
-    init(){
+  methods: {
+    tiaoZhuan() {
+      this.$router.push({
+        path: '/padWord',
+      })
+    },
+    init() {
       // this.$nextTick(()=>{
-        //鏌ヨ褰撲簨浜轰俊鎭�
-        getfindAll().then((res) => {
-          this.organPersons = res.data.data;
-        })
+      // getIdByToken().then(res => {
+      //   console.log(res, 'getIdByToken')
+      //   let a = res.data.data;
+      // let b = parseInt(a)
+      // this.form.hanlderIds.push(a)
+      // })
+      //鏌ヨ鍔炴浜哄憳淇℃伅
+      getfindAll().then((res) => {
+        this.organPersons = res.data.data
+      })
+      //鎵�灞為鍩�
+      remote('before_dept').then((res) => {
+        this.categoryList = res.data.data
+      })
+      //鎵�灞炲煄甯�
+      remote('area_address').then((res) => {
+        this.areaList = res.data.data
+      })
+
+      let obj = this.latlng.split(',')
+      this.form.place = obj[2]
+      let arr = []
+      arr.push(obj[0])
+      arr.push(obj[1])
+      this.form.latitude = arr.join(',')
       // })
     },
-    marketb(){},
-    backAll(){
+    //妯$硦鎼滅储鏌ヨ褰撲簨浜�
+    querySearchHandle(queryString, cb) {
+      //妯$硦鎼滅礌
+      getMarketList(queryString).then((res) => {
+        console.log(res.data.data, 'res-------')
+        this.marketList = []
+        let resultList = res.data.data
+        resultList.forEach((item) => {
+          this.marketList.push({
+            value: item.subjectName,
+            address: item.address,
+            legalPerson: item.legalPerson,
+            idCard: item.idCard,
+            subjectType: item.subjectType,
+            phone: item.phone,
+            // id: item.id
+          })
+        })
+        cb(this.marketList)
+      })
+    },
+    handleSelect(item) {
+      console.log(item, 'item')
+      this.form.litigant = item.value
+      this.form.phone = item.phone
+      this.form.subjectType = item.subjectType
+      this.form.certNo = item.idCard
+      this.form.legalPerson = item.legalPerson
+      this.form.address = item.address
+    },
+    marketChange(item) {
+      this.form.litigant = ''
+      this.form.legalPerson = ''
+      this.form.litigantCert = ''
+      this.form.certNo = ''
+      this.form.address = ''
+      this.form.phone = ''
+      this.form.litigantId = item.id
+      if ('缁忚惀鑰�' == item.subjectType || '涓綋宸ュ晢鎴�' == item.subjectType) {
+        this.form.litigant = item.subjectName
+        this.form.legalPerson = item.legalPerson
+        this.form.litigantCert = '钀ヤ笟鎵х収'
+        this.form.certNo = item.idCard
+        this.form.address = item.address
+        this.form.phone = item.phone
+      } else if ('鍏皯' == item.subjectType) {
+        this.form.litigant = item.subjectName
+        this.form.litigantCert = '灞呮皯韬唤璇�'
+        this.form.certNo = item.idCard
+        this.form.address = item.address
+        this.form.phone = item.phone
+      } else if ('鍏朵粬缁勭粐' == item.subjectType) {
+        this.form.litigant = item.subjectName
+        this.form.legalPerson = item.legalPerson
+        this.form.certNo = item.idCard
+        this.form.address = item.address
+        this.form.phone = item.phone
+      }
+    },
+    backAll() {
       this.$router.push({
         path: '/pad',
       })
     },
     setPersonname(val) {
-      let names = "";
-      for (let i in this.organPersons) {
-        if (val.indexOf(this.organPersons[i].userId) > -1) {
-          names += this.organPersons[i].realName + ",";
+        console.log(val,'val===')
+      // let names = ''
+      // for (let i in this.organPersons) {
+      //     console.log(this.organPersons[i],'this.organPersons[i]')
+      //   if (val.indexOf(this.organPersons[i].userId) > -1) {
+      //     names += this.organPersons[i].realName + ','
+      //   }
+      // }
+      // if (names != '') {
+      //   this.form.hanlders = names.substring(0, names.length - 1)
+      // }
+        if(val.length) {
+            this.$set(this.form, 'hanlderIds', val.toString())
         }
-      }
-      if (names != "") {
-        this.dataForm.hanlders = names.substring(0, names.length - 1);
-      }
+
     },
-    onSubmit(){
-      this.form.hanlderIds=this.form.hanlderIds.toString()
-      if (this.dataForm.hanlderIds.length < 1) {
-        this.dataForm.hanlders = '';
-      }
-      easycase(this.form).then(res =>{
-        this.backAll()
-      })
+    onSubmit(formName) {
+        console.log(this.form.hanlderIds,'this.form.hanlderIds====222')
+        this.$refs[formName].validate((valid) => {
+            if(valid) {
+                easycase(this.form).then((res) => {
+                    if(res.data.code == 0) {
+                        this.$message.success('娣诲姞鎴愬姛')
+                        this.backAll()
+                    }
+                })
+            }else {
+                return false
+            }
+        })
     },
   },
 }
 </script>
 
 <style scoped>
-
 </style>

--
Gitblit v1.9.1