From 41dabb0db9619b8dbb8a311966e0b9920f67f7c8 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期四, 03 十一月 2022 16:10:40 +0800
Subject: [PATCH] 门前三包和趋势分析
---
src/views/operate/fivepack/shop/components/createUser/index.vue | 193 +++++++++++++++++++++++++++++++++---------------
1 files changed, 132 insertions(+), 61 deletions(-)
diff --git a/src/views/operate/fivepack/shop/components/createUser/index.vue b/src/views/operate/fivepack/shop/components/createUser/index.vue
index dbf7350..6a17d2b 100644
--- a/src/views/operate/fivepack/shop/components/createUser/index.vue
+++ b/src/views/operate/fivepack/shop/components/createUser/index.vue
@@ -5,9 +5,12 @@
<el-form ref="user" label-width="140px" autoComplete="on" :model="store" :rules="createUserRules"
label-position="right">
<!-- 搴楅摵绫诲瀷 -->
- <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="storetype">
- <el-select v-model="store.storetype" placeholder="閫夋嫨搴楅摵/闂ㄥ簵绫诲瀷">
- <el-option v-for="item in shopTypeList" :key="item.name" :label="item.name" :value="item.value">
+ <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="type">
+ <el-select v-model="store.type" placeholder="璇烽�夋嫨搴楅摵绫诲瀷">
+ <el-option value="1">
+ <el-tree ref="tree" :check-strictly="true" :data="shopTypeList" :props="defaultProps"
+ show-checkbox @check-change="handleCheck" default-expand-all node-key="id">
+ </el-tree>
</el-option>
</el-select>
</el-form-item>
@@ -20,9 +23,9 @@
<el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿礋璐d汉鍚嶅瓧"></el-input>
</el-form-item>
<!-- 搴楅摵鎻忚堪 -->
- <el-form-item class="optionItem" label="搴楅摵鎻忚堪:" prop="storedesc">
- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="300" show-word-limit
- v-model="store.storedesc" placeholder="杈撳叆閮ㄩ棬鎻忚堪"></el-input>
+ <el-form-item class="optionItem" label="搴楅摵鎻忚堪:" prop="description">
+ <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 8 }" maxlength="300" show-word-limit
+ v-model="store.description" placeholder="杈撳叆搴楅摵鎻忚堪"></el-input>
<!-- <el-input type="textarea" v-model="user.storedesc" placeholder="杈撳叆閮ㄩ棬鎻忚堪"></el-input> -->
</el-form-item>
<!-- 鑱旂郴鏂瑰紡 -->
@@ -39,12 +42,13 @@
<footer>
<div class="optionBtn">
<el-button class="btn reset" @click="handleBack">鍙栨秷</el-button>
- <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button>
+ <el-button type="primary" class="btn submit" @click="handleStore">纭畾</el-button>
</div>
</footer>
</div>
</template>
<script>
+import { getCodeList } from '@/utils/helper'
export default {
data() {
const validateNickname = (rule, value, callback) => {
@@ -54,9 +58,9 @@
callback();
}
};
- const validatePass = (rule, value, callback) => {
+ const validateShopName = (rule, value, callback) => {
if (!value) {
- callback();
+ callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖'));
} else {
callback();
}
@@ -75,22 +79,23 @@
const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
if (!rep.test(value)) {
callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
- }else{
+ } else {
callback();
}
}
};
- const validateMail = (rule, value, callback) => {
- if (value) {
- callback();
- } else {
- callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖'))
- }
- };
+ // const validateMail = (rule, value, callback) => {
+ // if (value) {
+ // callback();
+ // } else {
+ // callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖'))
+ // }
+ // };
const validateType = (rule, value, callback) => {
+ console.log(value)
if (!value) {
callback(new Error('闂ㄥ簵绫诲瀷涓嶈兘涓虹┖'));
- } else {
+ } else {
callback();
}
};
@@ -109,82 +114,148 @@
storeaddr: '',
storename: '',
storedesc: '',
- storetype: '',
+ type: '',
},
createUserRules: {
owner: [
{ required: true, trigger: "blur", validator: validateNickname },
],
- storetype:[
+ type: [
{
- required:true,trigger:'change', validator:validateType,
+ required: true, trigger: 'change', validator: validateType,
}
],
- idcardinfo: [
- { required: true, trigger: "blur", validator: validatePass },
- ],
+ // idcardinfo: [
+ // { required: true, trigger: "blur", validator: validatePass },
+ // ],
storeaddr: [
{ required: true, trigger: "blur", validator: validateTruename },
],
contact: [
{ required: true, trigger: "blur", validator: validatePhone },
],
- storename: [
- { required: true, trigger: "blur", validator: validateMail },
- ],
- storedesc: [
+ description: [
{ required: false, trigger: "blur", validator: validateDesc },
],
+ storename: [
+ { required: true, trigger: "blur", validator: validateShopName },
+ ]
},
shopTypeList: [
{ name: '绫诲瀷1', value: 1 }, { name: '绫诲瀷2', value: 2 }
],
+ defaultProps: {
+ children: 'children',
+ label: 'name',
+ disabled: (data, node) => {
+ if (node.level === 1 && node.childNodes.length !== 0) {
+ return !data.leaf
+ }
+ }
+ },
+ selectOrg: {
+ orgsid: []
+ },
}
},
created() {
- const that = this;
+ this.getShopTypeList();
},
methods: {
- handleUser() {
- const { store } = this;
- console.log('in');
- this.$refs.user.validate((valid)=>{
+ handleStore() {
+ const { store,selectOrg } = this;
+ this.$refs.user.validate((valid) => {
console.log(valid);
- if(valid){
+ if (valid) {
this.$axios({
- method:'post',
- url:'sccg/store/storeinfo/add',
- data:{
- contact:store.contact,
- idcardinfo:'511025184612310215',
- owner:store.owner,
- storeaddr:store.storeaddr,
- storename:store.storename,
+ method: 'post',
+ url: 'sccg/store/storeinfo/add',
+ data: {
+ contact: store.contact,
+ owner: store.owner,
+ storeaddr: store.storeaddr,
+ storename: store.storename,
+ description: store.description,
+ type: selectOrg.orgsid[0],
}
})
- .then(res=>{
- console.log(res);
- if(res.code===200){
- this.$message({
- type:'success',
- message:'娣诲姞鎴愬姛',
- })
- this.$emit('sendDialog',{flag:false});
- }else{
- this.$message({
- type:'error',
- message:res.message,
- })
- }
- })
- }else{
+ .then(res => {
+ console.log(res);
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '娣诲姞鎴愬姛',
+ })
+ this.$emit('sendDialog', { flag: false });
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message,
+ })
+ }
+ })
+ } else {
return false;
}
})
},
- handleBack(){
- this.$emit('sendDialog',{flag:false})
- }
+ handleBack() {
+ this.$emit('sendDialog', { flag: false })
+ },
+ // 鑾峰彇瀛楀吀
+ async getShopTypeList() {
+ let arr = await getCodeList('16');
+ this.shopTypeList = this.createShopTypeTree(arr);
+ },
+ // 鍒涘缓鍟嗛摵绫诲瀷鏍�
+ createShopTypeTree(arr) {
+ if (arr.length && arr.length !== 0) {
+ // 鑾峰彇椤剁骇鑿滃崟
+ let treeRoot = arr.filter(item => {
+ return item.parentId === 0
+ })
+ console.log(treeRoot);
+ // 娣诲姞child
+ treeRoot.forEach(item => {
+ item.children = []
+ arr.forEach(child => {
+ if (child.parentId === item.id) {
+ item.children.push(child)
+ }
+ })
+ })
+ return treeRoot;
+ }
+ },
+ handleCheck(data, checked) {
+ console.log(data)
+ this.store.type = data.name;
+ // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+ const indexs = this.selectOrg.orgsid.indexOf(data.id)
+ // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+ if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+ this.$message({
+ message: '鍙兘閫夋嫨涓�涓儴闂紒',
+ type: 'warning',
+ showClose: true
+ })
+ // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+ this.$refs.tree.setChecked(data, false)
+ } else if (this.selectOrg.orgsid.length === 0 && checked) {
+ // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+ // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+ this.selectOrg.orgsid = []
+ this.selectOrg.orgsid.push(data.id)
+ } else if (
+ indexs >= 0 &&
+ this.selectOrg.orgsid.length === 1 &&
+ !checked
+ ) {
+ // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+ this.selectOrg.orgsid = []
+ this.store.storetype = ''
+ }
+ },
},
props: ['sendDialog']
}
--
Gitblit v1.8.0