Merge remote-tracking branch 'origin/build' into build
This commit is contained in:
@@ -64,15 +64,32 @@
|
|||||||
<el-input placeholder="请输入" v-model="form.integral" clearable/>
|
<el-input placeholder="请输入" v-model="form.integral" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="有效地区" prop="areaId" required>
|
<el-form-item label="有效地区" prop="girdName" required>
|
||||||
<ai-area-select
|
<!-- <ai-area-select
|
||||||
clearable
|
clearable
|
||||||
@fullname="v => form.areaName = v"
|
@fullname="v => form.areaName = v"
|
||||||
:disabled-level="$store.state.user.info.areaList.length"
|
:disabled-level="$store.state.user.info.areaList.length"
|
||||||
always-show
|
always-show
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
v-model="form.areaId">
|
v-model="form.areaId">
|
||||||
</ai-area-select>
|
</ai-area-select> -->
|
||||||
|
<ai-picker
|
||||||
|
:instance="instance"
|
||||||
|
dialogTitle="选择网格"
|
||||||
|
:ops="{label: 'girdName', id: 'girdCode'}"
|
||||||
|
pageTitle="网格"
|
||||||
|
:action="'/app/appgirdinfo/girdList?idType=1'"
|
||||||
|
v-model="form.girdCode"
|
||||||
|
@pick="onPick">
|
||||||
|
<div class="AppAnnounceDetail-select">
|
||||||
|
<el-input size="small" class="AppAnnounceDetail-select__input" placeholder="请选择..." disabled v-model="form.girdName"></el-input>
|
||||||
|
<div class="select-left" v-if="girdList.length">
|
||||||
|
<span v-for="(item, index) in girdList" :key="index">{{ item.girdName }}</span>
|
||||||
|
</div>
|
||||||
|
<i v-if="!girdList.length">请选择</i>
|
||||||
|
<div class="select-right">{{ girdList.length ? '重新选择' : '选择' }}</div>
|
||||||
|
</div>
|
||||||
|
</ai-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -112,6 +129,7 @@
|
|||||||
systemRuleId: "",
|
systemRuleId: "",
|
||||||
ruleName: ""
|
ruleName: ""
|
||||||
},
|
},
|
||||||
|
girdList: [],
|
||||||
systemRuleIdList: [],
|
systemRuleIdList: [],
|
||||||
page: {current: 1, size: 10, total: 0},
|
page: {current: 1, size: 10, total: 0},
|
||||||
colConfigs: [
|
colConfigs: [
|
||||||
@@ -144,7 +162,7 @@
|
|||||||
prop: "validRangeData",
|
prop: "validRangeData",
|
||||||
label: "有效地区",
|
label: "有效地区",
|
||||||
align: "center",
|
align: "center",
|
||||||
format: v => JSON.parse(v).areaName
|
format: v => JSON.parse(v).girdName
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: "status",
|
prop: "status",
|
||||||
@@ -163,10 +181,10 @@
|
|||||||
scoringCycle: "",
|
scoringCycle: "",
|
||||||
numberLimit: "",
|
numberLimit: "",
|
||||||
integral: "",
|
integral: "",
|
||||||
validRangeType: "2",
|
validRangeType: "1",
|
||||||
validRangeData: "",
|
validRangeData: "",
|
||||||
areaName: '',
|
girdName: '',
|
||||||
areaId: ''
|
girdCode: []
|
||||||
},
|
},
|
||||||
formRules: {
|
formRules: {
|
||||||
systemRuleId: [
|
systemRuleId: [
|
||||||
@@ -179,8 +197,8 @@
|
|||||||
{required: true, message: "请选择周期范围", trigger: "change"},
|
{required: true, message: "请选择周期范围", trigger: "change"},
|
||||||
],
|
],
|
||||||
integral: [{required: true, validator: validcode, trigger: "blur"},],
|
integral: [{required: true, validator: validcode, trigger: "blur"},],
|
||||||
areaId: [
|
girdName: [
|
||||||
{required: true, message: "请选择地区", trigger: "change"},
|
{required: true, message: "请选择网格", trigger: "change"},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
rulesOps: [],
|
rulesOps: [],
|
||||||
@@ -216,6 +234,17 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onPick (e) {
|
||||||
|
if (e.length) {
|
||||||
|
this.form.girdName = e[0].girdName
|
||||||
|
} else {
|
||||||
|
this.form.girdName = ''
|
||||||
|
this.form.girdCode = []
|
||||||
|
}
|
||||||
|
|
||||||
|
this.girdList = e
|
||||||
|
},
|
||||||
|
|
||||||
getList() {
|
getList() {
|
||||||
this.instance
|
this.instance
|
||||||
.post(`/app/appintegralrule/listByAppletFD`, null, {
|
.post(`/app/appintegralrule/listByAppletFD`, null, {
|
||||||
@@ -233,7 +262,6 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
change (e) {
|
change (e) {
|
||||||
console.log(this.dict.getDict('appIntegralApplyEventType'))
|
|
||||||
},
|
},
|
||||||
closed () {
|
closed () {
|
||||||
this.form.ruleType = '0'
|
this.form.ruleType = '0'
|
||||||
@@ -242,16 +270,18 @@
|
|||||||
this.form.scoringCycle = ''
|
this.form.scoringCycle = ''
|
||||||
this.form.numberLimit = ''
|
this.form.numberLimit = ''
|
||||||
this.form.integral = ''
|
this.form.integral = ''
|
||||||
this.form.validRangeType = '2'
|
this.form.validRangeType = '1'
|
||||||
this.form.validRangeData = ''
|
this.form.validRangeData = ''
|
||||||
this.form.areaName = this.$store.state.user.info.areaName
|
this.form.girdName = ''
|
||||||
this.form.areaId = this.$store.state.user.info.areaId
|
this.form.girdCode = []
|
||||||
|
this.girdList = []
|
||||||
},
|
},
|
||||||
toEdit(row) {
|
toEdit(row) {
|
||||||
this.form = {...row}
|
this.form = {...row}
|
||||||
if (this.form?.validRangeData) {
|
if (this.form?.validRangeData) {
|
||||||
this.form.areaName = JSON.parse(this.form.validRangeData).areaName
|
this.form.girdName = JSON.parse(this.form.validRangeData).girdName
|
||||||
this.form.areaId = JSON.parse(this.form.validRangeData).areaId
|
this.form.girdCode = [JSON.parse(this.form.validRangeData).girdCode]
|
||||||
|
this.girdList = [JSON.parse(this.form.validRangeData)]
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.dialog = true;
|
this.dialog = true;
|
||||||
@@ -294,9 +324,11 @@
|
|||||||
.post(`/app/appintegralrule/addOrUpdate`, {
|
.post(`/app/appintegralrule/addOrUpdate`, {
|
||||||
...formData,
|
...formData,
|
||||||
appCodeType: '2',
|
appCodeType: '2',
|
||||||
|
girdCode: '',
|
||||||
validRangeData: JSON.stringify({
|
validRangeData: JSON.stringify({
|
||||||
areaName: this.form.areaName,
|
id: this.girdList[0].id,
|
||||||
areaId: this.form.areaId
|
girdName: this.girdList[0].girdName,
|
||||||
|
girdCode: this.girdList[0].girdCode
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
@@ -412,6 +444,87 @@
|
|||||||
// display: flex;
|
// display: flex;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
.AppAnnounceDetail-select {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
min-height: 32px;
|
||||||
|
line-height: 1;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #D0D4DC;
|
||||||
|
cursor: pointer;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-color: #26f;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > i {
|
||||||
|
flex: 1;
|
||||||
|
height: 100%;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0 12px;
|
||||||
|
color: #888888;
|
||||||
|
font-size: 14px;
|
||||||
|
font-style: normal;
|
||||||
|
border-right: 1px solid #D0D4DC;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.AppAnnounceDetail-select__input {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: -1;
|
||||||
|
opacity: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-right {
|
||||||
|
height: 100%;
|
||||||
|
padding: 0 12px;
|
||||||
|
color: #222222;
|
||||||
|
font-size: 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-left {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex: 1;
|
||||||
|
padding: 5px 0 0px 12px;
|
||||||
|
border-right: 1px solid #D0D4DC;
|
||||||
|
border-radius: 4px 0 0 4px;
|
||||||
|
background: #fff;
|
||||||
|
|
||||||
|
em {
|
||||||
|
height: 22px;
|
||||||
|
line-height: 22px;
|
||||||
|
margin: 0 4px 5px 0;
|
||||||
|
color: #222222;
|
||||||
|
font-size: 12px;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
height: 22px;
|
||||||
|
line-height: 22px;
|
||||||
|
margin: 0 4px 5px 0;
|
||||||
|
padding: 0 8px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #222222;
|
||||||
|
background: #F3F4F7;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid #D0D4DC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
:deep( .ai-dialog ){
|
:deep( .ai-dialog ){
|
||||||
.el-cascader {
|
.el-cascader {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="AiPicker">
|
<section class="AiPicker">
|
||||||
<ai-dialog-btn v-bind="$attrs" @onConfirm="handleSave" :customFooter="false" @close="selected=[]" @open="selected=$copy(picked)">
|
<ai-dialog-btn
|
||||||
|
custom-class=""
|
||||||
|
v-bind="$attrs"
|
||||||
|
append-to-body
|
||||||
|
@onConfirm="handleSave"
|
||||||
|
:customFooter="false"
|
||||||
|
:modal-append-to-body="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
@close="selected=[]"
|
||||||
|
@open="selected=$copy(picked)">
|
||||||
<template #btn v-if="$scopedSlots.default">
|
<template #btn v-if="$scopedSlots.default">
|
||||||
<slot :selected="picked"/>
|
<slot :selected="picked"/>
|
||||||
</template>
|
</template>
|
||||||
@@ -148,7 +157,6 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.AiPicker {
|
|
||||||
.color-primary {
|
.color-primary {
|
||||||
color: $primaryColor;
|
color: $primaryColor;
|
||||||
}
|
}
|
||||||
@@ -167,7 +175,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
height: 480px;
|
height: 480px;
|
||||||
|
|
||||||
:deep( .el-tree ){
|
.el-tree {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
||||||
.el-tree-node__content {
|
.el-tree-node__content {
|
||||||
@@ -279,5 +287,4 @@ export default {
|
|||||||
:deep(.overHide) {
|
:deep(.overHide) {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user