Merge remote-tracking branch 'origin/build' into build
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
VUE_APP_SCOPE=fengdu
|
VUE_APP_SCOPE=fengdu
|
||||||
#VUE_APP_API=https://web.fdfengshou.cn/
|
#VUE_APP_API=https://web.fdfengshou.cn/
|
||||||
VUE_APP_API=http://192.168.1.87:9000/
|
#VUE_APP_API=http://192.168.1.87:9000/
|
||||||
|
VUE_APP_API=http://test87web.cunwuyun.cn/
|
||||||
|
|||||||
@@ -91,7 +91,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="门店住址:" style="width: 100%;" prop="areaId">
|
<el-form-item label="门店住址:" style="width: 100%;" prop="areaId">
|
||||||
<ai-area-select :instance="instance" clearable always-show
|
<ai-area-select :instance="instance" clearable always-show
|
||||||
:disabled-level="$store.state.user.info.areaList.length"
|
|
||||||
@name="v=>form.areaName=v" v-model="form.areaId"/>
|
@name="v=>form.areaName=v" v-model="form.areaId"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" style="width:100%" prop="address">
|
<el-form-item label="" style="width:100%" prop="address">
|
||||||
@@ -191,20 +190,21 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
callback(new Error("身份证号格式错误"));
|
callback(new Error("身份证号格式错误"));
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
callback(new Error("请输入身份证号"));
|
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// callback(new Error("请输入身份证号"));
|
||||||
|
// }
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
name: [{required: true, message: '请输入经营者姓名', trigger: 'blur'}],
|
name: [{required: true, message: '请输入经营者姓名', trigger: 'blur'}],
|
||||||
idNumber: [{required: true, validator: IdNumberPass, trigger: 'change'}],
|
idNumber: [{required: false, validator: IdNumberPass, trigger: 'change'}],
|
||||||
sex: [{required: true, message: '请选择性别', trigger: 'change'}],
|
sex: [{required: false, message: '请选择性别', trigger: 'change'}],
|
||||||
phone: [{required: true, message: '请输入手机号', trigger: 'blur'}],
|
phone: [{required: true, message: '请输入手机号', trigger: 'blur'}],
|
||||||
shopName: [{required: true, message: '请输入门店名称', trigger: 'blur'}],
|
shopName: [{required: true, message: '请输入门店名称', trigger: 'blur'}],
|
||||||
operatorType: [{required: true, message: '请选择经营者类型', trigger: 'change'}],
|
operatorType: [{required: true, message: '请选择经营者类型', trigger: 'change'}],
|
||||||
girdCode: [{required: true, message: '请选择所属片区', trigger: 'change'}],
|
girdCode: [{required: true, message: '请选择所属片区', trigger: 'change'}],
|
||||||
fileUrl: [{required: true, message: '请选择门店照片', trigger: 'change'}],
|
fileUrl: [{required: false, message: '请选择门店照片', trigger: 'change'}],
|
||||||
areaId: [{required: true, message: '请选择门店住址', trigger: 'change'}],
|
areaId: [{required: false, message: '请选择门店住址', trigger: 'change'}],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -68,12 +68,12 @@
|
|||||||
<el-button icon="iconfont iconDelete" :disabled="!ids.length" @click="handleDelBatch">删除</el-button>
|
<el-button icon="iconfont iconDelete" :disabled="!ids.length" @click="handleDelBatch">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<ai-import :instance="instance" url=""
|
<ai-import :instance="instance" url="/app/appshoparchives/downloadTemplate"
|
||||||
importUrl="" name="门店档案" title="门店档案"
|
importUrl="/app/appshoparchives/import" name="门店档案" title="门店档案"
|
||||||
@success="getList()">
|
@success="getList()">
|
||||||
<el-button icon="iconfont iconImport">导入</el-button>
|
<el-button icon="iconfont iconImport">导入</el-button>
|
||||||
</ai-import>
|
</ai-import>
|
||||||
<ai-download :instance="instance" url="" :params="search"
|
<ai-download :instance="instance" url="/app/appshoparchives/export" :params="search"
|
||||||
fileName="门店档案"
|
fileName="门店档案"
|
||||||
:disabled="tableData.length == 0">
|
:disabled="tableData.length == 0">
|
||||||
</ai-download>
|
</ai-download>
|
||||||
@@ -94,6 +94,7 @@
|
|||||||
align="left">
|
align="left">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<img class="preview-img" v-if="row.fileUrl" :src="row.fileUrl" alt="" v-viewer>
|
<img class="preview-img" v-if="row.fileUrl" :src="row.fileUrl" alt="" v-viewer>
|
||||||
|
<img class="preview-img" v-else src="../img/shop.png" alt="" v-viewer>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -387,10 +388,6 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.app-archives-list {
|
.app-archives-list {
|
||||||
.qr-img {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.preview-img{
|
.preview-img{
|
||||||
width: 120px;
|
width: 120px;
|
||||||
@@ -404,5 +401,10 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
|
.qr-img {
|
||||||
|
width: 450px;
|
||||||
|
height: 450px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
BIN
project/fengdu/AppOutSource/AppArchives/img/shop.png
Normal file
BIN
project/fengdu/AppOutSource/AppArchives/img/shop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -15,10 +15,10 @@
|
|||||||
<ai-info-item label="评价人电话" :value="info.evaluatorPhone"></ai-info-item>
|
<ai-info-item label="评价人电话" :value="info.evaluatorPhone"></ai-info-item>
|
||||||
<ai-info-item label="评价时间" :value="info.evaluationTime"></ai-info-item>
|
<ai-info-item label="评价时间" :value="info.evaluationTime"></ai-info-item>
|
||||||
<ai-info-item label="评价人类型" :value="$dict.getLabel('evaluatorType',info.evaluatorType)"></ai-info-item>
|
<ai-info-item label="评价人类型" :value="$dict.getLabel('evaluatorType',info.evaluatorType)"></ai-info-item>
|
||||||
<ai-info-item label="评价类型" isLine :value="info.assessType"></ai-info-item>
|
<ai-info-item label="评价类型" isLine :value="$dict.getLabel('evaluationType',info.assessType)"></ai-info-item>
|
||||||
<ai-info-item label="评语" isLine :value="info.remark"></ai-info-item>
|
<ai-info-item label="评语" isLine :value="info.remark"></ai-info-item>
|
||||||
<ai-info-item label="现场图片" isLine>
|
<ai-info-item label="现场图片" isLine>
|
||||||
<div class="files">
|
<div class="files" v-if="info.pictureUrl">
|
||||||
<ai-uploader
|
<ai-uploader
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
fileType="img"
|
fileType="img"
|
||||||
@@ -85,9 +85,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.$dict.load('evaluatorType').then(() => {
|
this.$dict.load('evaluatorType','evaluationType').then(() => {
|
||||||
this.getDetail()
|
this.getDetail()
|
||||||
this.getList()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -97,7 +96,8 @@ export default {
|
|||||||
const {code, data: {records}} = await this.instance.post('/app/appscoredetails/list', null, {
|
const {code, data: {records}} = await this.instance.post('/app/appscoredetails/list', null, {
|
||||||
params: {
|
params: {
|
||||||
shopId: this.params.shopId,
|
shopId: this.params.shopId,
|
||||||
pages: 1000
|
openId:this.info.openId,
|
||||||
|
size: 1000
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (code === 0 && records) {
|
if (code === 0 && records) {
|
||||||
@@ -113,7 +113,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const {code, data} = await this.instance.post('/app/appshopassess/queryDetailById', null, {
|
const {code, data} = await this.instance.post('/app/appshopassess/queryDetailById', null, {
|
||||||
params: {
|
params: {
|
||||||
id: this.params.id
|
id: this.params.id,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
@@ -123,6 +123,7 @@ export default {
|
|||||||
url: item
|
url: item
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
await this.getList()
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
|
|||||||
@@ -31,16 +31,16 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</ai-search>
|
</ai-search>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="search.status"
|
v-model="search.scoreInterval"
|
||||||
@change="(search.current = 1), getList()"
|
@change="(search.current = 1), getList()"
|
||||||
placeholder="分数区间"
|
placeholder="分数区间"
|
||||||
:selectList="$dict.getDict('appIntegralApplyEventStatus')">
|
:selectList="$dict.getDict('scoreInterval')">
|
||||||
</ai-select>
|
</ai-select>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="search.status"
|
v-model="search.assessType"
|
||||||
@change="(search.current = 1), getList()"
|
@change="(search.current = 1), getList()"
|
||||||
placeholder="评价类型"
|
placeholder="评价类型"
|
||||||
:selectList="$dict.getDict('appIntegralApplyEventStatus')">
|
:selectList="$dict.getDict('evaluationType')">
|
||||||
</ai-select>
|
</ai-select>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<el-button icon="iconfont iconDelete" @click="handleDeleteBach" :disabled="!ids.length">删除</el-button>
|
<el-button icon="iconfont iconDelete" @click="handleDeleteBach" :disabled="!ids.length">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<ai-download :instance="instance" url="/app/appintegraluser/girdIntegralExport" :params="search" fileName="门店评价"
|
<ai-download :instance="instance" url="/app/appshopassess/export" :params="search" fileName="门店评价"
|
||||||
:disabled="tableData.length == 0">
|
:disabled="tableData.length == 0">
|
||||||
</ai-download>
|
</ai-download>
|
||||||
</template>
|
</template>
|
||||||
@@ -113,12 +113,15 @@ export default {
|
|||||||
{ prop: 'shopName', label: '门店名称', align: 'center' },
|
{ prop: 'shopName', label: '门店名称', align: 'center' },
|
||||||
{ prop: 'evaluator', label: '评价人', align: 'center' },
|
{ prop: 'evaluator', label: '评价人', align: 'center' },
|
||||||
{ prop: 'evaluationTime', label: '评价时间', align: 'center' },
|
{ prop: 'evaluationTime', label: '评价时间', align: 'center' },
|
||||||
{ prop: 'phone', label: '联系电话', align: 'center' },
|
{ prop: 'evaluatorPhone', label: '联系电话', align: 'center' },
|
||||||
{ prop: 'evaluatorType', label: '评价人类型', align: 'center',render: (h, {row}) => {
|
{ prop: 'evaluatorType', label: '评价人类型', align: 'center',render: (h, {row}) => {
|
||||||
return h('span', {
|
return h('span', {
|
||||||
}, this.dict.getLabel('evaluatorType', row.evaluatorType))
|
}, this.dict.getLabel('evaluatorType', row.evaluatorType))
|
||||||
}},
|
}},
|
||||||
{ prop: 'assessType', label: '评价类型', align: 'center' },
|
{ prop: 'assessType', label: '评价类型', align: 'center',render: (h, {row}) => {
|
||||||
|
return h('span', {
|
||||||
|
}, this.dict.getLabel('evaluationType', row.assessType))
|
||||||
|
} },
|
||||||
{ prop: 'address', label: '门店地址', align: 'center' },
|
{ prop: 'address', label: '门店地址', align: 'center' },
|
||||||
{ prop: 'score', label: '分数', align: 'center' },
|
{ prop: 'score', label: '分数', align: 'center' },
|
||||||
],
|
],
|
||||||
@@ -128,7 +131,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
created () {
|
created () {
|
||||||
this.$dict.load('evaluatorType').then(() => {
|
this.$dict.load('evaluatorType','evaluationType','scoreInterval').then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="right-row flex-col">
|
<div class="right-row flex-col">
|
||||||
<ai-title title="网格五星门店数量排名"></ai-title>
|
<ai-title title="网格五星门店数量排名"></ai-title>
|
||||||
<div class="bar-chart" ref="chartRef"></div>
|
<div class="bar-chart" v-show="chartList && chartList.length > 0" ref="chartRef"></div>
|
||||||
|
<div v-show="chartList && chartList.length === 0" class="no-data" style="width:386px;height:160px;"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ai-title title="统计列表"></ai-title>
|
<ai-title title="统计列表"></ai-title>
|
||||||
@@ -41,13 +42,13 @@
|
|||||||
<template #left>
|
<template #left>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="form.operatorType"
|
v-model="form.operatorType"
|
||||||
@change="(form.current = 1), getList1()"
|
@change="(form.current = 1), getList2()"
|
||||||
placeholder="经营类型"
|
placeholder="经营类型"
|
||||||
:selectList="$dict.getDict('operatorType')">
|
:selectList="$dict.getDict('operatorType')">
|
||||||
</ai-select>
|
</ai-select>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="form.girdCode"
|
v-model="form.girdCode"
|
||||||
@change="(form.current = 1), getList1()"
|
@change="(form.current = 1), getList2()"
|
||||||
placeholder="所属网格"
|
placeholder="所属网格"
|
||||||
:selectList="gridList">
|
:selectList="gridList">
|
||||||
</ai-select>
|
</ai-select>
|
||||||
@@ -56,27 +57,28 @@
|
|||||||
<el-input
|
<el-input
|
||||||
v-model="form.shopName"
|
v-model="form.shopName"
|
||||||
size="small"
|
size="small"
|
||||||
v-throttle="() => {form.current = 1, getList1()}"
|
v-throttle="() => {form.current = 1, getList2()}"
|
||||||
placeholder="请输入门店名称"
|
placeholder="请输入门店名称"
|
||||||
clearable
|
clearable
|
||||||
@clear="form.current = 1, form.shopName = '', getList1()"
|
@clear="form.current = 1, form.shopName = '', getList2()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="colConfigs1"
|
:tableData="tableData1"
|
||||||
:col-configs="colConfigs1"
|
:col-configs="colConfigs1"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current.sync="search.current"
|
:current.sync="form.current"
|
||||||
:size.sync="search.size"
|
:size.sync="form.size"
|
||||||
@getList="getList">
|
@getList="getList2">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="门店照片"
|
label="门店照片"
|
||||||
slot="pic"
|
slot="pic"
|
||||||
align="left">
|
align="left">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<img :src="row.fileUrl" alt="" v-viewer>
|
<img class="shop-img" :src="row.fileUrl" v-if="row.fileUrl" alt="" v-viewer>
|
||||||
|
<img class="shop-img" src="./img/shop.png" v-else alt="" v-viewer>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -107,7 +109,7 @@ export default {
|
|||||||
data: {},
|
data: {},
|
||||||
form: {
|
form: {
|
||||||
current:1,
|
current:1,
|
||||||
pages:10,
|
size:10,
|
||||||
operatorType:'',
|
operatorType:'',
|
||||||
girdCode:'',
|
girdCode:'',
|
||||||
shopName:'',
|
shopName:'',
|
||||||
@@ -116,7 +118,8 @@ export default {
|
|||||||
girdCode:'',
|
girdCode:'',
|
||||||
fiveStartTime:new Date().getMonth().toString(),
|
fiveStartTime:new Date().getMonth().toString(),
|
||||||
storeLevel:'5',
|
storeLevel:'5',
|
||||||
pages:1000
|
current:1,
|
||||||
|
size:1000
|
||||||
},
|
},
|
||||||
cardList: [
|
cardList: [
|
||||||
{
|
{
|
||||||
@@ -170,6 +173,7 @@ export default {
|
|||||||
this.girdList()
|
this.girdList()
|
||||||
this.queryShopDetail()
|
this.queryShopDetail()
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.getList2()
|
||||||
this.countByFiveStars()
|
this.countByFiveStars()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -178,11 +182,14 @@ export default {
|
|||||||
async countByFiveStars(){
|
async countByFiveStars(){
|
||||||
try {
|
try {
|
||||||
const {code, data:{records}} = await this.instance.post('/app/appShopStatistics/countByFiveStars',null,{
|
const {code, data:{records}} = await this.instance.post('/app/appShopStatistics/countByFiveStars',null,{
|
||||||
pages:1000
|
current:1,
|
||||||
|
size:1000
|
||||||
})
|
})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.chartList = records?.reverse() || []
|
this.chartList = records?.reverse() || []
|
||||||
this.initChart()
|
this.$nextTick(()=>{
|
||||||
|
this.initChart()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
@@ -192,7 +199,7 @@ export default {
|
|||||||
async girdList() {
|
async girdList() {
|
||||||
try {
|
try {
|
||||||
const {code, data:{records}} = await this.instance.post('/app/appShopStatistics/girdList',null,{
|
const {code, data:{records}} = await this.instance.post('/app/appShopStatistics/girdList',null,{
|
||||||
pages:1000
|
size:1000
|
||||||
})
|
})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.gridList = records?.map(item=>{
|
this.gridList = records?.map(item=>{
|
||||||
@@ -409,5 +416,10 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.shop-img{
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
BIN
project/fengdu/AppOutSource/AppMarkStatic/img/shop.png
Normal file
BIN
project/fengdu/AppOutSource/AppMarkStatic/img/shop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -7,7 +7,7 @@
|
|||||||
<el-button type="primary" icon="iconfont iconAdd" @click="handleAdd">评选任务</el-button>
|
<el-button type="primary" icon="iconfont iconAdd" @click="handleAdd">评选任务</el-button>
|
||||||
<ai-search label="开始时间">
|
<ai-search label="开始时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="search.startTime"
|
v-model="search.startTimeStr"
|
||||||
type="date"
|
type="date"
|
||||||
size="small"
|
size="small"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</ai-search>
|
</ai-search>
|
||||||
<ai-search label="结束时间">
|
<ai-search label="结束时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="search.endTime"
|
v-model="search.endTimeStr"
|
||||||
type="date"
|
type="date"
|
||||||
size="small"
|
size="small"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
@@ -72,6 +72,7 @@
|
|||||||
clearable
|
clearable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
|
@change="startChange"
|
||||||
placeholder="选择开始日期">
|
placeholder="选择开始日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -82,6 +83,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
clearable
|
clearable
|
||||||
|
@change="endChange"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="选择开始日期">
|
placeholder="选择开始日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
@@ -96,6 +98,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import dayjs from 'dayjs'
|
||||||
import {mapState} from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: "AppraiseTask",
|
name: "AppraiseTask",
|
||||||
@@ -108,8 +111,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
search:{
|
search:{
|
||||||
taskName:'',
|
taskName:'',
|
||||||
startTime:'',
|
startTimeStr:'',
|
||||||
endTime:'',
|
endTimeStr:'',
|
||||||
current: 1,
|
current: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
},
|
},
|
||||||
@@ -146,6 +149,28 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
startChange(e){
|
||||||
|
if(e){
|
||||||
|
const time = new Date(e).getTime();
|
||||||
|
const now = new Date(dayjs(Date.now()).format("YYYY-MM-DD")).getTime()
|
||||||
|
if(time < now){
|
||||||
|
this.$set(this.form,'startTime','')
|
||||||
|
this.$message.error('开始时间不能小于当前时间')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
endChange(e){
|
||||||
|
if(e){
|
||||||
|
const endTime = new Date(e).getTime();
|
||||||
|
const startTime = new Date(this.form.startTime).getTime()
|
||||||
|
if(endTime < startTime){
|
||||||
|
this.$set(this.form,'endTime','')
|
||||||
|
this.$message.error('结束时间不能小于开始时间')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
onConfirm(){
|
onConfirm(){
|
||||||
this.$refs['formRef'].validate(async valid=>{
|
this.$refs['formRef'].validate(async valid=>{
|
||||||
if(valid){
|
if(valid){
|
||||||
@@ -153,7 +178,7 @@ export default {
|
|||||||
const {code} = await this.instance.post('/app/apptaskmanage/addOrUpdate',{
|
const {code} = await this.instance.post('/app/apptaskmanage/addOrUpdate',{
|
||||||
...this.form,
|
...this.form,
|
||||||
startTime:`${this.form.startTime} 00:00:00`,
|
startTime:`${this.form.startTime} 00:00:00`,
|
||||||
endTime:`${this.form.startTime} 23:59:59`,
|
endTime:`${this.form.endTime} 23:59:59`,
|
||||||
})
|
})
|
||||||
if(code===0){
|
if(code===0){
|
||||||
this.$message.success('保存成功')
|
this.$message.success('保存成功')
|
||||||
@@ -196,8 +221,10 @@ export default {
|
|||||||
|
|
||||||
async getList(){
|
async getList(){
|
||||||
try {
|
try {
|
||||||
const {code,data} = await this.instance.post('/app/apptaskmanage/list',{
|
const {code,data} = await this.instance.post('/app/apptaskmanage/list',null,{
|
||||||
...this.search
|
params:{
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
})
|
})
|
||||||
if(code===0){
|
if(code===0){
|
||||||
this.tableData = data.records
|
this.tableData = data.records
|
||||||
|
|||||||
@@ -13,13 +13,13 @@
|
|||||||
<template #left>
|
<template #left>
|
||||||
<el-button type="primary" icon="iconfont iconAdd" @click="handleAdd">添加</el-button>
|
<el-button type="primary" icon="iconfont iconAdd" @click="handleAdd">添加</el-button>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="search.genre"
|
v-model="search.type"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
placeholder="请选择事件类型"
|
placeholder="请选择事件类型"
|
||||||
:selectList="$dict.getDict('shopScoreType')">
|
:selectList="$dict.getDict('shopScoreType')">
|
||||||
</ai-select>
|
</ai-select>
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="search.type"
|
v-model="search.listType"
|
||||||
@change="(search.current = 1), getList()"
|
@change="(search.current = 1), getList()"
|
||||||
placeholder="请选择自定义事件"
|
placeholder="请选择自定义事件"
|
||||||
:selectList="dictList">
|
:selectList="dictList">
|
||||||
@@ -171,7 +171,7 @@ export default {
|
|||||||
if(e){
|
if(e){
|
||||||
this.queryListTypeByType(e)
|
this.queryListTypeByType(e)
|
||||||
}else {
|
}else {
|
||||||
this.search.type = ''
|
this.search.listType = ''
|
||||||
this.dictList = []
|
this.dictList = []
|
||||||
this.search.current = 1
|
this.search.current = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -189,7 +189,7 @@ export default {
|
|||||||
this.dictList = data?.map(item=>{
|
this.dictList = data?.map(item=>{
|
||||||
return {
|
return {
|
||||||
dictName:item.listType,
|
dictName:item.listType,
|
||||||
dictValue:item.id
|
dictValue:item.listType
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user