From 829f5116884f98643ffc5b2a548a600d40c0cedb Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:09:32 +0800
Subject: [PATCH] 处理图片显示问题

---
 src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 1588 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 815 insertions(+), 773 deletions(-)

diff --git a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
index f8e8e11..f123cbe 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -1,811 +1,853 @@
 <template>
-  <div class="vio">
-    <div class="input-area">
-      <div class="input-header">
-        <div class="input-header__title">鍩虹淇℃伅</div>
-        <div class="input-header__tip">濉啓浜嬩欢鍩虹淇℃伅</div>
-      </div>
-      <div class="input-form">
-        <el-form
-          ref="user"
-          label-width="120px"
-          autoComplete="on"
-          :model="vio"
-          :rules="createRoleRules"
-          label-position="right"
-        >
-          <div class="user-item">
-            <!-- 闂绫诲瀷 -->
-            <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category">
-              <el-select v-model="vio.category" placeholder="杩濊" disabled>
-                <el-option
-                  v-for="item in typeList"
-                  :key="item.label"
-                  :label="item.label"
-                  :value="item.value"
+    <div class="vio">
+        <div class="input-area">
+            <div class="input-header">
+                <div class="input-header__title">鍩虹淇℃伅</div>
+                <div class="input-header__tip">濉啓浜嬩欢鍩虹淇℃伅</div>
+            </div>
+            <div class="input-form">
+                <el-form
+                    ref="user"
+                    label-width="120px"
+                    autoComplete="on"
+                    :model="vio"
+                    :rules="createRoleRules"
+                    label-position="right"
                 >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <!-- 澶х被鍚嶇О -->
-            <el-form-item
-              class="optionItems"
-              label="澶х被鍚嶇О:"
-              prop="categoryId"
-            >
-              <el-select
-                v-model="vio.categoryId"
-                placeholder="璇烽�夋嫨澶х被鍚嶇О"
-                @change="handleBigKindChange"
-              >
-                <el-option
-                  v-for="item in bigKindList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </div>
-          <div class="user-item">
-            <!-- 灏忕被鍚嶇О -->
-            <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId">
-              <el-select
-                v-model="vio.typeId"
-                placeholder="璇烽�夋嫨灏忕被鍚嶇О"
-                @change="handleSmallKindChange"
-              >
-                <el-option
-                  v-for="item in smallKindList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <!-- 浜嬩欢绛夌骇 -->
-            <el-form-item class="optionItems" label="浜嬩欢绛夌骇:" prop="gradeId">
-              <el-cascader
-                :show-all-levels="false"
-                v-model="vio.gradeId"
-                :props="{
-                  value: 'id',
-                  label: 'name',
-                  children: 'children',
-                  emitPath: false,
-                }"
-                :options="eventLevelList"
-              ></el-cascader>
-            </el-form-item>
-          </div>
-          <!-- 妗堢敱 -->
-          <el-form-item
-            class="optionItem anyou"
-            label="妗堢敱:"
-            prop="actionCause"
-          >
-            <el-select
-              v-model="vio.actionCause"
-              placeholder="璇疯緭鍏ユ鐢�"
-              filterable
-              @blur="selectBlur"
-            >
-              <el-option
-                v-for="item in anYouList"
-                :key="item.id"
-                :label="item.name"
-                :value="item.name"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <div class="user-item">
-            <!-- 鎵�灞炶閬� -->
-            <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId">
-              <el-select
-                v-model="vio.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="vio.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="site">
-            <el-input
-              placeholder="璇疯緭鍏ヤ簨鍙戝湴璇︾粏浣嶇疆"
-              v-model="vio.site"
-            ></el-input>
-          </el-form-item>
-          <div class="user-item">
-            <!-- 鏄惁鍏宠仈鍟嗛摵 -->
-            <el-form-item
-              class="optionItems"
-              label="鏄惁鍏宠仈鍟嗛摵:"
-              prop="linkShop"
-            >
-              <el-radio-group v-model="vio.linkShop" @change="handleLinkShop">
-                <el-radio :label="1">鏄�</el-radio>
-                <el-radio :label="0">鍚�</el-radio>
-              </el-radio-group>
-            </el-form-item>
-            <!-- 鍏宠仈鍟嗛摵鍚嶇О -->
-            <el-form-item
-              class="optionItems"
-              label="鍏宠仈鍟嗛摵鍚嶇О:"
-              prop="shopName"
-            >
-              <el-select
-                v-model="vio.shopName"
-                :disabled="vio.linkShop === 0"
-                placeholder="璇峰~鍐欏叧鑱斿晢閾哄悕绉�"
-              >
-                <el-option
-                  v-for="store in storeList"
-                  :key="store.id"
-                  :value="store.id"
-                  :label="store.storeName"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </div>
-          <!-- 濉啓杞︾墝鍙� -->
-          <el-form-item
-            class="optionItems"
-            label="濉啓杞︾墝鍙�:"
-            prop="carNumber"
-          >
-            <el-input
-              placeholder="璇峰~鍐欒溅鐗屽彿"
-              v-model="vio.carNumber"
-            ></el-input>
-          </el-form-item>
-          <!-- 闂鎻忚堪 -->
-          <el-form-item
-            class="optionItems"
-            label="闂鎻忚堪:"
-            prop="description"
-          >
-            <el-input
-              type="textarea"
-              :rows="5"
-              maxlength="200"
-              placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�"
-              v-model="vio.description"
-            >
-            </el-input>
-          </el-form-item>
-          <div class="user-item">
-            <!-- 鎶ヨ鏃堕棿 -->
-            <el-form-item
-              class="optionItems"
-              label="鎶ヨ鏃堕棿:"
-              prop="alarmTime"
-            >
-              <el-date-picker
-                v-model="vio.alarmTime"
-                type="datetime"
-                placeholder="閫夋嫨鎶ヨ鏃堕棿"
-              >
-              </el-date-picker>
-            </el-form-item>
-            <!-- 璋冨害鏃堕檺 -->
-            <el-form-item
-              class="optionItems"
-              label="璋冨害鏃堕檺:"
-              prop="limitTime"
-            >
-              <el-date-picker
-                v-model="vio.limitTime"
-                type="datetime"
-                placeholder="閫夋嫨璋冨害鏃堕檺"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </div>
-          <el-form-item prop="url" label="鍥剧墖:" min-width="8">
-            <my-upload
-              :picture-list="imageList"
-              :is-show-upload="dialogType !== 'view'"
-              @setPictureUrl="setPictureUrl"
-              @delPictureUrl="delPictureUrl"
-            ></my-upload>
-          </el-form-item>
+                    <div class="user-item">
+                        <!-- 闂绫诲瀷 -->
+                        <el-form-item
+                            class="optionItem"
+                            label="闂绫诲瀷:"
+                            prop="category"
+                        >
+                            <el-select
+                                v-model="vio.category"
+                                placeholder="杩濊"
+                                disabled
+                            >
+                                <el-option
+                                    v-for="item in typeList"
+                                    :key="item.label"
+                                    :label="item.label"
+                                    :value="item.value"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- 澶х被鍚嶇О -->
+                        <el-form-item
+                            class="optionItems"
+                            label="澶х被鍚嶇О:"
+                            prop="categoryId"
+                        >
+                            <el-select
+                                v-model="vio.categoryId"
+                                placeholder="璇烽�夋嫨澶х被鍚嶇О"
+                                @change="handleBigKindChange"
+                            >
+                                <el-option
+                                    v-for="item in bigKindList"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div class="user-item">
+                        <!-- 灏忕被鍚嶇О -->
+                        <el-form-item
+                            class="optionItems"
+                            label="灏忕被鍚嶇О:"
+                            prop="typeId"
+                        >
+                            <el-select
+                                v-model="vio.typeId"
+                                placeholder="璇烽�夋嫨灏忕被鍚嶇О"
+                                @change="handleSmallKindChange"
+                            >
+                                <el-option
+                                    v-for="item in smallKindList"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- 浜嬩欢绛夌骇 -->
+                        <el-form-item
+                            class="optionItems"
+                            label="浜嬩欢绛夌骇:"
+                            prop="gradeId"
+                        >
+                            <el-cascader
+                                :show-all-levels="false"
+                                v-model="vio.gradeId"
+                                :props="{
+                                    value: 'id',
+                                    label: 'name',
+                                    children: 'children',
+                                    emitPath: false
+                                }"
+                                :options="eventLevelList"
+                            ></el-cascader>
+                        </el-form-item>
+                    </div>
+                    <!-- 妗堢敱 -->
+                    <el-form-item
+                        class="optionItem anyou"
+                        label="妗堢敱:"
+                        prop="actionCause"
+                    >
+                        <el-select
+                            v-model="vio.actionCause"
+                            placeholder="璇疯緭鍏ユ鐢�"
+                            filterable
+                            @blur="selectBlur"
+                        >
+                            <el-option
+                                v-for="item in anYouList"
+                                :key="item.id"
+                                :label="item.name"
+                                :value="item.name"
+                            >
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <div class="user-item">
+                        <!-- 鎵�灞炶閬� -->
+                        <el-form-item
+                            class="optionItems"
+                            label="鎵�灞炶閬�:"
+                            prop="streetId"
+                        >
+                            <el-select
+                                v-model="vio.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="vio.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="site"
+                    >
+                        <el-input
+                            placeholder="璇疯緭鍏ヤ簨鍙戝湴璇︾粏浣嶇疆"
+                            v-model="vio.site"
+                        ></el-input>
+                    </el-form-item>
+                    <div class="user-item">
+                        <!-- 鏄惁鍏宠仈鍟嗛摵 -->
+                        <el-form-item
+                            class="optionItems"
+                            label="鏄惁鍏宠仈鍟嗛摵:"
+                            prop="linkShop"
+                        >
+                            <el-radio-group
+                                v-model="vio.linkShop"
+                                @change="handleLinkShop"
+                            >
+                                <el-radio :label="1">鏄�</el-radio>
+                                <el-radio :label="0">鍚�</el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <!-- 鍏宠仈鍟嗛摵鍚嶇О -->
+                        <el-form-item
+                            class="optionItems"
+                            label="鍏宠仈鍟嗛摵鍚嶇О:"
+                            prop="shopName"
+                        >
+                            <el-select
+                                v-model="vio.shopName"
+                                :disabled="vio.linkShop === 0"
+                                placeholder="璇峰~鍐欏叧鑱斿晢閾哄悕绉�"
+                            >
+                                <el-option
+                                    v-for="store in storeList"
+                                    :key="store.id"
+                                    :value="store.id"
+                                    :label="store.storeName"
+                                ></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <!-- 濉啓杞︾墝鍙� -->
+                    <el-form-item
+                        class="optionItems"
+                        label="濉啓杞︾墝鍙�:"
+                        prop="carNumber"
+                    >
+                        <el-input
+                            placeholder="璇峰~鍐欒溅鐗屽彿"
+                            v-model="vio.carNumber"
+                        ></el-input>
+                    </el-form-item>
+                    <!-- 闂鎻忚堪 -->
+                    <el-form-item
+                        class="optionItems"
+                        label="闂鎻忚堪:"
+                        prop="description"
+                    >
+                        <el-input
+                            type="textarea"
+                            :rows="5"
+                            maxlength="200"
+                            placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�"
+                            v-model="vio.description"
+                        >
+                        </el-input>
+                    </el-form-item>
+                    <div class="user-item">
+                        <!-- 鎶ヨ鏃堕棿 -->
+                        <el-form-item
+                            class="optionItems"
+                            label="鎶ヨ鏃堕棿:"
+                            prop="alarmTime"
+                        >
+                            <el-date-picker
+                                v-model="vio.alarmTime"
+                                type="datetime"
+                                placeholder="閫夋嫨鎶ヨ鏃堕棿"
+                            >
+                            </el-date-picker>
+                        </el-form-item>
+                        <!-- 璋冨害鏃堕檺 -->
+                        <el-form-item
+                            class="optionItems"
+                            label="璋冨害鏃堕檺:"
+                            prop="limitTime"
+                        >
+                            <el-date-picker
+                                v-model="vio.limitTime"
+                                type="datetime"
+                                placeholder="閫夋嫨璋冨害鏃堕檺"
+                            >
+                            </el-date-picker>
+                        </el-form-item>
+                    </div>
+                    <el-form-item prop="url" label="鍥剧墖:" min-width="8">
+                        <my-upload
+                            :picture-list="imageList"
+                            :is-show-upload="dialogType !== 'view'"
+                            @setPictureUrl="setPictureUrl"
+                            @delPictureUrl="delPictureUrl"
+                        ></my-upload>
+                    </el-form-item>
 
-          <el-form-item prop="url" label="瑙嗛:" min-width="8">
-            <my-upload-media
-              :picture-list="mediaList"
-              :is-show-upload="dialogType !== 'view'"
-              @setPictureUrl="setMediaUrl"
-              @delPictureUrl="delMediaUrl"
-            ></my-upload-media>
-          </el-form-item>
-          <!-- 濉啓鍙嶆槧浜轰俊鎭� -->
-          <el-form-item class="optionItems" label="濉啓鍙嶆槧浜轰俊鎭�">
-          </el-form-item>
-          <!-- 鍙嶆槧浜烘儏鍐� -->
-          <div class="user-item">
-            <el-form-item class="optionItems" label="鍙嶆槧浜�:" prop="informant">
-              <el-input v-model="vio.informant"></el-input>
-            </el-form-item>
-            <el-form-item
-              class="optionItems"
-              label="鑱旂郴鏂瑰紡:"
-              prop="informantPhoneCode"
-            >
-              <el-input v-model="vio.informantPhoneCode"></el-input>
-            </el-form-item>
-          </div>
-          <el-form-item
-            class="optionItems"
-            label="韬唤璇佸彿:"
-            prop="informantIdCard"
-          >
-            <el-input v-model="vio.informantIdCard"></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="input-footer">
-        <el-button type="primary" class="confirm" @click="handleSubmit"
-          >纭畾</el-button
-        >
-        <el-button class="back" @click="handleBack">杩斿洖</el-button>
-      </div>
+                    <el-form-item prop="url" label="瑙嗛:" min-width="8">
+                        <my-upload-media
+                            :picture-list="mediaList"
+                            :is-show-upload="dialogType !== 'view'"
+                            @setPictureUrl="setMediaUrl"
+                            @delPictureUrl="delMediaUrl"
+                        ></my-upload-media>
+                    </el-form-item>
+                    <!-- 濉啓鍙嶆槧浜轰俊鎭� -->
+                    <el-form-item class="optionItems" label="濉啓鍙嶆槧浜轰俊鎭�">
+                    </el-form-item>
+                    <!-- 鍙嶆槧浜烘儏鍐� -->
+                    <div class="user-item">
+                        <el-form-item
+                            class="optionItems"
+                            label="鍙嶆槧浜�:"
+                            prop="informant"
+                        >
+                            <el-input v-model="vio.informant"></el-input>
+                        </el-form-item>
+                        <el-form-item
+                            class="optionItems"
+                            label="鑱旂郴鏂瑰紡:"
+                            prop="informantPhoneCode"
+                        >
+                            <el-input
+                                v-model="vio.informantPhoneCode"
+                            ></el-input>
+                        </el-form-item>
+                    </div>
+                    <el-form-item
+                        class="optionItems"
+                        label="韬唤璇佸彿:"
+                        prop="informantIdCard"
+                    >
+                        <el-input v-model="vio.informantIdCard"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <div class="input-footer">
+                <el-button type="primary" class="confirm" @click="handleSubmit"
+                    >纭畾</el-button
+                >
+                <el-button class="back" @click="handleBack">杩斿洖</el-button>
+            </div>
+        </div>
+        <div class="map-area">
+            <!-- <MyMap /> -->
+        </div>
     </div>
-    <div class="map-area">
-      <!-- <MyMap /> -->
-    </div>
-  </div>
 </template>
 <script>
 // import MyMap from "@/components/map";
 import MyMap from "@/components/map/leafletMap.vue";
 import {
-  validateName,
-  validatePhone,
-  validateCarNum,
-  validateCardId,
+    validateName,
+    validatePhone,
+    validateCarNum,
+    validateCardId,
 } from "@/utils/validate";
 import { getTypeList } from "@/utils/helper";
 import { parseTime } from "@/utils/index";
 import { getStoreInfoList } from "@/api/operate/storeManagement";
 import MyUpload from "@/components/myUpload";
 import MyUploadMedia from "@/components/myUpload/media.vue";
-import { FILE_ORIGINAL_URL } from "@/utils";
+import { FILE_ORIGINAL_PATH } from "@/utils";
 export default {
-  components: {
-    MyMap,
-    MyUpload,
-    MyUploadMedia,
-  },
-  data() {
-    const checkCause = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("妗堢敱涓嶈兘涓虹┖"));
-      }
-    };
-    const checkCategory = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("澶х被鍚嶇О涓嶈兘涓虹┖"));
-      }
-    };
-    const checkCommunity = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("鎵�灞炵ぞ鍖轰笉鑳戒负绌�"));
-      }
-    };
-    const checkDesc = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("闂鎻忚堪涓嶈兘涓虹┖"));
-      }
-    };
-    const checkSite = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("浜嬪彂鍦扮偣涓嶈兘涓虹┖"));
-      }
-    };
-    const checkStreet = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("鎵�灞炶閬撲笉鑳戒负绌�"));
-      }
-    };
-    const checkType = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("灏忕被涓嶈兘涓虹┖"));
-      }
-    };
-    const checkGrade = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("浜嬩欢绛夌骇涓嶈兘涓虹┖"));
-      }
-    };
-    const checkDate = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("鎶ヨ鏃堕棿涓嶈兘涓虹┖"));
-      }
-    };
-    const checkName = (rule, value, callback) => {
-      if (value) {
-        validateName(value)
-          ? callback()
-          : callback(new Error("璇疯緭鍏ユ纭殑濮撳悕"));
-      } else {
-        callback();
-      }
-    };
-    const checkCardId = (rule, value, callback) => {
-      if (value) {
-        validateCardId(value)
-          ? callback()
-          : callback(new Error("璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�"));
-      } else {
-        callback();
-      }
-    };
-    const checkPhone = (rule, value, callback) => {
-      if (value) {
-        validatePhone(value)
-          ? callback()
-          : callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙�"));
-      } else {
-        callback();
-      }
-    };
-    const checkLink = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        if (this.vio.linkShop === 1) {
-          callback(new Error("鍏宠仈鍟嗛摵鍚嶅瓧涓嶈兘涓虹┖"));
-        } else {
-          callback();
-        }
-      }
-    };
-    const checkLimit = (rule, value, callback) => {
-      if (value) {
-        callback();
-      } else {
-        callback(new Error("璋冨害鏃堕檺鏃堕棿涓嶈兘涓虹┖"));
-      }
-    };
-    return {
-      vio: {
-        actionCause: "", //妗堢敱
-        carNumber: "", //杞︾墝鍙�
-        categoryId: "", //澶х被
-        communityId: "", //鎵�灞炵ぞ鍖�
-        description: "", //闂鎻忚堪
-        informant: "", //鍙嶆槧浜�
-        informantIdCard: "", //韬唤璇佸彿鐮�
-        informantPhoneCode: "", //鍙嶆槧浜鸿仈绯绘柟寮�
-        linkShop: 0, //鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
-        shopName: "", //鍏宠仈鍟嗛摵鍚嶇О
-        site: "", //浜嬪彂鍦扮偣
-        streetId: "", //鎵�灞炶閬�
-        typeId: "", //灏忕被
-        gradeId: "", //妗堜欢绛夌骇
-        alarmTime: "",
-        limitTime: "", //璋冨害鏃堕檺
-      },
-      createRoleRules: {
-        //妗堢敱
-        actionCause: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: checkCause,
-          },
-        ],
-        //澶х被
-        categoryId: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkCategory,
-          },
-        ],
-        //鎵�灞炵ぞ鍖�
-        communityId: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkCommunity,
-          },
-        ],
-        //闂鎻忚堪
-        description: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: checkDesc,
-          },
-        ],
-        informant: [
-          {
-            required: false,
-            trigger: "blur",
-            validator: checkName,
-          },
-        ],
-        informantIdCard: [
-          {
-            required: false,
-            trigger: "blur",
-            validator: checkCardId,
-          },
-        ],
-        informantPhoneCode: [
-          {
-            required: false,
-            trigger: "blur",
-            validator: checkPhone,
-          },
-        ],
-        // linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
-        shopName: [
-          {
-            required: false,
-            trigger: "blur",
-            validator: checkLink,
-          },
-        ],
-        //浜嬪彂鍦扮偣
-        site: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: checkSite,
-          },
-        ],
-        //鎵�灞炶閬�
-        streetId: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkStreet,
-          },
-        ],
-        //灏忕被
-        typeId: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkType,
-          },
-        ],
-        //妗堜欢绛夌骇
-        gradeId: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkGrade,
-          },
-        ],
-        alarmTime: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkDate,
-          },
-        ],
-        limitTime: [
-          {
-            required: true,
-            trigger: "change",
-            validator: checkLimit,
-          },
-        ],
-      },
-      bigKindList: [],
-      smallKindList: [],
-      eventLevelList: [],
-      typeList: [
-        {
-          label: "杩濊",
-          value: 1,
-        },
-        {
-          label: "杩濆缓",
-          value: 2,
-        },
-      ],
-      streetList: [],
-      communityList: [],
-      anYouList: [],
-      storeList: [],
-      imageList: [],
-      mediaList: [],
-      dialogType: "add",
-    };
-  },
-  created() {
-    const { setBigKindList, getStreetList, getEventLevel } = this;
-    this.vio.category = this.mytype + 1;
-    setBigKindList();
-    getStreetList(0);
-    getEventLevel();
-    this.getShopList();
-  },
-  methods: {
-    handleStop() {
-      this.refresh();
+    components: {
+        MyMap,
+        MyUpload,
+        MyUploadMedia,
     },
-    // 璁剧疆澶х被
-    async setBigKindList() {
-      this.bigKindList = await this.getBigKind();
-    },
-    // 璁剧疆灏忕被
-    async setSmallKindList(id) {
-      let arr = await this.getSmallKind();
-      this.smallKindList = arr.filter((item) => {
-        if (item.parentId === id) {
-          return item;
-        }
-      });
-    },
-    // 璁剧疆妗堢敱
-    async setAnYouList(id) {
-      let arr = await this.getAnYouList();
-      this.anYouList = arr.filter((item) => {
-        if (item.parentId === id) {
-          return item;
-        }
-      });
-    },
-    // 鏌ヨ澶х被鍒楄〃
-    async getBigKind() {
-      let arr = [];
-      await this.$axios({
-        method: "get",
-        url: "sccg/violations/query/type_second",
-      }).then((res) => {
-        arr = res.data;
-      });
-      return arr;
-    },
-    // 鑾峰彇灏忕被鍒楄〃
-    async getSmallKind() {
-      let arr = [];
-      await this.$axios({
-        method: "get",
-        url: "sccg/violations/query/type_third",
-      }).then((res) => {
-        arr = res.data;
-      });
-      return arr;
-    },
-    // 鑾峰彇妗堜欢绛夌骇鍒楄〃
-    async getEventLevel() {
-      this.eventLevelList = await getTypeList(1, "02");
-    },
-    // 鏌ヨ鎵�灞炴鐢�
-    async getAnYouList() {
-      let arr = [];
-      await this.$axios({
-        method: "get",
-        url: "sccg/violations/query/type_four",
-      }).then((res) => {
-        arr = res.data;
-      });
-      return arr;
-    },
-    // 鎻愪氦娉ㄥ唽淇℃伅
-    handleSubmit() {
-      this.vio.pic = JSON.stringify(this.imageList);
-      this.vio.media = JSON.stringify(this.mediaList);
-      this.$refs.user.validate((valid) => {
-        if (valid) {
-          const { vio } = this;
-          this.$axios({
-            method: "post",
-            url: "sccg/base_case/addition_violation",
-            data: {
-              ...vio,
-              alarmTime: parseTime(vio.alarmTime),
-              limitTime: parseTime(vio.limitTime),
-            },
-          }).then((res) => {
-            if (res.code === 200) {
-              this.$message({
-                type: "success",
-                message: res.message,
-              });
-              this.$emit("changeDialog", { flag: false });
-              this.refresh();
+    data() {
+        const checkCause = (rule, value, callback) => {
+            if (value) {
+                callback();
             } else {
-              this.$message({
-                type: "warning",
-                message: res.message,
-              });
+                callback(new Error("妗堢敱涓嶈兘涓虹┖"));
             }
-          });
-        } else {
-          return false;
-        }
-      });
+        };
+        const checkCategory = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("澶х被鍚嶇О涓嶈兘涓虹┖"));
+            }
+        };
+        const checkCommunity = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("鎵�灞炵ぞ鍖轰笉鑳戒负绌�"));
+            }
+        };
+        const checkDesc = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("闂鎻忚堪涓嶈兘涓虹┖"));
+            }
+        };
+        const checkSite = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("浜嬪彂鍦扮偣涓嶈兘涓虹┖"));
+            }
+        };
+        const checkStreet = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("鎵�灞炶閬撲笉鑳戒负绌�"));
+            }
+        };
+        const checkType = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("灏忕被涓嶈兘涓虹┖"));
+            }
+        };
+        const checkGrade = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("浜嬩欢绛夌骇涓嶈兘涓虹┖"));
+            }
+        };
+        const checkDate = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("鎶ヨ鏃堕棿涓嶈兘涓虹┖"));
+            }
+        };
+        const checkName = (rule, value, callback) => {
+            if (value) {
+                validateName(value)
+                    ? callback()
+                    : callback(new Error("璇疯緭鍏ユ纭殑濮撳悕"));
+            } else {
+                callback();
+            }
+        };
+        const checkCardId = (rule, value, callback) => {
+            if (value) {
+                validateCardId(value)
+                    ? callback()
+                    : callback(new Error("璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�"));
+            } else {
+                callback();
+            }
+        };
+        const checkPhone = (rule, value, callback) => {
+            if (value) {
+                validatePhone(value)
+                    ? callback()
+                    : callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙�"));
+            } else {
+                callback();
+            }
+        };
+        const checkLink = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                if (this.vio.linkShop === 1) {
+                    callback(new Error("鍏宠仈鍟嗛摵鍚嶅瓧涓嶈兘涓虹┖"));
+                } else {
+                    callback();
+                }
+            }
+        };
+        const checkLimit = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error("璋冨害鏃堕檺鏃堕棿涓嶈兘涓虹┖"));
+            }
+        };
+        return {
+            vio: {
+                actionCause: "", //妗堢敱
+                carNumber: "", //杞︾墝鍙�
+                categoryId: "", //澶х被
+                communityId: "", //鎵�灞炵ぞ鍖�
+                description: "", //闂鎻忚堪
+                informant: "", //鍙嶆槧浜�
+                informantIdCard: "", //韬唤璇佸彿鐮�
+                informantPhoneCode: "", //鍙嶆槧浜鸿仈绯绘柟寮�
+                linkShop: 0, //鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
+                shopName: "", //鍏宠仈鍟嗛摵鍚嶇О
+                site: "", //浜嬪彂鍦扮偣
+                streetId: "", //鎵�灞炶閬�
+                typeId: "", //灏忕被
+                gradeId: "", //妗堜欢绛夌骇
+                alarmTime: "",
+                limitTime: "", //璋冨害鏃堕檺
+            },
+            createRoleRules: {
+                //妗堢敱
+                actionCause: [
+                    {
+                        required: true,
+                        trigger: "blur",
+                        validator: checkCause,
+                    },
+                ],
+                //澶х被
+                categoryId: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkCategory,
+                    },
+                ],
+                //鎵�灞炵ぞ鍖�
+                communityId: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkCommunity,
+                    },
+                ],
+                //闂鎻忚堪
+                description: [
+                    {
+                        required: true,
+                        trigger: "blur",
+                        validator: checkDesc,
+                    },
+                ],
+                informant: [
+                    {
+                        required: false,
+                        trigger: "blur",
+                        validator: checkName,
+                    },
+                ],
+                informantIdCard: [
+                    {
+                        required: false,
+                        trigger: "blur",
+                        validator: checkCardId,
+                    },
+                ],
+                informantPhoneCode: [
+                    {
+                        required: false,
+                        trigger: "blur",
+                        validator: checkPhone,
+                    },
+                ],
+                // linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
+                shopName: [
+                    {
+                        required: false,
+                        trigger: "blur",
+                        validator: checkLink,
+                    },
+                ],
+                //浜嬪彂鍦扮偣
+                site: [
+                    {
+                        required: true,
+                        trigger: "blur",
+                        validator: checkSite,
+                    },
+                ],
+                //鎵�灞炶閬�
+                streetId: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkStreet,
+                    },
+                ],
+                //灏忕被
+                typeId: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkType,
+                    },
+                ],
+                //妗堜欢绛夌骇
+                gradeId: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkGrade,
+                    },
+                ],
+                alarmTime: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkDate,
+                    },
+                ],
+                limitTime: [
+                    {
+                        required: true,
+                        trigger: "change",
+                        validator: checkLimit,
+                    },
+                ],
+            },
+            bigKindList: [],
+            smallKindList: [],
+            eventLevelList: [],
+            typeList: [
+                {
+                    label: "杩濊",
+                    value: 1,
+                },
+                {
+                    label: "杩濆缓",
+                    value: 2,
+                },
+            ],
+            streetList: [],
+            communityList: [],
+            anYouList: [],
+            storeList: [],
+            imageList: [],
+            mediaList: [],
+            dialogType: "add",
+        };
     },
-    // 杩斿洖
-    handleBack() {
-      this.$emit("changeDialog", { flag: false });
+    created() {
+        const { setBigKindList, getStreetList, getEventLevel } = this;
+        this.vio.category = this.mytype + 1;
+        setBigKindList();
+        getStreetList(0);
+        getEventLevel();
+        this.getShopList();
     },
-    // 鑾峰彇琛楅亾淇℃伅
-    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.vio.communityId = "";
-      this.$axios({
-        method: "get",
-        url: `sccg/sccg_region/getChildren/${id}`,
-      }).then((res) => {
-        this.communityList = res.data;
-      });
-    },
-    // 鍏宠仈鍟嗛摵
-    handleLinkShop(value) {
-      value === 0 ? (this.vio.shopName = "") : "";
-    },
-    // 澶х被閫変腑
-    handleBigKindChange(id) {
-      this.vio.actionCause = "";
-      this.vio.typeId = "";
-      this.setSmallKindList(id);
-    },
-    // 灏忕被閫変腑
-    handleSmallKindChange(id) {
-      this.vio.actionCause = "";
-      this.setAnYouList(id);
-    },
-    // 妗堢敱杈撳叆
-    selectBlur(e) {
-      if (e.target.value) {
-        this.vio.actionCause = e.target.value;
-      }
-    },
-    setPictureUrl({ url }) {
-      this.imageList.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${url}`);
-    //   this.imagedata.url = this.imageList.join(",");
-    },
-    delPictureUrl({ url }) {
-      this.imageList = this.imageList.filter((item) => item !== url);
-    //   this.imagedata.url = this.imageList.join(",");
-    },
+    methods: {
+        handleStop() {
+            this.refresh();
+        },
+        // 璁剧疆澶х被
+        async setBigKindList() {
+            this.bigKindList = await this.getBigKind();
+        },
+        // 璁剧疆灏忕被
+        async setSmallKindList(id) {
+            let arr = await this.getSmallKind();
+            this.smallKindList = arr.filter((item) => {
+                if (item.parentId === id) {
+                    return item;
+                }
+            });
+        },
+        // 璁剧疆妗堢敱
+        async setAnYouList(id) {
+            let arr = await this.getAnYouList();
+            this.anYouList = arr.filter((item) => {
+                if (item.parentId === id) {
+                    return item;
+                }
+            });
+        },
+        // 鏌ヨ澶х被鍒楄〃
+        async getBigKind() {
+            let arr = [];
+            await this.$axios({
+                method: "get",
+                url: "sccg/violations/query/type_second",
+            }).then((res) => {
+                arr = res.data;
+            });
+            return arr;
+        },
+        // 鑾峰彇灏忕被鍒楄〃
+        async getSmallKind() {
+            let arr = [];
+            await this.$axios({
+                method: "get",
+                url: "sccg/violations/query/type_third",
+            }).then((res) => {
+                arr = res.data;
+            });
+            return arr;
+        },
+        // 鑾峰彇妗堜欢绛夌骇鍒楄〃
+        async getEventLevel() {
+            this.eventLevelList = await getTypeList(1, "02");
+        },
+        // 鏌ヨ鎵�灞炴鐢�
+        async getAnYouList() {
+            let arr = [];
+            await this.$axios({
+                method: "get",
+                url: "sccg/violations/query/type_four",
+            }).then((res) => {
+                arr = res.data;
+            });
+            return arr;
+        },
+        // 鎻愪氦娉ㄥ唽淇℃伅
+        handleSubmit() {
+            this.vio.imageUrls = []
+            this.imageList.forEach(o => {
+                o = o.replace(`${FILE_ORIGINAL_PATH}`, '')
+                this.vio.imageUrls.push(o);
+            });
+            this.vio.videoUrls = this.mediaList;
+            this.$refs.user.validate((valid) => {
+                if (valid) {
+                    const { vio } = this;
+                    this.$axios({
+                        method: "post",
+                        url: "sccg/base_case/addition_violation",
+                        data: {
+                            ...vio,
+                            alarmTime: parseTime(vio.alarmTime),
+                            limitTime: parseTime(vio.limitTime),
+                        },
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            this.$message({
+                                type: "success",
+                                message: res.message,
+                            });
+                            this.$emit("changeDialog", { flag: false });
+                            this.refresh();
+                        } else {
+                            this.$message({
+                                type: "warning",
+                                message: res.message,
+                            });
+                        }
+                    });
+                } else {
+                    return false;
+                }
+            });
+        },
+        // 杩斿洖
+        handleBack() {
+            this.$emit("changeDialog", { flag: false });
+        },
+        // 鑾峰彇琛楅亾淇℃伅
+        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.vio.communityId = "";
+            this.$axios({
+                method: "get",
+                url: `sccg/sccg_region/getChildren/${id}`,
+            }).then((res) => {
+                this.communityList = res.data;
+            });
+        },
+        // 鍏宠仈鍟嗛摵
+        handleLinkShop(value) {
+            value === 0 ? (this.vio.shopName = "") : "";
+        },
+        // 澶х被閫変腑
+        handleBigKindChange(id) {
+            this.vio.actionCause = "";
+            this.vio.typeId = "";
+            this.setSmallKindList(id);
+        },
+        // 灏忕被閫変腑
+        handleSmallKindChange(id) {
+            this.vio.actionCause = "";
+            this.setAnYouList(id);
+        },
+        // 妗堢敱杈撳叆
+        selectBlur(e) {
+            if (e.target.value) {
+                this.vio.actionCause = e.target.value;
+            }
+        },
+        setPictureUrl({ url }) {
 
-    setMediaUrl({ url }) {
-      this.mediaList.push(`${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${url}`);
-      this.mediaList.url = this.mediaList.join(",");
+            this.imageList.push(FILE_ORIGINAL_PATH + url);
+            //   this.imagedata.url = this.imageList.join(",");
+        },
+        delPictureUrl({ url }) {
+            this.imageList = this.imageList.filter((item) => item !== url);
+            //   this.imagedata.url = this.imageList.join(",");
+        },
+
+        setMediaUrl({ url }) {
+
+            this.mediaList.push(FILE_ORIGINAL_PATH + url);
+            this.mediaList.url = this.mediaList.join(",");
+        },
+        delMediaUrl({ url }) {
+            this.mediaList = this.mediaList.filter((item) => item !== url);
+            this.mediaList.url = this.mediaList.join(",");
+        },
+        getShopList() {
+            getStoreInfoList({ current: 1, size: 100 })
+                .then(({ list }) => {
+                    this.storeList = list;
+                })
+                .catch((err) => {
+                    this.$message.error(err);
+                });
+        },
     },
-    delMediaUrl({ url }) {
-      this.mediaList = this.mediaList.filter((item) => item !== url);
-      this.mediaList.url = this.mediaList.join(",");
-    },
-    getShopList() {
-      getStoreInfoList({ current: 1, size: 100 })
-        .then(({ list }) => {
-          this.storeList = list;
-        })
-        .catch((err) => {
-          this.$message.error(err);
-        });
-    },
-  },
-  props: ["mytype", "changeDialog", "refresh"],
+    props: ["mytype", "changeDialog", "refresh"],
 };
 </script>
 <style lang="scss" scoped>
 .vio {
-  display: flex;
-  padding: 20px 10px 50px;
+    display: flex;
+    padding: 20px 10px 50px;
 
-  .input-area {
-    flex: 3;
-    padding: 10px 20px;
+    .input-area {
+        flex: 3;
+        padding: 10px 20px;
 
-    .input-header {
-      color: #4b9bb7;
+        .input-header {
+            color: #4b9bb7;
 
-      .input-header__title {
-        line-height: 60px;
-        font-weight: 650;
-        font-size: 20px;
-      }
+            .input-header__title {
+                line-height: 60px;
+                font-weight: 650;
+                font-size: 20px;
+            }
 
-      .input-header__tip {
-        line-height: 40px;
-      }
+            .input-header__tip {
+                line-height: 40px;
+            }
+        }
+
+        .user-item {
+            display: flex;
+            justify-content: space-between;
+        }
+
+        .input-form {
+            .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-footer {
+            display: flex;
+            justify-content: center;
+        }
     }
 
-    .user-item {
-      display: flex;
-      justify-content: space-between;
+    .map-area {
+        flex: 2;
     }
 
-    .input-form {
-      .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;
-        // }
-      }
+    .anyou {
+        :deep(.el-select) {
+            display: block;
+        }
     }
-
-    .input-footer {
-      display: flex;
-      justify-content: center;
-    }
-  }
-
-  .map-area {
-    flex: 2;
-  }
-
-  .anyou {
-    :deep(.el-select) {
-      display: block;
-    }
-  }
 }
 </style>

--
Gitblit v1.8.0