From 2cc2f4f83a90aac000792a3b65aac9c1aeedbdf1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 13 十一月 2023 17:33:24 +0800
Subject: [PATCH] +1

---
 src/views/operate/disposal/casepool/pool/createUser/ill/index.vue |  358 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 247 insertions(+), 111 deletions(-)

diff --git a/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue b/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue
index 786db34..24fbbdc 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue
@@ -8,64 +8,91 @@
             <div class="input-form">
                 <el-form ref="user" label-width="160px" autoComplete="on" :model="ill" :rules="createillRules"
                     label-position="right">
-                    <!-- 闂绫诲瀷
-                    <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category">
-                        <el-select v-model="ill.type" placeholder="杩濆缓">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select>
-                    </el-form-item> -->
-                    <!-- 杩濆缓绫诲埆 -->
-                    <el-form-item class="optionItems" label="杩濆缓绫诲埆:" prop="categoryId">
-                        <el-select v-model="ill.categoryId" placeholder="璇烽�夋嫨杩濆缓绫诲埆" size="small">
-                            <el-option v-for="item in bigKindList" :key="item.id" :label="item.name" :value="item.id"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
+                    <div class="user-item">
+                        <!-- 闂绫诲瀷 -->
+                        <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category">
+                            <el-select v-model="ill.type" placeholder="杩濆缓" disabled>
+                                <el-option v-for="item in communityList" :key="item.name" :label="item.name"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- 杩濆缓绫诲埆 -->
+                        <el-form-item class="optionItems" label="杩濆缓绫诲埆:" prop="categoryId">
+                            <el-select v-model="ill.categoryId" placeholder="璇烽�夋嫨杩濆缓绫诲埆" size="small">
+                                <el-option v-for="item in bigKindList" :key="item.id" :label="item.name"
+                                    :value="item.id" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
                     <!-- 褰撲簨浜哄鍚� -->
                     <el-form-item class="optionItems" label="褰撲簨浜哄鍚�:" prop="partyName">
                         <el-input placeholder="璇峰~鍐欏綋浜嬩汉濮撳悕" v-model="ill.partyName"></el-input>
                     </el-form-item>
                     <!-- 褰撲簨浜鸿韩浠借瘉鍙� -->
                     <el-form-item class="optionItems" label="褰撲簨浜鸿韩浠借瘉鍙�:" prop="partyIdCard">
-                        <el-input placeholder="璇峰~鍐欏綋浜嬩汉韬唤璇佸彿" v-model="ill.partyIdCard"></el-input>
+                        <el-input placeholder="璇峰~鍐欏綋浜嬩汉韬唤璇佸彿" maxlength="18" v-model="ill.partyIdCard"></el-input>
                     </el-form-item>
                     <!-- 褰撲簨浜鸿仈绯荤數璇� -->
                     <el-form-item class="optionItem" label="褰撲簨浜鸿仈绯荤數璇�:" prop="partyPhone">
-                        <el-input v-model="ill.partyPhone" placeholder="璇峰~鍐欏綋浜嬩汉鑱旂郴鐢佃瘽"></el-input>
+                        <el-input v-model="ill.partyPhone" maxlength="11" placeholder="璇峰~鍐欏綋浜嬩汉鑱旂郴鐢佃瘽"></el-input>
                     </el-form-item>
-                    <!-- 杩濆缓鍦扮偣 -->
-                    <el-form-item class="optionItems" label="杩濆缓鍦扮偣:" prop="site">
-                        <el-input placeholder="璇峰~鍐欒繚寤哄湴鐐�" v-model="ill.site"></el-input>
-                    </el-form-item>
-                    <!-- 鎵�灞炵ぞ鍖� -->
-                    <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId">
-                        <el-select v-model="ill.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
+                    <div class="user-item">
+                        <!-- 杩濆缓鍦扮偣 -->
+                        <el-form-item class="optionItems" label="杩濆缓鍦扮偣:" prop="site">
+                            <el-input placeholder="璇峰~鍐欒繚寤哄湴鐐�" v-model="ill.site"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div class="user-item">
+                        <!-- 鎵�灞炶閬� -->
+                        <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId">
+                            <el-select v-model="ill.streetId" placeholder="璇烽�夋嫨鎵�灞炶閬�" @change="handleStreet">
+                                <el-option v-for="item in streetList" :key="item.id" :label="item.regionName" :value="item.id"
+                                    >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- 鎵�灞炵ぞ鍖� -->
+                        <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId">
+                            <el-select v-model="ill.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�">
+                                <el-option v-for="item in communityList" :key="item.id" :label="item.regionName"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
                     <!-- 韬唤璇佹鍙嶉潰鐓х墖 -->
-                    <el-form-item class="optionItems" label="韬唤璇佹鍙嶉潰鐓х墖:" prop="positive">
+                    <el-form-item class="optionItems" label="韬唤璇佹銆佸弽闈㈢収鐗�:" prop="positive">
                         <template>
                             <div class="idcard">
-                                <el-upload class="upload-demo" :show-file-list="false"
-                                    action="http://42.193.1.25:8082/sccg/file/medias" :headers="getToken()" multiple
+<!--                              <el-upload-->
+<!--                                  action="/sccg/file/medias"-->
+<!--                                  list-type="picture-card"-->
+<!--                                  :show-file-list="false"-->
+<!--                                  :headers="getToken()" multiple-->
+<!--                                  :limit="50" :on-success="handleSuccess">-->
+<!--                                <i class="el-icon-plus"></i>-->
+<!--                                <span class="text" v-if="ill.positive === ''">韬唤璇佹闈�</span>-->
+<!--                                <img :src="ill.positive" alt="" class="img" v-else>-->
+<!--                              </el-upload>-->
+                                <el-upload list-type="picture-card" class="upload-demo" :show-file-list="false"
+                                    action="/sccg/file/medias" :headers="getToken()" multiple
                                     :limit="50" :on-success="handleSuccess">
-                                    <img v-if="ill.positive === ''"
-                                        src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__15f765432d579a14b8f6591c100d30e3.svg"
-                                        alt="">
+<!--                                    <img v-if="ill.positive === ''"-->
+<!--                                        src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__15f765432d579a14b8f6591c100d30e3.svg"-->
+<!--                                        alt="">-->
+                                     <i v-if="ill.positive === ''" class="el-icon-plus"></i>
                                     <span class="text" v-if="ill.positive === ''">韬唤璇佹闈�</span>
                                     <img :src="ill.positive" alt="" class="img" v-else>
                                 </el-upload>
-                                <el-upload class="upload-demo" :show-file-list="false"
-                                    action="http://42.193.1.25:8082/sccg/file/medias" :headers="getToken()" multiple
+                                <el-upload list-type="picture-card" class="upload-demo" :show-file-list="false"
+                                    action="/sccg/file/medias" :headers="getToken()" multiple
                                     :limit="50" :on-success="handleSuccess2">
-                                    <img v-if="ill.negative === '' "
-                                        src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__15f765432d579a14b8f6591c100d30e3.svg"
-                                        alt="">
+<!--                                    <img v-if="ill.negative === '' "-->
+<!--                                        src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__15f765432d579a14b8f6591c100d30e3.svg"-->
+<!--                                        alt="">-->
+                                   <i v-if="ill.negative === ''" class="el-icon-plus"></i>
                                     <span class="text" v-if="ill.negative === ''">韬唤璇佸弽闈�</span>
                                     <img :src="ill.negative" alt="" class="img" v-else />
                                 </el-upload>
@@ -88,13 +115,17 @@
                     <el-form-item class="optionItems" label="杩濆缓鍏蜂綋浣嶇疆:" prop="position">
                         <el-input placeholder="璇峰~鍐欒繚寤哄叿浣撲綅缃�" v-model="ill.position"></el-input>
                     </el-form-item>
-                    <el-form-item class="optionItems" label="杩濇硶寤鸿闀裤�佸銆侀珮:" prop="buildingLength">
-                        <div class="area">
+                    <div class="area">
+                        <el-form-item class="optionItems" label="杩濇硶寤鸿闀裤�佸銆侀珮:"  prop="buildingLength">
                             <el-input placeholder="鍗曚綅绫�" v-model="ill.buildingLength"></el-input>
+                        </el-form-item>
+                        <el-form-item class="optionItems" label-width='0px' prop="buildingWidth">
                             <el-input placeholder="鍗曚綅绫�" v-model="ill.buildingWidth"></el-input>
+                        </el-form-item>
+                        <el-form-item class="optionItems" label-width='0px' prop="buildingHigh">
                             <el-input placeholder="鍗曚綅绫�" v-model="ill.buildingHigh"></el-input>
-                        </div>
-                    </el-form-item>
+                        </el-form-item>
+                    </div>
                     <el-form-item class="optionItems" label="杩濇硶寤鸿闈㈢Н:" prop="buildingArea">
                         <el-input placeholder="璇峰~鍐欒繚娉曞缓璁鹃潰绉�" v-model="ill.buildingArea"></el-input>
                     </el-form-item>
@@ -105,7 +136,7 @@
             </div>
             <div class="input-footer">
                 <el-button type="primary" class="confirm" @click="handleUser">纭畾</el-button>
-                <el-button class="back">杩斿洖</el-button>
+                <el-button class="back" @click="handleBack">杩斿洖</el-button>
             </div>
         </div>
         <div class="map-area">
@@ -114,7 +145,10 @@
     </div>
 </template>
 <script>
-import MyMap from '@/components/map'
+// import MyMap from "@/components/map";
+import MyMap from "@/components/map/leafletMap.vue";
+import {parseTime} from '@/utils/index'
+import { validateName, validatePhone, validateCardId, validateNum } from '@/utils/validate'
 export default {
     components: {
         MyMap
@@ -122,14 +156,14 @@
     data() {
         const checkArea = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateNum(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑杩濇硶寤鸿闈㈢Н'))
             } else {
                 callback(new Error('杩濇硶寤鸿闈㈢Н涓嶈兘涓虹┖'))
             }
         }
         const checkHigh = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateNum(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑杩濇硶寤鸿楂樺害'))
             } else {
                 callback(new Error('杩濇硶寤鸿楂樺害涓嶈兘涓虹┖'));
 
@@ -137,7 +171,7 @@
         }
         const checkWidth = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateNum(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑杩濇硶寤鸿瀹藉害'))
             } else {
                 callback(new Error('杩濇硶寤鸿瀹藉害涓嶈兘涓虹┖'));
 
@@ -145,7 +179,7 @@
         }
         const checkLength = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateNum(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑杩濇硶寤鸿闀垮害'))
             } else {
                 callback(new Error('杩濇硶寤鸿闀垮害涓嶈兘涓虹┖'));
 
@@ -174,21 +208,21 @@
         }
         const checkIdCard = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateCardId(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�'))
             } else {
                 callback(new Error('褰撲簨浜鸿韩浠借瘉鍙风爜涓嶈兘涓虹┖'));
             }
         }
         const checkName = (rule, value, callback) => {
             if (value) {
-                callback();
+                validateName(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑褰撲簨浜轰俊鎭�'))
             } else {
                 callback(new Error('褰撲簨浜哄鍚嶄笉鑳戒负绌�'));
             }
         }
         const checkPhone = (rule, value, callback) => {
             if (value) {
-                callback();
+                validatePhone(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙风爜'))
             } else {
                 callback(new Error('褰撲簨浜鸿仈绯荤數璇濅笉鑳戒负绌�'));
             }
@@ -226,29 +260,36 @@
                 callback(new Error('鎶ヨ鏃堕棿涓嶈兘涓虹┖'))
             }
         }
+        const checkStreet=(rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error('鎵�灞炶閬撲笉鑳戒负绌�'))
+            }
+        }
         return {
             ill: {
-                buildingArea: 2.0,
-                buildingHigh: 2.0,
-                buildingLength: 2.0,
-                buildingWidth: 1.0,
+                buildingArea: '',
+                buildingHigh: '',
+                buildingLength: '',
+                buildingWidth: '',
                 // category: '',
                 categoryId: '',
                 communityId: '',
-                materials: "閽㈢瓔",
-                partyIdCard: "511025184612310213",
-                partyName: "鍗曟暟澶�",
-                partyPhone: "17844631885",
-                position: "鏂板湴鏂规柊浣庣偣",
+                materials: "",
+                partyIdCard: "",
+                partyName: "",
+                partyPhone: "",
+                position: "",
                 positive: "",
                 negative: "",
-                site: "鏂板湴鏂�",
+                site: "",
                 alarmTime: '',
             },
             createillRules: {
                 buildingArea: [
                     {
-                        required: true, trigger: 'change', validator: checkArea
+                        required: true, trigger: 'blur', validator: checkArea
                     }
                 ],
                 buildingHigh: [
@@ -315,46 +356,46 @@
                     {
                         required: true, trigger: 'change', validator: checkDate
                     }
-                ]
+                ],
+                streetId: [
+                    {
+                        required: true, trigger: 'change', validator: checkStreet
+                    }
+                ],
             },
             bigKindList: [],
-            typeList: [
-                {
-                    name: '绀惧尯1',
-                    value: 1,
-                },
-                {
-                    name: '绀惧尯2',
-                    value: 2,
-                }
+            communityList: [
             ],
+            streetList: [],
         }
     },
     created() {
-        const { getBigKind } = this;
+        const { getBigKind, getCommityList,getStreetList } = this;
+        getStreetList(0);
+
         // this.ill.category = this.mytype + 1;
         getBigKind();
+        getCommityList();
     },
     methods: {
         handleUser() {
             const that = this;
-            // console.log(this.$refs);
             this.$refs.user.validate((valid) => {
-                console.log(valid)
                 if (valid) {
                     that.$refs.condition.validate((flag) => {
-                        console.log(flag);
                         if (flag) {
                             const { ill } = this;
                             ill.buildingLength = parseFloat(ill.buildingLength);
                             ill.buildingHigh = parseFloat(ill.buildingHigh);
                             ill.buildingWidth = parseFloat(ill.buildingWidth);
                             ill.buildingArea = parseFloat(ill.buildingArea);
-                            console.log(ill);
                             that.$axios({
                                 method: 'post',
-                                url: 'sccg/base-case/addition_illegal_building',
-                                data: ill,
+                                url: 'sccg/base_case/addition_illegal_building',
+                                data: {
+                                    ...ill,
+                                    alarmTime:parseTime(ill.alarmTime)
+                                },
                             })
                                 .then(res => {
                                     if (res.code === 200) {
@@ -362,7 +403,8 @@
                                             type: 'success',
                                             message: res.message
                                         })
-                                        this.$emit('changeDialog', { dialogView: false });
+                                        this.$emit('changeDialog', { flag: false });
+                                        this.refresh();
                                     } else {
                                         this.$message({
                                             type: 'warning',
@@ -379,9 +421,6 @@
                 }
             })
         },
-        handleStop() {
-            this.refresh();
-        },
         // 鑾峰彇澶х被鍒楄〃
         getBigKind() {
             this.$axios({
@@ -389,10 +428,8 @@
                 url: 'sccg/illegal_building/query/type_second'
             }).then(res => {
                 this.bigKindList = res.data;
-                // console.log(res);
             })
         },
-        // 鑾峰彇琛屾斂鍖哄煙
         // 鑾峰彇token
         getToken() {
             const token = sessionStorage.getItem('token');
@@ -402,27 +439,121 @@
             }
         },
         handleSuccess(res, file, filelist) {
-            const baseUrl = 'http://140.143.152.226:8410/';
-            console.log(res);
-            this.ill.positive = baseUrl + res.data.url1;
+
+            // const baseUrl = 'http://140.143.152.226:8410/';
+            // this.ill.positive = baseUrl + res.data.url1;
+          // this.ill.positive = res.data
+         // let   oll =this.ill.positive
+          let that=this
+          this.$axios({
+            url:'sccg/API/img?fileUrl='+res.data,
+            method:"get",
+            responseType: 'blob'
+          }).then(res=>{
+
+            const blob = new Blob([res])
+            var reader = new window.FileReader();
+            reader.readAsDataURL(blob);
+            reader.onloadend = function () {
+
+              that.ill.positive= reader.result
+            }
+
+          })
 
         },
         handleSuccess2(res, file, filelist) {
-            const baseUrl = 'http://140.143.152.226:8410/';
-            console.log(res);
-            this.ill.negative = baseUrl + res.data.url1;
+            // const baseUrl = 'http://140.143.152.226:8410/';
+            // this.ill.negative = baseUrl + res.data.url1;
+          // this.ill.negative = res.data
+          let that=this
+          this.$axios({
+            url:'sccg/API/img?fileUrl='+res.data,
+            method:"get",
+            responseType: 'blob'
+          }).then(res=>{
+
+            const blob = new Blob([res])
+            var reader = new window.FileReader();
+            reader.readAsDataURL(blob);
+            reader.onloadend = function () {
+              console.log(reader.result)
+              that.ill.negative= reader.result
+            }
+
+          })
+        },
+
+        // 鏌ヨ绀惧尯
+        getCommityList() {
+            this.$axios({
+                method: 'get',
+                url: 'sccg/dict/query_type?level=1&typeCode=' + '10'
+            })
+                .then(res => {
+                })
+        },
+        // 鑾峰彇琛楅亾淇℃伅
+        async getStreetList(id) {
+            let arr
+            await this.$axios({
+                method:'get',
+                url:`sccg/sccg_region/getChildren/${id}`,
+            })
+            .then(res=>{
+                if(res.code === 200){
+                    arr = res.data;
+                }
+            })
+            this.streetList = arr;
+        },
+        // 琛楅亾鏇存敼
+        handleStreet(id) {
+            this.ill.communityId = '';
+            this.$axios({
+                method: 'get',
+                url: `sccg/sccg_region/getChildren/${id}`
+            })
+                .then(res => {
+                    this.communityList = res.data;
+                })
+        },
+        handleBack(){
+            this.$emit('changeDialog', { flag: false });
         }
     },
-    props: ['mytype', 'changeDialog']
+    watch: {
+        'ill.buildingLength': {
+            handler(newVal, oldVal) {
+                if (newVal) {
+                    this.ill.buildingWidth !== '' && validateNum(newVal) && validateNum(this.ill.buildingWidth) ? this.ill.buildingArea = newVal * this.ill.buildingWidth : '';
+                }
+            },
+            deep: true,
+        },
+        'ill.buildingWidth': {
+            handler(newVal, oldVal) {
+                if (newVal) {
+                    this.ill.buildingLength !== '' && validateNum(newVal) && validateNum(this.ill.buildingLength) ? this.ill.buildingArea = newVal * this.ill.buildingLength : '';
+                }
+            },
+            deep: true,
+        }
+    },
+    props: ['mytype', 'changeDialog', 'refresh']
 }
 </script>
 <style lang="scss" scoped>
 .ill {
     display: flex;
-    padding: 20px 50px;
+    padding: 20px 10px 50px;
+
+    .user-item {
+        display: flex;
+    }
 
     .input-area {
-        flex: 1;
+        flex: 3;
         padding: 10px 20px;
 
         .input-header {
@@ -438,26 +569,31 @@
                 line-height: 40px;
             }
         }
+        .el-form {
+                // &::v-deep .el-form-item__label {
+                //     color: #4b9bb7;
+                // }
 
+                // &::v-deep .el-input__inner {
+                //     // background-color: #09152f;
+                //     border: 1px solid #17324c;
+                // }
+
+                // &::v-deep .el-textarea__inner {
+                //     // background-color: #09152f;
+                //     border: 1px solid #17324c;
+                // }
+            }
         .input-form {
 
-            &::v-deep .el-input__inner {
-                background-color: #09152f;
-                border: 1px solid #17324c;
-            }
-
-            &::v-deep .el-textarea__inner {
-                background-color: #09152f;
-                border: 1px solid #17324c;
-            }
 
             .upload-demo {
                 position: relative;
-
+                margin-right: 20px;
                 .text {
                     position: absolute;
                     top: 22%;
-                    left: 20%;
+                    left: 26%;
                 }
             }
 
@@ -478,8 +614,8 @@
     }
 
     .img {
-        width: 125px;
-        height: 80px;
+        width: 100%;
+        height: 100%;
     }
 
     .area {
@@ -487,7 +623,7 @@
     }
 
     .map-area {
-        flex: 1;
+        flex: 2;
     }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0