|
@@ -8,7 +8,7 @@
|
|
>
|
|
>
|
|
|
|
|
|
<div style="width: 462px; margin: 0 auto">
|
|
<div style="width: 462px; margin: 0 auto">
|
|
- <el-cascader-panel v-model="ruleArea" style="height: 350px;" @visible-change="listPidDisabled($event,index)" :options="listPidProvince" :props="props"></el-cascader-panel>
|
|
|
|
|
|
+ <el-cascader-panel v-model="ruleArea" style="height: 350px;" :options="listPidProvince" :props="props"></el-cascader-panel>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 按钮 -->
|
|
<!-- 按钮 -->
|
|
@@ -23,11 +23,7 @@
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
import {
|
|
import {
|
|
- getTemplateList,
|
|
|
|
- addTemplateList,
|
|
|
|
getTreeList,
|
|
getTreeList,
|
|
- getTemplateDetail,
|
|
|
|
- setTemplateDetail
|
|
|
|
} from "@/api/setting/template";
|
|
} from "@/api/setting/template";
|
|
export default {
|
|
export default {
|
|
|
|
|
|
@@ -45,6 +41,10 @@ export default {
|
|
list: {
|
|
list: {
|
|
type:[Object, Array],
|
|
type:[Object, Array],
|
|
default: ''
|
|
default: ''
|
|
|
|
+ },
|
|
|
|
+ shippingTemplateRuleList: {
|
|
|
|
+ type:[Object, Array],
|
|
|
|
+ default: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
@@ -57,7 +57,8 @@ export default {
|
|
label: 'areaName',
|
|
label: 'areaName',
|
|
children: 'cityList',
|
|
children: 'cityList',
|
|
},
|
|
},
|
|
- ruleArea:''//获取所选的地区
|
|
|
|
|
|
+ ruleArea:'',//获取所选的地区
|
|
|
|
+ TemplateRuleList:[],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -66,7 +67,6 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.getList()
|
|
|
|
if (this.list) {
|
|
if (this.list) {
|
|
let data = []
|
|
let data = []
|
|
this.list.map(ressage => {
|
|
this.list.map(ressage => {
|
|
@@ -74,6 +74,19 @@ export default {
|
|
})
|
|
})
|
|
this.ruleArea = data
|
|
this.ruleArea = data
|
|
}
|
|
}
|
|
|
|
+ if(this.shippingTemplateRuleList){
|
|
|
|
+ let data = []
|
|
|
|
+ this.shippingTemplateRuleList.map(ressage => {
|
|
|
|
+ let data2 = []
|
|
|
|
+ ressage.shippingTemplateRuleAreaList.map(res=>{
|
|
|
|
+ data2.push([res.provinceId, res.cityId])
|
|
|
|
+ })
|
|
|
|
+ data.push(data2)
|
|
|
|
+ })
|
|
|
|
+ this.TemplateRuleList = data
|
|
|
|
+ this.listPidDisabled()
|
|
|
|
+ }
|
|
|
|
+
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
// 关闭弹框
|
|
// 关闭弹框
|
|
@@ -122,51 +135,33 @@ export default {
|
|
this.$emit("close",this.ruleArea);
|
|
this.$emit("close",this.ruleArea);
|
|
},
|
|
},
|
|
|
|
|
|
- //获取省份
|
|
|
|
- getList(reset) {
|
|
|
|
- getTreeList().then(res => {
|
|
|
|
- if (res.code == 0) {
|
|
|
|
- this.listPidProvince = res.data || []
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
//多选框状态
|
|
//多选框状态
|
|
- listPidDisabled(e, index,) {
|
|
|
|
- let shippingTemplateRuleList = [...this.shippingTemplateRuleList, ...this.shippingTemplateRuleList2]
|
|
|
|
- if (e) {
|
|
|
|
- this.listPidProvince.map(item => {//省
|
|
|
|
- item.cityList.map(res => {//市
|
|
|
|
- shippingTemplateRuleList.map(listItem => {//列表
|
|
|
|
- if (listItem.shippingTemplateRuleAreaList != 1) {
|
|
|
|
- listItem.shippingTemplateRuleAreaList.map(listRes => {//列表存在的省市
|
|
|
|
- if (res.areaId == listRes[1]) {
|
|
|
|
- // res.disabled = true
|
|
|
|
- this.$set(res, 'disabled', true)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
|
|
+ async listPidDisabled() {
|
|
|
|
+ let resData = await getTreeList({})
|
|
|
|
+ this.listPidProvince = resData.data
|
|
|
|
+
|
|
|
|
+ console.log(this.TemplateRuleList)
|
|
this.listPidProvince.map(item => {//省
|
|
this.listPidProvince.map(item => {//省
|
|
item.cityList.map(res => {//市
|
|
item.cityList.map(res => {//市
|
|
- for (let i = 0; i < shippingTemplateRuleList[index].shippingTemplateRuleAreaList.length; i++) {
|
|
|
|
- if (res.areaId == shippingTemplateRuleList[index].shippingTemplateRuleAreaList[i][1]) {
|
|
|
|
- this.$delete(res, 'disabled',)
|
|
|
|
|
|
+ for (let i = 0; i < this.TemplateRuleList.length; i++) {
|
|
|
|
+ for (let j = 0; j < this.TemplateRuleList[i].length; j++) {
|
|
|
|
+ if (res.areaId == this.TemplateRuleList[i][j][1]){
|
|
|
|
+ this.$set(res, 'disabled', true)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
+ this.listPidProvince.map(item => {//省
|
|
|
|
+ item.cityList.map(res => {//市
|
|
|
|
+ for (let i = 0; i < this.ruleArea.length; i++) {
|
|
|
|
+ if (res.areaId == this.ruleArea[i][1]){
|
|
|
|
+ this.$delete(res, 'disabled',)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
|
|
- } else {
|
|
|
|
- this.listPidProvince.map(item => {
|
|
|
|
- item.cityList.map(res => {
|
|
|
|
- // res.disabled = false
|
|
|
|
- this.$set(res, 'disabled', false)
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
|
|
|
|
},
|
|
},
|