xiaodai2022 преди 2 години
родител
ревизия
d80505e61b

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/0.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
dist/static/js/app.js


+ 0 - 11
dist/static/js/chunk-libs.js

@@ -16658,17 +16658,6 @@ eval("/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * T
 
 /***/ }),
 
-/***/ "./node_modules/tty-browserify/index.js":
-/*!**********************************************!*\
-  !*** ./node_modules/tty-browserify/index.js ***!
-  \**********************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("exports.isatty = function () { return false; };\n\nfunction ReadStream() {\n  throw new Error('tty.ReadStream is not implemented');\n}\nexports.ReadStream = ReadStream;\n\nfunction WriteStream() {\n  throw new Error('tty.ReadStream is not implemented');\n}\nexports.WriteStream = WriteStream;\n\n\n//# sourceURL=webpack:///./node_modules/tty-browserify/index.js?");
-
-/***/ }),
-
 /***/ "./node_modules/v-viewer/dist/v-viewer.js":
 /*!************************************************!*\
   !*** ./node_modules/v-viewer/dist/v-viewer.js ***!

+ 48 - 24
src/components/addr-add-edit-modal/index.vue

@@ -24,10 +24,7 @@
         class="demo-ruleForm"
       >
         <el-form-item label="收货总数" prop="receipt_quantity">
-          <el-input
-            v-model="ruleForm.receipt_quantity"
-            placeholder="收货总数"
-          />
+          <el-input v-model="ruleForm.receipt_quantity" placeholder="收货总数" />
         </el-form-item>
         <el-form-item label="收货联系人" prop="contactor">
           <el-input
@@ -40,16 +37,8 @@
         <el-form-item label="收货联系电话" prop="mobile">
           <el-input v-model="ruleForm.mobile" maxlength="11" placeholder="收货联系电话" />
         </el-form-item>
-        <el-form-item
-          v-if="type == '1'"
-          label="省市区(文件导入)"
-          prop="in_addr"
-        >
-          <el-input
-            v-model="ruleForm.in_addr"
-            disabled
-            placeholder="省市区(文件导入)"
-          />
+        <el-form-item v-if="type == '1'" label="省市区(文件导入)" prop="in_addr">
+          <el-input v-model="ruleForm.in_addr" disabled placeholder="省市区(文件导入)" />
         </el-form-item>
         <el-form-item
           :label="type == '1' ? '省市区(系统解析)' : '收货省市区'"
@@ -62,11 +51,7 @@
           />
         </el-form-item>
         <el-form-item label="详细地址" prop="addr">
-          <el-input
-            v-model="ruleForm.addr"
-            maxlength="250"
-            placeholder="详细地址"
-          />
+          <el-input v-model="ruleForm.addr" maxlength="250" placeholder="详细地址" />
         </el-form-item>
         <div style="text-align: right">
           <el-button type="primary" @click="submitForm">保 存 </el-button>
@@ -80,7 +65,15 @@
 </template>
 
 <script>
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import { province_list, city_list, county_list } from "@/assets/js/area-data";
 import asyncRequest from "@/apis/components/addr-add-edit-modal";
 export default {
@@ -109,6 +102,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       roleList: [],
       loading: false,
@@ -142,7 +167,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -164,7 +189,7 @@ export default {
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -334,5 +359,4 @@ export default {
 };
 </script>
 
-  <style>
-</style>
+<style></style>

+ 60 - 26
src/components/in-addr-model/index.vue

@@ -32,10 +32,19 @@
             show-overflow-tooltip
           />
 
-       
-          <el-table-column prop="contactor" label="收件联系人"  show-overflow-tooltip width="85" />
+          <el-table-column
+            prop="contactor"
+            label="收件联系人"
+            show-overflow-tooltip
+            width="85"
+          />
 
-          <el-table-column prop="mobile" label="收货联系电话"  show-overflow-tooltip width="100" />
+          <el-table-column
+            prop="mobile"
+            label="收货联系电话"
+            show-overflow-tooltip
+            width="100"
+          />
           <el-table-column
             show-overflow-tooltip
             prop="in_addr"
@@ -43,7 +52,7 @@
             width="150"
           />
           <el-table-column
-           show-overflow-tooltip
+            show-overflow-tooltip
             prop="addr_code_name"
             label="收货省市区(系统解析)"
             width="150"
@@ -53,10 +62,7 @@
           <el-table-column fixed="right" width="80" label="操作">
             <template slot-scope="scope">
               <el-tooltip effect="dark" content="编辑" placement="top">
-                <i
-                  class="el-icon-edit tb-icon"
-                  @click="openHouseModal(scope.$index)"
-                ></i>
+                <i class="el-icon-edit tb-icon" @click="openHouseModal(scope.$index)"></i>
               </el-tooltip>
               <el-tooltip effect="dark" content="删除" placement="top">
                 <i
@@ -77,9 +83,7 @@
         @refresh="showAddrAddEditModalRefresh"
       />
       <div class="tr" style="padding: 10px 0 0 0">
-        <el-button type="primary" size="small" @click="submitForm"
-          >保 存
-        </el-button>
+        <el-button type="primary" size="small" @click="submitForm">保 存 </el-button>
       </div>
     </el-card>
   </el-dialog>
@@ -87,7 +91,15 @@
 <script>
 import resToken from "@/mixins/resToken";
 import { province_list, city_list, county_list } from "@/assets/js/area-data";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import AddrAddEditModal from "@/components/addr-add-edit-modal";
 export default {
   name: "inAddrModel",
@@ -117,6 +129,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       showAddrAddEditModal: false,
       AddrAddEditModalIndex: -1,
@@ -137,7 +181,6 @@ export default {
         order_addr: [], //收货地址
       },
       rules: {
-    
         receipt_quantity: [
           {
             required: true,
@@ -150,7 +193,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -164,14 +207,13 @@ export default {
           {
             type: "array",
             required: false,
-            message: "收货省市区不能为空",
             trigger: "change",
           },
         ],
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -195,7 +237,6 @@ export default {
     this.get_code();
   },
   methods: {
-    
     async resetForm() {
       // 重置
       await this.$nextTick(() => {
@@ -407,14 +448,7 @@ export default {
         isok: true,
         message: "",
       };
-      const {
-        arrive_time,
-        receipt_quantity,
-        contactor,
-        mobile,
-        addr_code,
-        addr,
-      } = sitem;
+      const { arrive_time, receipt_quantity, contactor, mobile, addr_code, addr } = sitem;
       if (receipt_quantity === "" && model.isok) {
         model.isok = false;
         model.message = "收货总数不能为空!";
@@ -508,7 +542,7 @@ export default {
 };
 </script>
 
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .account {
   .gongshi {
     span {

+ 68 - 3
src/utils/validate.js

@@ -2,8 +2,6 @@
  * Created by PanJiaChen on 16/11/18.
  */
 
-import { isatty } from "tty";
-
 /** https
  * @param {string} path
  * @returns {Boolean}
@@ -397,7 +395,10 @@ export function accMul(arg1, arg2) {
 
 export function isSpecialSymbol(s) {
   // console.log(s);
-  const str = (s ?? "").replace(/\\|\/|\"|\'|\<|\>|\{|\}|\[|\]|\:|\^|\$|\!|\~|\`|\|/g, "");
+  const str = (s ?? "").replace(
+    /\\|\/|\"|\'|\<|\>|\{|\}|\[|\]|\:|\^|\$|\!|\~|\`|\|/g,
+    ""
+  );
   // console.log(str);
   const pattern = new RegExp("[`~!@#$^&()=|{}':;',<>/?]");
   let specialStr = "";
@@ -406,3 +407,67 @@ export function isSpecialSymbol(s) {
   }
   return s.length > specialStr.length;
 }
+
+export function isAddr(s) {
+  let isok = false;
+  const regList = [
+    "多地",
+    "另给",
+    "线下",
+    "地址",
+    "单独给",
+    "内部沟通",
+    "微信",
+    "钉钉",
+    "短信",
+    "文件",
+    "另外",
+    "后面",
+    "以后",
+    "晚点",
+    "后补",
+    "再给",
+  ];
+  for (let i = 0; i < regList.length; i++) {
+    const is = s.includes(regList[i]);
+    if (is) {
+      isok = is;
+    }
+  }
+  const sstr = /^[0-9A-Za-z]*$/;
+
+  if (sstr.test(s)) {
+    isok = true;
+  }
+
+  if (!isok) {
+    let reslist = [];
+    let str = "";
+
+    for (let i = 0; i < s.length; i++) {
+      let isa = sstr.test(s[i]);
+      // console.log(isa);
+      if (isa) {
+        str += s[i];
+      } else {
+        reslist.push(str);
+        str = "";
+      }
+      if (i === s.length - 1) {
+        reslist.push(str);
+        str = "";
+      }
+    }
+    for (let b = 0; b < reslist.length; b++) {
+      if (reslist[b].length > 5) {
+        isok = true;
+      }
+    }
+  }
+  return !isok;
+}
+export function hasSpace(s) {
+  const str1 = s.replace(/\s/g, "");
+  const str2 = str1.replace(/[\r\n]/g, "");
+  return !(str2 === s);
+}

+ 18 - 3
src/views/goodStore/goodsCost/columns.js

@@ -1,4 +1,4 @@
-import { isSpecialSymbol } from "@/utils/validate";
+import { isSpecialSymbol, hasSpace } from "@/utils/validate";
 
 //是否定制
 const options1 = [
@@ -163,7 +163,22 @@ const validate_good_img = (rule, value, callback) => {
   }
 };
 const validate_desc = (rule, value, callback) => {
-  if (isSpecialSymbol(value)) {
+  const { required } = rule;
+  if (required && value.length == 0) {
+    callback(new Error("不能为空!"));
+  } else if (isSpecialSymbol(value)) {
+    callback(new Error("不能使用英文特殊字符!"));
+  } else {
+    callback();
+  }
+};
+const validate_good_name = (rule, value, callback) => {
+  const { required } = rule;
+  if (required && value.length == 0) {
+    callback(new Error("不能为空!"));
+  } else if (hasSpace(value)) {
+    callback(new Error("不能出现空格/回车/换行符!"));
+  } else if (isSpecialSymbol(value)) {
     callback(new Error("不能使用英文特殊字符!"));
   } else {
     callback();
@@ -246,7 +261,7 @@ const rules = {
   good_name: [
     {
       required: true,
-      validator: validate_desc,
+      validator: validate_good_name,
       trigger: "blur",
     },
   ],

+ 43 - 4
src/views/orderEntry/orderConfirm/columns.js

@@ -1,4 +1,12 @@
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 const validatemobile = (rule, value, callback) => {
   if (value === "") {
     callback(new Error("收货电话不能为空!"));
@@ -28,7 +36,38 @@ const validate_num_0 = (rule, value, callback) => {
     callback();
   }
 };
-
+const validatecontactor = (rule, value, callback) => {
+  if (value === "") {
+    callback(new Error("联系人不能为空!"));
+  } else {
+    if (value.length < 2 || value.length > 10) {
+      callback(new Error("联系人规则为2~10位汉字!"));
+    } else {
+      if (!isChinese(value)) {
+        callback(new Error("联系人规则为2~10位汉字!"));
+      } else if (isEmoticon(value)) {
+        callback(new Error("联系人规则为2~10位汉字!"));
+      } else {
+        callback();
+      }
+    }
+  }
+};
+const validateAddr = (rule, value, callback) => {
+  if (value === "") {
+    callback(new Error("详细地址不能为空!"));
+  } else {
+    if (hasSpace(value)) {
+      callback(new Error("不能出现空格/回车/换行符!"));
+    } else if (isSpecialSymbol(value)) {
+      callback(new Error("不能使用英文特殊字符!"));
+    } else if (isAddr(value)) {
+      callback();
+    } else {
+      callback(new Error("详细地址填写不规范!"));
+    }
+  }
+};
 const options = [
   {
     value: "1",
@@ -101,7 +140,7 @@ const rules = {
     {
       required: true,
       trigger: "blur",
-      message: "收货人不能为空",
+      validator: validatecontactor,
     },
   ],
   mobile: [
@@ -123,7 +162,7 @@ const rules = {
   addr: [
     {
       required: true,
-      message: "详细地址不能为空",
+      validator: validateAddr,
       trigger: "blur",
     },
   ],

+ 46 - 172
src/views/orderEntry/orderConfirm/index.vue

@@ -1,9 +1,6 @@
 <template>
   <div class="orderConfirm pagePadding">
-    <div
-      style="width: 100%"
-      v-if=" powers.some((i) => i == '001')"
-    >
+    <div style="width: 100%" v-if="powers.some((i) => i == '001')">
       <show-data-table
         style="margin: 0 0 10px 0; padding: 0"
         :sitem="sitem"
@@ -12,12 +9,9 @@
         border
       >
         <template #status>
-          <el-tag
-            :size="'mini'"
-            :type="sitem.status_type"
-            style="margin: auto"
-            >{{ sitem.status_name }}</el-tag
-          >
+          <el-tag :size="'mini'" :type="sitem.status_type" style="margin: auto">{{
+            sitem.status_name
+          }}</el-tag>
         </template>
         <template #error_msg>
           <span :style="{ color: sitem.error_msg ? 'red' : '' }">{{
@@ -81,12 +75,7 @@
                         <el-input
                           v-model="ruleForm.platform_code"
                           maxlength="100"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="平台订单号"
                         /> </el-form-item
                     ></el-col>
@@ -96,12 +85,7 @@
                         <el-input
                           v-model="ruleForm.po_code"
                           maxlength="100"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="其他单号"
                         />
                       </el-form-item>
@@ -179,10 +163,7 @@
                               ><span>{{ conGoodData.platform_code_en }}</span>
                             </li> -->
                           </ul>
-                          <i
-                            class="el-icon-warning-outline fr"
-                            slot="reference"
-                          ></i>
+                          <i class="el-icon-warning-outline fr" slot="reference"></i>
                         </el-popover>
                       </template>
 
@@ -195,25 +176,17 @@
                               ><span>{{ conGoodData.companyNo }}</span>
                             </li>
                           </ul>
-                          <i
-                            class="el-icon-warning-outline fr"
-                            slot="reference"
-                          ></i>
+                          <i class="el-icon-warning-outline fr" slot="reference"></i>
                         </el-popover>
                       </template>
 
                       <template slot="cat_info">
-                        <span
-                          v-for="(si, sii) in conGoodData.cat_info"
-                          :key="si + sii"
+                        <span v-for="(si, sii) in conGoodData.cat_info" :key="si + sii"
                           >{{ sii === 0 ? "" : "_" }}{{ si.name }}</span
                         >
                       </template>
                       <template slot="exclusive">
-                        <span
-                          v-for="(si, sii) in conGoodData.exclusive"
-                          :key="si.id"
-                        >
+                        <span v-for="(si, sii) in conGoodData.exclusive" :key="si.id">
                           <span v-if="sii !== 0">/</span>
                           <span>{{ si.name }}</span>
                         </span>
@@ -224,9 +197,8 @@
                           :size="'mini'"
                           v-text="
                             (
-                              options4.find(
-                                (item) => item.id == conGoodData.is_stock
-                              ) || {}
+                              options4.find((item) => item.id == conGoodData.is_stock) ||
+                              {}
                             ).name || '--'
                           "
                         />
@@ -244,12 +216,7 @@
                           v-model="ruleForm.platform_time"
                           style="width: 100%"
                           value-format="yyyy-MM-dd HH:mm:ss"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           :picker-options="pickerOptions"
                           @change="selectTime"
                         >
@@ -261,20 +228,12 @@
                           v-model="ruleForm.plat_code"
                           maxlength="100"
                           readonly
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           @focus="showModel = true"
                           placeholder="平台商品编号"
                       /></el-form-item>
                     </el-col>
-                    <el-col
-                      :span="24"
-                      v-if="subGoodData && subGoodData.good_thumb_img"
-                    >
+                    <el-col :span="24" v-if="subGoodData && subGoodData.good_thumb_img">
                       <show-data-table
                         :sitem="subGoodData"
                         :columns="onlineColumns"
@@ -298,11 +257,7 @@
                             <span v-else>_</span>
                             <span>{{ si.spec_name }}[{{ si.spec_value }}]</span>
                           </span>
-                          <el-popover
-                            placement="top"
-                            width="300"
-                            trigger="hover"
-                          >
+                          <el-popover placement="top" width="300" trigger="hover">
                             <ul>
                               <li>
                                 <span>上线商品编号:</span
@@ -324,44 +279,29 @@
                                 ><span>{{ subGoodData.platform_code_en }}</span>
                               </li> -->
                             </ul>
-                            <i
-                              class="el-icon-warning-outline fr"
-                              slot="reference"
-                            ></i>
+                            <i class="el-icon-warning-outline fr" slot="reference"></i>
                           </el-popover>
                         </template>
 
                         <template slot="company">
                           <span>{{ subGoodData.company }}</span>
-                          <el-popover
-                            placement="top"
-                            width="300"
-                            trigger="hover"
-                          >
+                          <el-popover placement="top" width="300" trigger="hover">
                             <ul>
                               <li>
                                 <span>业务企业编号:</span
                                 ><span>{{ subGoodData.companyNo }}</span>
                               </li>
                             </ul>
-                            <i
-                              class="el-icon-warning-outline fr"
-                              slot="reference"
-                            ></i>
+                            <i class="el-icon-warning-outline fr" slot="reference"></i>
                           </el-popover>
                         </template>
                         <template slot="cat_info">
-                          <span
-                            v-for="(si, sii) in subGoodData.cat_info"
-                            :key="si + sii"
+                          <span v-for="(si, sii) in subGoodData.cat_info" :key="si + sii"
                             >{{ sii === 0 ? "" : "_" }}{{ si.name }}</span
                           >
                         </template>
                         <template slot="exclusive">
-                          <span
-                            v-for="(si, sii) in subGoodData.exclusive"
-                            :key="si.id"
-                          >
+                          <span v-for="(si, sii) in subGoodData.exclusive" :key="si.id">
                             <span v-if="sii !== 0">/</span>
                             <span>{{ si.name }}</span>
                           </span>
@@ -414,12 +354,7 @@
                           v-model="ruleForm.mode"
                           style="width: 100%"
                           clearable
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="收费模式"
                         >
                           <el-option
@@ -438,12 +373,7 @@
                           v-model="ruleForm.sale_source"
                           style="width: 100%"
                           clearable
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="销售渠道"
                         >
                           <el-option
@@ -488,12 +418,7 @@
                         <el-input
                           v-model="ruleForm.contactor"
                           maxlength="100"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="收货人"
                         />
                       </el-form-item>
@@ -503,12 +428,7 @@
                         <el-input
                           v-model="ruleForm.mobile"
                           maxlength="100"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="收货电话"
                         />
                       </el-form-item>
@@ -533,9 +453,7 @@
                   </div></el-col
                 >
                 <el-col :span="9">
-                  <div style="min-height: 26px">
-                    {{ confirmSitem.addr_name }}&nbsp;
-                  </div>
+                  <div style="min-height: 26px">{{ confirmSitem.addr_name }}&nbsp;</div>
                   <div style="min-height: 26px">{{ confirmSitem.addr }}</div>
                 </el-col>
                 <el-col :span="11" class="nop">
@@ -545,12 +463,7 @@
                         <select-area
                           :value="ruleForm.addr_code"
                           :size="'mini'"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="收货省市区"
                           @selectChange="select_area_change($event)"
                         />
@@ -561,12 +474,7 @@
                         <el-input
                           v-model="ruleForm.addr"
                           maxlength="100"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           placeholder="详细地址"
                         />
                       </el-form-item>
@@ -578,9 +486,7 @@
           </div>
 
           <div class="tab-row">
-            <div class="tab-item-label">
-              <label style="color: red">*</label>订单备注
-            </div>
+            <div class="tab-item-label"><label style="color: red">*</label>订单备注</div>
             <div class="tab-item-main">
               <el-row class="tab-title">
                 <el-col :span="4" style="min-height: 26px">{{
@@ -594,11 +500,7 @@
                     <el-input
                       v-model="ruleForm.order_remark"
                       maxlength="100"
-                      :disabled="
-                        !(
-                          status === '2' && powers.some((i) => i == '008')
-                        )
-                      "
+                      :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                       placeholder="订单备注" /></el-form-item
                 ></el-col>
               </el-row>
@@ -634,12 +536,7 @@
                           :size="'mini'"
                           :controls="false"
                           :append="''"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           @reschange="number_change($event, 'num')"
                         />
                       </el-form-item>
@@ -650,12 +547,7 @@
                           :values="ruleForm.price"
                           :placeholder="'单价'"
                           :min="price_min"
-                          :disabled="
-                            !(
-                              status === '2' &&
-                              powers.some((i) => i == '008')
-                            )
-                          "
+                          :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                           :max="100000000000"
                           :position="'right'"
                           :precision="2"
@@ -690,11 +582,7 @@
                       v-model="ruleForm.activity_code"
                       style="width: 100%"
                       clearable
-                      :disabled="
-                        !(
-                          status === '2' && powers.some((i) => i == '008')
-                        )
-                      "
+                      :disabled="!(status === '2' && powers.some((i) => i == '008'))"
                       @change="get_new_price"
                       placeholder="活动名称"
                     >
@@ -729,10 +617,8 @@
               </el-row>
             </div>
           </div>
-          <div
-            class="tab-row"
-            v-if="status === '2' && powers.some((i) => i == '008')"
-          >
+
+          <div class="tab-row" v-if="status === '2' && powers.some((i) => i == '008')">
             <div class="tab-item-label">
               <label style="color: transparent">*</label>
             </div>
@@ -761,7 +647,7 @@
     </div>
   </div>
 </template>
-   <script>
+<script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/orderEntry/orderConfirm";
@@ -790,9 +676,8 @@ export default {
   computed: {
     powers() {
       const tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "orderConfirm"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "orderConfirm") ||
+        {};
       const { action } = tran ?? {};
       return action ?? [];
     },
@@ -987,8 +872,7 @@ export default {
         activity_code: activity_code || "", //优惠活动名称
         order_remark: order_remark || "", //订单备注
         addr: addr || "", //联系地址
-        addr_code:
-          addr_code && addr_code.length > 0 ? addr_code.split(",") : [], //省市区
+        addr_code: addr_code && addr_code.length > 0 ? addr_code.split(",") : [], //省市区
       };
       this.ruleForm.before_discount_all_price = this.accMul(
         this.ruleForm.num,
@@ -1037,20 +921,14 @@ export default {
           error_msg,
         };
         this.importSitem = simport ? JSON.parse(JSON.stringify(simport)) : null;
-        this.confirmSitem = confirm
-          ? JSON.parse(JSON.stringify(confirm))
-          : null;
+        this.confirmSitem = confirm ? JSON.parse(JSON.stringify(confirm)) : null;
 
         this.status = status;
-        if (
-          !(this.status === "3" || this.status === "4" || this.status === "5")
-        ) {
+        if (!(this.status === "3" || this.status === "4" || this.status === "5")) {
           console.log(12345);
           this.subSitem = confirm ? JSON.parse(JSON.stringify(confirm)) : null;
         } else {
-          this.subSitem = user_update
-            ? JSON.parse(JSON.stringify(user_update))
-            : null;
+          this.subSitem = user_update ? JSON.parse(JSON.stringify(user_update)) : null;
         }
         if (
           this.confirmSitem !== null &&
@@ -1183,8 +1061,7 @@ export default {
           if (!isok) {
             this.ruleForm.price = "0";
           } else {
-            if (price * 1 >= this.ruleForm.price * 1)
-              this.ruleForm.price = price;
+            if (price * 1 >= this.ruleForm.price * 1) this.ruleForm.price = price;
           }
         }
       }
@@ -1225,7 +1102,7 @@ export default {
     async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-            if (this.loading) {
+          if (this.loading) {
             return;
           }
           this.loading = true;
@@ -1264,8 +1141,7 @@ export default {
       } catch (e) {}
 
       return (
-        (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) /
-        Math.pow(10, m)
+        (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) / Math.pow(10, m)
       );
     },
     async set_salegetprice(model) {
@@ -1294,7 +1170,7 @@ export default {
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .orderConfirm {
   font-size: 13px;
 
@@ -1338,5 +1214,3 @@ export default {
   }
 }
 </style>
-   
-   

+ 25 - 25
src/views/process/done/index.vue

@@ -22,7 +22,7 @@
       <template #table-header="{}">
         <div style="width: 100%; height: 30px">
           <el-row style="padding-left: 80px">
-            <el-col :span="7" style="width: 350px">
+            <!-- <el-col :span="7" style="width: 350px">
               <period-date-picker
                 :type="1"
                 :width="'155px'"
@@ -31,10 +31,10 @@
                 :end="parmValue.end"
                 @timeReturned="handleTime"
               />
-            </el-col>
-            <el-col :span="5" style="width: 205px; float: left">
+            </el-col> -->
+            <!-- <el-col :span="5" style="width: 205px; float: left">
               <el-select
-                v-model="parmValue.xiugai2"
+                v-model="parmValue.order_code"
                 :size="'mini'"
                 style="width: 205px"
                 placeholder="流程名称"
@@ -51,7 +51,7 @@
                   :value="item.type"
                 />
               </el-select>
-            </el-col>
+            </el-col> -->
             <el-col :span="3" style="width: 66px; float: right">
               <el-button
                 type="primary"
@@ -131,10 +131,10 @@ export default {
       process_router_list: JSON.parse(JSON.stringify(routerList)),
       routerList,
       parmValue: {
-        xiugai1: "",
-        xiugai2: "",
-        start: "",
-        end: "",
+        // xiugai1: "",
+        order_code: "",
+        // start: "",
+        // end: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
       },
@@ -188,18 +188,18 @@ export default {
         this.$message.warning("暂未找到相关流程!");
       }
     },
-    async handleTime(e) {
-      this.parmValue.start = e.startTime || "";
-      this.parmValue.end = e.endTime || "";
-      if (
-        (this.parmValue.start !== "" && this.parmValue.end !== "") ||
-        (this.parmValue.start === "" && this.parmValue.end === "")
-      ) {
-        this.pageInfo.curr = 1;
-        this.parmValue.page = 1;
-        await this.searchList();
-      }
-    },
+    // async handleTime(e) {
+    //   this.parmValue.start = e.startTime || "";
+    //   this.parmValue.end = e.endTime || "";
+    //   if (
+    //     (this.parmValue.start !== "" && this.parmValue.end !== "") ||
+    //     (this.parmValue.start === "" && this.parmValue.end === "")
+    //   ) {
+    //     this.pageInfo.curr = 1;
+    //     this.parmValue.page = 1;
+    //     await this.searchList();
+    //   }
+    // },
     restSearch() {
       // 表格 - 分页
       this.pageInfo = {
@@ -208,10 +208,10 @@ export default {
         total: 0,
       };
       this.parmValue = {
-        xiugai1: "",
-        xiugai2: "",
-        start: "",
-        end: "",
+        // xiugai1: "",
+        // xiugai2: "",
+        // start: "",
+        order_code: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
       };

+ 25 - 25
src/views/process/oing/index.vue

@@ -24,7 +24,7 @@
       <template #table-header="{}">
         <div style="width: 100%; height: 30px">
           <el-row :gutter="10" style="padding-left: 80px">
-            <el-col :span="7" style="width: 350px">
+            <!-- <el-col :span="7" style="width: 350px">
               <period-date-picker
                 :type="1"
                 :width="'155px'"
@@ -33,10 +33,10 @@
                 :end="parmValue.end"
                 @timeReturned="handleTime"
               />
-            </el-col>
-            <el-col :span="5" style="width: 205px; float: left">
+            </el-col> -->
+            <!-- <el-col :span="5" style="width: 205px; float: left">
               <el-select
-                v-model="parmValue.xiugai2"
+                v-model="parmValue.order_code"
                 :size="'mini'"
                 style="width: 205px"
                 placeholder="流程名称"
@@ -53,7 +53,7 @@
                   :value="item.type"
                 />
               </el-select>
-            </el-col>
+            </el-col> -->
             <el-col :span="3" style="width: 66px; float: right">
               <el-button
                 type="primary"
@@ -131,10 +131,10 @@ export default {
       routerList,
       modelId: 0,
       parmValue: {
-        xiugai1: "",
-        xiugai2: "",
-        start: "",
-        end: "",
+        // xiugai1: "",
+        // xiugai2: "",
+        // start: "",
+        order_code: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
       },
@@ -194,18 +194,18 @@ export default {
         this.$message.warning("暂未找到相关流程!");
       }
     },
-    async handleTime(e) {
-      this.parmValue.start = e.startTime || "";
-      this.parmValue.end = e.endTime || "";
-      if (
-        (this.parmValue.start !== "" && this.parmValue.end !== "") ||
-        (this.parmValue.start === "" && this.parmValue.end === "")
-      ) {
-        this.pageInfo.curr = 1;
-        this.parmValue.page = 1;
-        await this.searchList();
-      }
-    },
+    // async handleTime(e) {
+    //   this.parmValue.start = e.startTime || "";
+    //   this.parmValue.end = e.endTime || "";
+    //   if (
+    //     (this.parmValue.start !== "" && this.parmValue.end !== "") ||
+    //     (this.parmValue.start === "" && this.parmValue.end === "")
+    //   ) {
+    //     this.pageInfo.curr = 1;
+    //     this.parmValue.page = 1;
+    //     await this.searchList();
+    //   }
+    // },
 
     restSearch() {
       // 表格 - 分页
@@ -215,10 +215,10 @@ export default {
         total: 0,
       };
       this.parmValue = {
-        xiugai1: "",
-        xiugai2: "",
-        start: "",
-        end: "",
+        // xiugai1: "",
+        // xiugai2: "",
+        // start: "",
+        order_code: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
       };

+ 14 - 2
src/views/purchaseIn/workbench/columns.js

@@ -1,4 +1,4 @@
-import { isSpecialSymbol } from "@/utils/validate";
+import { isSpecialSymbol, hasSpace } from "@/utils/validate";
 //是否定制
 const options1 = [
   { id: "0", name: "否" },
@@ -153,6 +153,18 @@ const validate_desc = (rule, value, callback) => {
     callback();
   }
 };
+const validate_good_name = (rule, value, callback) => {
+  const { required } = rule;
+  if (required && value.length == 0) {
+    callback(new Error("不能为空!"));
+  } else if (hasSpace(value)) {
+    callback(new Error("不能出现空格/回车/换行符!"));
+  } else if (isSpecialSymbol(value)) {
+    callback(new Error("不能使用英文特殊字符!"));
+  } else {
+    callback();
+  }
+};
 const rules = {
   cat_id: [
     {
@@ -189,7 +201,7 @@ const rules = {
   pname: [
     {
       required: true,
-      validator: validate_desc,
+      validator: validate_good_name,
       trigger: "blur",
     },
   ],

+ 54 - 33
src/views/sellOut/project/components/buyGoodModal.vue

@@ -97,13 +97,8 @@
             >
               <template slot-scope="scope">
                 <span>{{ scope.row.good_name }}</span>
-                <span
-                  v-for="(si, sii) in scope.row.specinfo"
-                  :key="si.id + sii"
-                >
-                  {{ sii === 0 ? "_" : "-" }}{{ si.spec_name }}[{{
-                    si.spec_value_name
-                  }}]
+                <span v-for="(si, sii) in scope.row.specinfo" :key="si.id + sii">
+                  {{ sii === 0 ? "_" : "-" }}{{ si.spec_name }}[{{ si.spec_value_name }}]
                 </span>
               </template>
             </el-table-column>
@@ -120,12 +115,7 @@
               width="110"
               show-overflow-tooltip
             />
-            <el-table-column
-              prop="num"
-              label="数量"
-              width="100"
-              show-overflow-tooltip
-            />
+            <el-table-column prop="num" label="数量" width="100" show-overflow-tooltip />
             <el-table-column
               prop="sendtype"
               label="发货方式"
@@ -172,9 +162,7 @@
                 <template slot-scope="scope">
                   <el-form-item
                     v-if="scope.row.edit"
-                    :prop="
-                      'order_addr.' + scope.$index + '.' + 'receipt_quantity'
-                    "
+                    :prop="'order_addr.' + scope.$index + '.' + 'receipt_quantity'"
                     :rules="addrRules.receipt_quantity"
                     :size="'mini'"
                     :style="{ marginBottom: scope.row.edit ? '13px' : '0' }"
@@ -185,9 +173,7 @@
                       maxlength="10"
                     />
                   </el-form-item>
-                  <span v-if="!scope.row.edit">{{
-                    scope.row.receipt_quantity
-                  }}</span>
+                  <span v-if="!scope.row.edit">{{ scope.row.receipt_quantity }}</span>
                 </template>
               </el-table-column>
 
@@ -260,9 +246,7 @@
                       @selectChange="select_area_change($event, scope.$index)"
                     />
                   </el-form-item>
-                  <span v-if="!scope.row.edit">{{
-                    scope.row.addr_code_name
-                  }}</span>
+                  <span v-if="!scope.row.edit">{{ scope.row.addr_code_name }}</span>
                 </template>
               </el-table-column>
               <el-table-column
@@ -379,16 +363,24 @@
     </el-card>
   </el-dialog>
 </template>
-   <script>
+<script>
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/project";
 import searchStockGoodModal from "@/components/search-stock-good-modal";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import inAddrModel from "@/components/in-addr-model";
 import { ShowDataTableColumns } from "./ShowDataTableColumns";
 export default {
   name: "buyGoodModal",
-  props: ["showModel", "sitem", ""],
+  props: ["showModel", "sitem"],
   mixins: [resToken],
   components: { searchStockGoodModal, inAddrModel },
   data() {
@@ -414,6 +406,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       loading: false,
       addrmodel: false,
@@ -453,7 +477,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -468,14 +492,13 @@ export default {
           {
             type: "array",
             required: false,
-            message: "收货省市区不能为空",
             trigger: "change",
           },
         ],
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -591,8 +614,7 @@ export default {
           this.$refs.addrForm.clearValidate();
         }
         let list1 = this.project_list[index].order_good;
-        this.order_good =
-          list1.length > 0 ? JSON.parse(JSON.stringify(list1)) : [];
+        this.order_good = list1.length > 0 ? JSON.parse(JSON.stringify(list1)) : [];
 
         this.order_good[0].good_img = this.order_good[0].good_img.split(",");
         let list2 = this.project_list[index].order_addr;
@@ -715,8 +737,7 @@ export default {
 };
 </script>
 
-   
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 // .capitalClaim {
 .excelUploadBox {
   position: relative;
@@ -784,4 +805,4 @@ export default {
   }
 }
 // }
-</style>
+</style>

+ 58 - 62
src/views/sellOut/salesOrder/components/addEdit.vue

@@ -100,11 +100,7 @@
               style="width: 100%"
               row-key="key"
             >
-              <el-table-column
-                prop="wsm_supplierNo"
-                label="发货公司编号"
-                width="145"
-              />
+              <el-table-column prop="wsm_supplierNo" label="发货公司编号" width="145" />
 
               <el-table-column
                 show-overflow-tooltip
@@ -112,22 +108,14 @@
                 label="发货公司名称"
                 min-width="145"
               />
-              <el-table-column
-                prop="wsm_code"
-                label="发货仓库编码"
-                width="180"
-              />
+              <el-table-column prop="wsm_code" label="发货仓库编码" width="180" />
               <el-table-column
                 show-overflow-tooltip
                 prop="wsm_name"
                 label="发货仓库名称"
                 min-width="180"
               />
-              <el-table-column
-                prop="usable_stock"
-                label="商品可用库存"
-                width="120"
-              />
+              <el-table-column prop="usable_stock" label="商品可用库存" width="120" />
 
               <el-table-column prop="num" label="下单数量" width="150">
                 <template slot-scope="scope">
@@ -145,11 +133,7 @@
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="original_price"
-                label="销售价"
-                width="110"
-              />
+              <el-table-column prop="original_price" label="销售价" width="110" />
 
               <el-table-column fixed="right" width="80" label="操作">
                 <template slot-scope="scope">
@@ -159,10 +143,7 @@
                     v-if="!scope.row.edit"
                     placement="top"
                   >
-                    <i
-                      class="el-icon-edit tb-icon"
-                      @click="editRow(scope.$index)"
-                    ></i>
+                    <i class="el-icon-edit tb-icon" @click="editRow(scope.$index)"></i>
                   </el-tooltip>
 
                   <el-tooltip
@@ -207,34 +188,14 @@
               style="width: 100%"
               row-key="key"
             >
-              <el-table-column
-                prop="receipt_quantity"
-                label="收货总数"
-                min-width="125"
-              />
+              <el-table-column prop="receipt_quantity" label="收货总数" min-width="125" />
 
-              <el-table-column
-                prop="arrive_time"
-                label="最晚收货日期"
-                width="150"
-              />
-              <el-table-column
-                prop="contactor"
-                label="收件联系人"
-                min-width="110"
-              />
+              <el-table-column prop="arrive_time" label="最晚收货日期" width="150" />
+              <el-table-column prop="contactor" label="收件联系人" min-width="110" />
 
-              <el-table-column
-                prop="mobile"
-                label="收货联系电话"
-                min-width="130"
-              />
+              <el-table-column prop="mobile" label="收货联系电话" min-width="130" />
 
-              <el-table-column
-                prop="addr_code"
-                label="收货省市区"
-                min-width="230"
-              />
+              <el-table-column prop="addr_code" label="收货省市区" min-width="230" />
               <el-table-column prop="addr" label="详细地址" min-width="170" />
               <el-table-column fixed="right" width="80">
                 <template slot="header" slot-scope="scope">
@@ -292,19 +253,25 @@
           />
         </el-col>
         <el-col :span="24" style="text-align: right">
-          <el-button :size="'mini'" type="primary" @click="submitForm"
-            >保 存
-          </el-button>
+          <el-button :size="'mini'" type="primary" @click="submitForm">保 存 </el-button>
         </el-col>
       </el-row>
     </el-card>
   </el-dialog>
 </template>
-   <script>
+<script>
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/salesOrder/detail";
 import searchStockGoodModal from "@/components/search-stock-good-modal";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import inAddrModel from "@/components/in-addr-model";
 import AddrAddEditModal from "@/components/addr-add-edit-modal";
 export default {
@@ -335,6 +302,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       showAddrAddEditModal: false,
       AddrAddEditModalIndex: -1,
@@ -410,7 +409,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -432,7 +431,7 @@ export default {
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -772,9 +771,7 @@ export default {
             return;
           }
           if (stockT !== addrT) {
-            this.$message.warning(
-              "库存出库总数量,与收货地址信息中的总数量不一致!"
-            );
+            this.$message.warning("库存出库总数量,与收货地址信息中的总数量不一致!");
             this.loading = false;
             return;
           }
@@ -805,8 +802,7 @@ export default {
 };
 </script>
 
-   
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 // .capitalClaim {
 .excelUploadBox {
   position: relative;
@@ -874,4 +870,4 @@ export default {
   }
 }
 // }
-</style>
+</style>

+ 44 - 5
src/views/sellOut/salesOrder/components/addForm.vue

@@ -429,7 +429,7 @@
                   <el-input
                     v-model="scope.row.contactor"
                     placeholder="收件联系人"
-                    maxlength="20"
+                    maxlength="10"
                     :disabled="!scope.row.edit"
                   />
                 </el-form-item>
@@ -624,7 +624,15 @@
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/salesOrder";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import inAddrModel from "@/components/in-addr-model";
 import showVoucherModel from "@/components/show-voucher-model";
 import searchGoodOnlineModal from "@/components/search-good-online-modal";
@@ -683,6 +691,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       ShowDataTableColumns: addColumns,
       AddrAddEditModalIndex: -1,
@@ -853,7 +893,7 @@ export default {
         contactor: {
           required: true,
           trigger: "blur",
-          message: "联系人不能为空",
+          validator: validatecontactor,
         },
         mobile: {
           required: true,
@@ -864,12 +904,11 @@ export default {
         order_addr: {
           type: "array",
           required: false,
-          message: "收货省市区不能为空",
           trigger: "change",
         },
         addr: {
           required: true,
-          message: "详细地址不能为空",
+          validator: validateAddr,
           trigger: "blur",
         },
       },

+ 44 - 4
src/views/sellOut/salesOrder/components/out-order-add-model.vue

@@ -104,7 +104,15 @@
 <script>
 import asyncRequest from "@/apis/service/sellOut/salesOrder/detail";
 import resToken from "@/mixins/resToken";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 export default {
   name: "Account",
   props: ["showModel", "id", "sitem"],
@@ -132,6 +140,38 @@ export default {
         }
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       roleList: [],
       loading: false,
@@ -151,7 +191,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -173,7 +213,7 @@ export default {
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -282,7 +322,7 @@ export default {
 };
 </script>
 
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .account {
   .gongshi {
     span {

+ 14 - 2
src/views/sellOut/zixunOrder/columns.js

@@ -1,4 +1,4 @@
-import { isSpecialSymbol } from "@/utils/validate";
+import { isSpecialSymbol ,hasSpace} from "@/utils/validate";
 const validate_budget_price = (rule, value, callback) => {
   if (value === "") {
     callback(new Error("预算单价不能为空!"));
@@ -66,6 +66,18 @@ const validate_desc = (rule, value, callback) => {
     callback();
   }
 };
+const validate_good_name = (rule, value, callback) => {
+  const { required } = rule;
+  if (required && value.length == 0) {
+    callback(new Error("不能为空!"));
+  } else if (hasSpace(value)) {
+    callback(new Error("不能出现空格/回车/换行符!"));
+  } else if (isSpecialSymbol(value)) {
+    callback(new Error("不能使用英文特殊字符!"));
+  } else {
+    callback();
+  }
+};
 const rules = {
   arrival_time: [
     {
@@ -119,7 +131,7 @@ const rules = {
       trigger: "change",
     },
   ],
-  good_name: [{ required: true, validator: validate_desc, trigger: "blur" }],
+  good_name: [{ required: true, validator: validate_good_name, trigger: "blur" }],
 
   model: [
     {

+ 43 - 4
src/views/sellOut/zixunOrder/components/buyGoodModal.vue

@@ -563,7 +563,15 @@
 import resToken from "@/mixins/resToken";
 import asyncRequest from "@/apis/service/sellOut/zixunOrder";
 import searchStockGoodModal from "@/components/search-stock-good-modal";
-import { isnumber, isMobile } from "@/utils/validate";
+import {
+  isnumber,
+  isMobile,
+  isChinese,
+  isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 import inAddrModel from "@/components/in-addr-model";
 import { ShowDataTableColumns } from "./ShowDataTableColumns";
 export default {
@@ -611,6 +619,38 @@ export default {
         callback();
       }
     };
+    const validatecontactor = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("联系人不能为空!"));
+      } else {
+        if (value.length < 2 || value.length > 10) {
+          callback(new Error("联系人规则为2~10位汉字!"));
+        } else {
+          if (!isChinese(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else if (isEmoticon(value)) {
+            callback(new Error("联系人规则为2~10位汉字!"));
+          } else {
+            callback();
+          }
+        }
+      }
+    };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       loading: false,
       total_price: "0",
@@ -739,7 +779,7 @@ export default {
           {
             required: true,
             trigger: "blur",
-            message: "联系人不能为空",
+            validator: validatecontactor,
           },
         ],
         mobile: [
@@ -754,14 +794,13 @@ export default {
           {
             type: "array",
             required: false,
-            message: "收货省市区不能为空",
             trigger: "change",
           },
         ],
         addr: [
           {
             required: true,
-            message: "详细地址不能为空",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],

+ 26 - 51
src/views/serviceParam/storeSet/addEdit.vue

@@ -96,11 +96,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item
-                  label="仓库负责人"
-                  prop="contactor_id"
-                  style="width: 100%"
-                >
+                <el-form-item label="仓库负责人" prop="contactor_id" style="width: 100%">
                   <search-account
                     :value="ruleForm.contactor_id"
                     :placeholder="'仓库负责人'"
@@ -139,11 +135,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item
-                  label="仓库所在详细地址"
-                  prop="addr"
-                  label-width="140px"
-                >
+                <el-form-item label="仓库所在详细地址" prop="addr" label-width="140px">
                   <el-input
                     placeholder="仓库所在详细地址"
                     v-model="ruleForm.addr"
@@ -211,11 +203,7 @@
                   /> </el-form-item
               ></el-col>
               <el-col :span="12">
-                <el-form-item
-                  label="收发货详细地址"
-                  prop="wsm_addr"
-                  label-width="126px"
-                >
+                <el-form-item label="收发货详细地址" prop="wsm_addr" label-width="126px">
                   <el-input
                     placeholder="收发货详细地址"
                     maxlength="100"
@@ -229,11 +217,7 @@
           </el-form>
         </el-col>
         <el-col :span="24" style="text-align: right">
-          <el-button
-            type="primary"
-            :size="'mini'"
-            @click="submitForm"
-            v-if="!isDetail"
+          <el-button type="primary" :size="'mini'" @click="submitForm" v-if="!isDetail"
             >保 存
           </el-button>
           <el-button :size="'mini'" @click="showModelThis = false">{{
@@ -244,18 +228,10 @@
     </el-card>
   </el-dialog>
 </template>
-   <script>
+<script>
 import asyncRequest from "@/apis/service/serviceParam/storeSet";
 import resToken from "@/mixins/resToken";
-import {
-  isnumber,
-  isMobile,
-  validEmail,
-  isAlphanumeric,
-  isChinese,
-  isEmoticon,
-  validAlphabets,
-} from "@/utils/validate";
+import { isMobile, isSpecialSymbol, hasSpace, isAddr } from "@/utils/validate";
 import { mapGetters } from "vuex";
 export default {
   name: "storeSet",
@@ -287,7 +263,21 @@ export default {
         }
       }
     };
-
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       supplier_name: "",
       accountNames: "",
@@ -334,15 +324,9 @@ export default {
       },
       rulesThis: this.rules,
       rules: {
-        name: [
-          { required: true, message: "仓库名称不能为空", trigger: "blur" },
-        ],
-        position: [
-          { required: true, message: "联系人职位不能为空", trigger: "blur" },
-        ],
-        wsmtype: [
-          { required: true, message: "请选择仓库类型", trigger: "change" },
-        ],
+        name: [{ required: true, message: "仓库名称不能为空", trigger: "blur" }],
+        position: [{ required: true, message: "联系人职位不能为空", trigger: "blur" }],
+        wsmtype: [{ required: true, message: "请选择仓库类型", trigger: "change" }],
         companyNo: [
           {
             required: true,
@@ -366,15 +350,7 @@ export default {
             trigger: "change",
           },
         ],
-        addr: [
-          { required: true, message: "仓库详细地址", trigger: "blur" },
-          {
-            min: 1,
-            max: 100,
-            message: "长度在 1 到 100 个字符",
-            trigger: "blur",
-          },
-        ],
+        addr: [{ required: true, validator: validateAddr, trigger: "blur" }],
 
         contactor_id: [
           {
@@ -666,8 +642,7 @@ export default {
 };
 </script>
 
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .storeSet {
 }
 </style>
-   

+ 54 - 93
src/views/serviceParam/supplier/components/baseForm.vue

@@ -11,9 +11,7 @@
   >
     <el-row>
       <el-col :span="6">
-        <div class="supplierAdd-title" style="margin: 6px 0 0 10px">
-          基础信息
-        </div></el-col
+        <div class="supplierAdd-title" style="margin: 6px 0 0 10px">基础信息</div></el-col
       >
       <el-col :span="6">
         <el-form-item label="合作状态" prop="coop_state">
@@ -213,11 +211,7 @@
           <div class="good_info_img_div">
             <ul class="clear">
               <template
-                v-if="
-                  ruleForm &&
-                  ruleForm.prove_img &&
-                  ruleForm.prove_img.length > 0
-                "
+                v-if="ruleForm && ruleForm.prove_img && ruleForm.prove_img.length > 0"
               >
                 <li
                   class="img-show-li"
@@ -263,9 +257,7 @@
           </div>
         </el-form-item>
       </el-col>
-      <el-col :span="24"
-        ><div class="supplierAdd-title">联系人信息</div></el-col
-      >
+      <el-col :span="24"><div class="supplierAdd-title">联系人信息</div></el-col>
       <el-col :span="6">
         <el-form-item label="姓名" prop="contactor">
           <el-input
@@ -306,9 +298,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="24">
-        <div class="supplierAdd-title">营业执照信息</div></el-col
-      >
+      <el-col :span="24"> <div class="supplierAdd-title">营业执照信息</div></el-col>
 
       <el-col :span="16">
         <el-form-item label="供应商名称" prop="name">
@@ -323,16 +313,11 @@
       <el-col
         :span="8"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
-        <el-form-item
-          label="统一社会信用代码"
-          prop="registercode"
-          label-width="140px"
-        >
+        <el-form-item label="统一社会信用代码" prop="registercode" label-width="140px">
           <el-input
             v-model="ruleForm.registercode"
             :disabled="type == 'view'"
@@ -344,8 +329,7 @@
       <el-col
         :span="8"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
@@ -363,8 +347,7 @@
       <el-col
         :span="8"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
@@ -380,8 +363,7 @@
       <el-col
         :span="8"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
@@ -397,8 +379,7 @@
       <el-col
         :span="24"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
@@ -415,8 +396,7 @@
       <el-col
         :span="24"
         v-if="
-          (ruleForm.supplier_img === '' &&
-            (type === 'add' || type == 'edit')) ||
+          (ruleForm.supplier_img === '' && (type === 'add' || type == 'edit')) ||
           type == 'view'
         "
       >
@@ -438,9 +418,7 @@
         style="text-align: right"
         v-if="type === 'add' || type === 'edit'"
       >
-        <el-button type="primary" :size="'small'" @click="submitForm"
-          >保 存
-        </el-button>
+        <el-button type="primary" :size="'small'" @click="submitForm">保 存 </el-button>
       </el-col>
     </el-row>
   </el-form>
@@ -448,8 +426,14 @@
 <script>
 import asyncRequest from "@/apis/service/serviceParam/supplier";
 import resToken from "@/mixins/resToken";
-import { isLicense, isMobile, isqz } from "@/utils/validate";
-
+import {
+  isLicense,
+  isMobile,
+  isqz,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
+} from "@/utils/validate";
 export default {
   name: "supplierAdd",
   mixins: [resToken],
@@ -488,6 +472,21 @@ export default {
         }
       }
     };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       loading: false,
       hand_name: "",
@@ -544,32 +543,18 @@ export default {
       ruleForm: {},
       rulesThis: this.rules,
       rules: {
-        coop_state: [
-          { required: true, message: "请选择合作状态", trigger: "change" },
-        ],
-        source: [
-          { required: true, message: "请选择供应商来源", trigger: "change" },
-        ],
+        coop_state: [{ required: true, message: "请选择合作状态", trigger: "change" }],
+        source: [{ required: true, message: "请选择供应商来源", trigger: "change" }],
 
-        type: [
-          { required: true, message: "请选择申请类型", trigger: "change" },
-        ],
-        category: [
-          { required: true, message: "请选择所属类别", trigger: "change" },
-        ],
-        delivery_way: [
-          { required: true, message: "请选择物流方式", trigger: "change" },
-        ],
+        type: [{ required: true, message: "请选择申请类型", trigger: "change" }],
+        category: [{ required: true, message: "请选择所属类别", trigger: "change" }],
+        delivery_way: [{ required: true, message: "请选择物流方式", trigger: "change" }],
 
         supplier_type: [
           { required: true, message: "请选择供应商类型", trigger: "change" },
         ],
-        level: [
-          { required: true, message: "请选择供应商级别", trigger: "change" },
-        ],
-        pay_type: [
-          { required: true, message: "请选择付款方式", trigger: "change" },
-        ],
+        level: [{ required: true, message: "请选择供应商级别", trigger: "change" }],
+        pay_type: [{ required: true, message: "请选择付款方式", trigger: "change" }],
         prove_img: [
           {
             required: false,
@@ -586,39 +571,19 @@ export default {
             trigger: "change",
           },
         ],
-        contactor: [
-          { required: true, message: "姓名不能为空", trigger: "blur" },
-        ],
-        mobile: [
-          { required: true, validator: validatemobile, trigger: "blur" },
-        ],
-        telephone: [
-          { required: false, validator: validatetelephone, trigger: "blur" },
-        ],
-        position: [
-          { required: true, message: "职位不能为空", trigger: "blur" },
-        ],
-        registercode: [
-          { required: true, validator: validateLicense, trigger: "blur" },
-        ],
-        name: [
-          { required: true, message: "供应商名称不能为空", trigger: "blur" },
-        ],
-        nature: [
-          { required: true, message: "公司类型不能为空", trigger: "change" },
-        ],
-        addr: [
-          { required: true, message: "详细地址不能为空", trigger: "blur" },
-        ],
-        legaler: [
-          { required: true, message: "法人代表不能为空", trigger: "blur" },
-        ],
+        contactor: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
+        mobile: [{ required: true, validator: validatemobile, trigger: "blur" }],
+        telephone: [{ required: false, validator: validatetelephone, trigger: "blur" }],
+        position: [{ required: true, message: "职位不能为空", trigger: "blur" }],
+        registercode: [{ required: true, validator: validateLicense, trigger: "blur" }],
+        name: [{ required: true, message: "供应商名称不能为空", trigger: "blur" }],
+        nature: [{ required: true, message: "公司类型不能为空", trigger: "change" }],
+        addr: [{ required: true, validator: validateAddr, trigger: "blur" }],
+        legaler: [{ required: true, message: "法人代表不能为空", trigger: "blur" }],
         registertime: [
           { required: true, message: "成立时间不能为空", trigger: "change" },
         ],
-        scope: [
-          { required: true, message: "营业执照不能为空", trigger: "blur" },
-        ],
+        scope: [{ required: true, message: "营业执照不能为空", trigger: "blur" }],
       },
     };
   },
@@ -810,11 +775,7 @@ export default {
       if (res !== "break") {
         this.$message.error("图片上传失败!");
         this.$refs.ruleForm.validateField(
-          type === 1
-            ? "supplier_img"
-            : type === 2
-            ? "good_img"
-            : "good_info_img"
+          type === 1 ? "supplier_img" : type === 2 ? "good_img" : "good_info_img"
         );
       }
     },
@@ -841,7 +802,7 @@ export default {
 };
 </script>
 
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .supplierAdd {
   .good_info_img_div {
     ul {

+ 28 - 22
src/views/serviceParam/workCompany/addEdit.vue

@@ -26,10 +26,7 @@
             class="demo-ruleForm"
           >
             <el-row style="">
-              <el-col
-                :span="1"
-                style="height: 336px; border-right: 1px solid #dcdfe6"
-              >
+              <el-col :span="1" style="height: 336px; border-right: 1px solid #dcdfe6">
                 <ul class="tc fff">
                   <li>企</li>
                   <li>业</li>
@@ -243,11 +240,9 @@
                         v-if="isDetail !== '007'"
                         >保 存
                       </el-button>
-                      <el-button
-                        :size="'small'"
-                        @click="showModelThis = false"
-                        >{{ isDetail == "007" ? "关 闭" : "取 消" }}</el-button
-                      >
+                      <el-button :size="'small'" @click="showModelThis = false">{{
+                        isDetail == "007" ? "关 闭" : "取 消"
+                      }}</el-button>
                     </div>
                   </el-col>
                 </el-row>
@@ -259,7 +254,7 @@
     </el-card>
   </el-dialog>
 </template>
-   <script>
+<script>
 import asyncRequest from "@/apis/service/serviceParam/workCompany";
 import resToken from "@/mixins/resToken";
 import {
@@ -268,6 +263,9 @@ import {
   isPhone,
   isChinese,
   isEmoticon,
+  isSpecialSymbol,
+  hasSpace,
+  isAddr,
 } from "@/utils/validate";
 export default {
   name: "workCompany",
@@ -322,6 +320,21 @@ export default {
         }
       }
     };
+    const validateAddr = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("详细地址不能为空!"));
+      } else {
+        if (hasSpace(value)) {
+          callback(new Error("不能出现空格/回车/换行符!"));
+        } else if (isSpecialSymbol(value)) {
+          callback(new Error("不能使用英文特殊字符!"));
+        } else if (isAddr(value)) {
+          callback();
+        } else {
+          callback(new Error("详细地址填写不规范!"));
+        }
+      }
+    };
     return {
       pickerOptions: {
         disabledDate(time) {
@@ -351,9 +364,7 @@ export default {
       },
       rulesThis: this.rules,
       rules: {
-        company: [
-          { required: true, message: "企业名称不能为空!", trigger: "blur" },
-        ],
+        company: [{ required: true, message: "企业名称不能为空!", trigger: "blur" }],
         type: [
           {
             required: true,
@@ -386,7 +397,7 @@ export default {
         inv_addr: [
           {
             required: true,
-            message: "详细地址不能为空!",
+            validator: validateAddr,
             trigger: "blur",
           },
         ],
@@ -418,12 +429,8 @@ export default {
             trigger: "blur",
           },
         ],
-        addr: [
-          { required: true, message: "联系地址不能为空!", trigger: "blur" },
-        ],
-        inv_scope: [
-          { required: true, message: "经营范围不能为空!", trigger: "blur" },
-        ],
+        addr: [{ required: true, message: "联系地址不能为空!", trigger: "blur" }],
+        inv_scope: [{ required: true, message: "经营范围不能为空!", trigger: "blur" }],
         license_img: [
           {
             required: false,
@@ -630,7 +637,7 @@ export default {
 };
 </script>
 
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .workCompany {
   .fff,
   .sss {
@@ -648,4 +655,3 @@ export default {
   }
 }
 </style>
-   

Някои файлове не бяха показани, защото твърде много файлове са промени