Kaynağa Gözat

解决数据名称不唯一问题

oyq28 3 yıl önce
ebeveyn
işleme
c937c0a759

+ 7 - 0
imcs-ui/src/api/lineSideLibrary/locationMgr.js

@@ -85,6 +85,13 @@ export default {
       data
     })
   },
+  checkField (data) {
+    return axiosApi({
+      method: 'POST',
+      url: `/authority/storge/check`,
+      data
+    })
+  },
   updateStatus (data) {
     return axiosApi({
       ...apiList.updateStatus,

+ 7 - 0
imcs-ui/src/api/modelingCenter/goodsShelvesMgr.js

@@ -88,6 +88,13 @@ export default {
       data
     })
   },
+  checkField (data) {
+    return axiosApi({
+      method: 'POST',
+      url: `/authority/shelves/check`,
+      data
+    })
+  },
   remove (data) {
     return axiosApi({
       ...apiList.remove,

+ 14 - 1
imcs-ui/src/views/zuihou/lineSideLibrary/goodsShelvesMgr/components/Edit.vue

@@ -71,6 +71,15 @@ export default {
     }
   },
   data () {
+    let validate = (rule, value, callback) => {
+      //后台方法
+      this.checkExist(value).then(res => {
+        res = res.data               
+        if (res && res.data) {         
+          callback('名称已存在')
+        }
+      })
+    }
     return {
     	isClearable: true, // 可清空(可选)
       isAccordion: true, // 可收起(可选)
@@ -94,7 +103,8 @@ export default {
       roles: [],
       rules: {
         name: [
-        	{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
+        	{ required: true, message: this.$t("rules.require"), trigger: 'blur' },
+          { validator: validate, trigger: 'blur'}
         ],
         no: [
         	{ required: true, message: this.$t("lineSide.rules.no"), trigger: 'blur' }
@@ -167,6 +177,9 @@ export default {
     close () {
       this.$emit('close')
     },
+    checkExist(name){
+      return goodsShelvesMgrApi.checkField({"name":name})
+    },
     reset () {
       // 先清除校验,再清除表单,不然有奇怪的bug
       this.$refs.form.clearValidate()

+ 14 - 1
imcs-ui/src/views/zuihou/lineSideLibrary/locationMgr/components/Edit.vue

@@ -57,6 +57,15 @@ export default {
     }
   },
   data () {
+    let validate = (rule, value, callback) => {
+      //后台方法
+      this.checkExist(value).then(res => {
+        res = res.data               
+        if (res && res.data) {         
+          callback('名称已存在')
+        }
+      })
+    }
     return {
       type: 'add',
       currNodeName: '',
@@ -74,7 +83,8 @@ export default {
         	{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
         ],
         name: [
-        	{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
+        	{ required: true, message: this.$t("rules.require"), trigger: 'blur' },
+          { validator: validate, trigger: 'blur'}
         ],
         storgeTypeId: [
         	{ required: true, message: this.$t("rules.require"), trigger: 'change' }
@@ -148,6 +158,9 @@ export default {
     close () {
       this.$emit('close')
     },
+    checkExist(name){
+      return locationMgrApi.checkField({"name":name})
+    },
     reset () {
       // 先清除校验,再清除表单,不然有奇怪的bug
       this.$refs.form.clearValidate()