update
parent
8928c7ac07
commit
821fda6982
|
|
@ -1,13 +1,13 @@
|
|||
import fetch from '../utils/fetch'
|
||||
|
||||
export function getMembers(query) {
|
||||
export function getMembers (query) {
|
||||
return fetch({
|
||||
url: '/members',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function getMember(query) {
|
||||
export function getMember (query) {
|
||||
return fetch({
|
||||
url: '/member',
|
||||
method: 'get',
|
||||
|
|
@ -15,7 +15,7 @@ export function getMember(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function setMemberRegisterSetting(query) {
|
||||
export function setMemberRegisterSetting (query) {
|
||||
return fetch({
|
||||
url: '/members/register/setting',
|
||||
method: 'post',
|
||||
|
|
@ -23,7 +23,7 @@ export function setMemberRegisterSetting(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function setMemberRegisterContentSetting(query) {
|
||||
export function setMemberRegisterContentSetting (query) {
|
||||
return fetch({
|
||||
url: '/members/register/setting',
|
||||
method: 'post',
|
||||
|
|
@ -31,7 +31,7 @@ export function setMemberRegisterContentSetting(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function setMemberanalysisrightsContent(query) {
|
||||
export function setMemberanalysisrightsContent (query) {
|
||||
return fetch({
|
||||
url: '/members/analysisrights/content',
|
||||
method: 'post',
|
||||
|
|
@ -39,21 +39,21 @@ export function setMemberanalysisrightsContent(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getMemberanalysisrightsContent() {
|
||||
export function getMemberanalysisrightsContent () {
|
||||
return fetch({
|
||||
url: '/members/analysisrights/content',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getMemberRegisterSetting() {
|
||||
export function getMemberRegisterSetting () {
|
||||
return fetch({
|
||||
url: '/members/register/setting',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function memberSmsSend(query) {
|
||||
export function memberSmsSend (query) {
|
||||
return fetch({
|
||||
url: '/member/smssend',
|
||||
method: 'post',
|
||||
|
|
@ -61,7 +61,7 @@ export function memberSmsSend(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function saveTag(query) {
|
||||
export function saveTag (query) {
|
||||
return fetch({
|
||||
url: '/member/tag',
|
||||
method: 'post',
|
||||
|
|
@ -69,7 +69,7 @@ export function saveTag(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTagList(query) {
|
||||
export function getTagList (query) {
|
||||
return fetch({
|
||||
url: '/member/tag',
|
||||
method: 'get',
|
||||
|
|
@ -77,7 +77,7 @@ export function getTagList(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function updateMemberMobile(query) {
|
||||
export function updateMemberMobile (query) {
|
||||
return fetch({
|
||||
url: '/member',
|
||||
method: 'put',
|
||||
|
|
@ -85,7 +85,7 @@ export function updateMemberMobile(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function setSindusersalespersonrel(query) {
|
||||
export function setSindusersalespersonrel (query) {
|
||||
return fetch({
|
||||
url: '/member/bindusersalespersonrel',
|
||||
method: 'post',
|
||||
|
|
@ -93,7 +93,7 @@ export function setSindusersalespersonrel(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function updateMemberGrade(query) {
|
||||
export function updateMemberGrade (query) {
|
||||
return fetch({
|
||||
url: '/member/grade',
|
||||
method: 'put',
|
||||
|
|
@ -101,7 +101,7 @@ export function updateMemberGrade(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function batchupdateMemberGrade(query) {
|
||||
export function batchupdateMemberGrade (query) {
|
||||
return fetch({
|
||||
url: '/member/grade',
|
||||
method: 'patch',
|
||||
|
|
@ -109,7 +109,7 @@ export function batchupdateMemberGrade(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function updateMemberInfo(query) {
|
||||
export function updateMemberInfo (query) {
|
||||
return fetch({
|
||||
url: '/member',
|
||||
method: 'patch',
|
||||
|
|
@ -117,7 +117,7 @@ export function updateMemberInfo(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getMemberOperateLog(query) {
|
||||
export function getMemberOperateLog (query) {
|
||||
return fetch({
|
||||
url: '/operate/loglist',
|
||||
method: 'get',
|
||||
|
|
@ -125,14 +125,14 @@ export function getMemberOperateLog(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTagInfo(tagId) {
|
||||
export function getTagInfo (tagId) {
|
||||
return fetch({
|
||||
url: '/member/tag/' + tagId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTag(query) {
|
||||
export function updateTag (query) {
|
||||
return fetch({
|
||||
url: '/member/tag',
|
||||
method: 'put',
|
||||
|
|
@ -140,14 +140,14 @@ export function updateTag(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function deleteTag(tagId) {
|
||||
export function deleteTag (tagId) {
|
||||
return fetch({
|
||||
url: '/member/tag/' + tagId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function usersRelTagsDel(query) {
|
||||
export function usersRelTagsDel (query) {
|
||||
return fetch({
|
||||
url: '/member/reltagdel/',
|
||||
method: 'post',
|
||||
|
|
@ -155,7 +155,7 @@ export function usersRelTagsDel(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function tagSearchUser(query) {
|
||||
export function tagSearchUser (query) {
|
||||
return fetch({
|
||||
url: '/member/tagsearch',
|
||||
method: 'GET',
|
||||
|
|
@ -163,7 +163,7 @@ export function tagSearchUser(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function listVipGrade(query) {
|
||||
export function listVipGrade (query) {
|
||||
return fetch({
|
||||
url: '/vipgrade/order',
|
||||
method: 'GET',
|
||||
|
|
@ -171,7 +171,7 @@ export function listVipGrade(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function memberExport(query) {
|
||||
export function memberExport (query) {
|
||||
return fetch({
|
||||
url: '/member/export',
|
||||
method: 'GET',
|
||||
|
|
@ -179,7 +179,7 @@ export function memberExport(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function salespersonBindExport(query) {
|
||||
export function salespersonBindExport (query) {
|
||||
return fetch({
|
||||
url: '/salespersonbind/export',
|
||||
method: 'GET',
|
||||
|
|
@ -187,7 +187,7 @@ export function salespersonBindExport(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function createTagCategory(query) {
|
||||
export function createTagCategory (query) {
|
||||
return fetch({
|
||||
url: '/member/tagcategory',
|
||||
method: 'post',
|
||||
|
|
@ -195,7 +195,7 @@ export function createTagCategory(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTagCategoryList(query) {
|
||||
export function getTagCategoryList (query) {
|
||||
return fetch({
|
||||
url: '/member/tagcategory',
|
||||
method: 'get',
|
||||
|
|
@ -203,14 +203,14 @@ export function getTagCategoryList(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTagCategoryInfo(categoryId) {
|
||||
export function getTagCategoryInfo (categoryId) {
|
||||
return fetch({
|
||||
url: '/member/tagcategory/' + categoryId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTagCategory(categoryId, query) {
|
||||
export function updateTagCategory (categoryId, query) {
|
||||
return fetch({
|
||||
url: '/member/tagcategory/' + categoryId,
|
||||
method: 'put',
|
||||
|
|
@ -218,14 +218,14 @@ export function updateTagCategory(categoryId, query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function deleteTagCategory(categoryId) {
|
||||
export function deleteTagCategory (categoryId) {
|
||||
return fetch({
|
||||
url: '/member/tagcategory/' + categoryId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function batchOperating(query) {
|
||||
export function batchOperating (query) {
|
||||
return fetch({
|
||||
url: '/member/batchOperating',
|
||||
method: 'POST',
|
||||
|
|
@ -233,7 +233,16 @@ export function batchOperating(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function updateMemberBasicInfo(query) {
|
||||
// 标记用户为内部人员
|
||||
export function batchIsInternal (query) {
|
||||
return fetch({
|
||||
url: '/member/isInternal',
|
||||
method: 'POST',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMemberBasicInfo (query) {
|
||||
return fetch({
|
||||
url: '/member/update',
|
||||
method: 'put',
|
||||
|
|
@ -241,7 +250,7 @@ export function updateMemberBasicInfo(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getMembersWhitelistList(query) {
|
||||
export function getMembersWhitelistList (query) {
|
||||
return fetch({
|
||||
url: '/members/whitelist/list',
|
||||
method: 'get',
|
||||
|
|
@ -249,7 +258,7 @@ export function getMembersWhitelistList(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function createMembersWhitelist(query) {
|
||||
export function createMembersWhitelist (query) {
|
||||
return fetch({
|
||||
url: '/members/whitelist',
|
||||
method: 'post',
|
||||
|
|
@ -257,7 +266,7 @@ export function createMembersWhitelist(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function updateMembersWhitelist(id, query) {
|
||||
export function updateMembersWhitelist (id, query) {
|
||||
return fetch({
|
||||
url: '/members/whitelist/' + id,
|
||||
method: 'post',
|
||||
|
|
@ -265,14 +274,14 @@ export function updateMembersWhitelist(id, query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function deleteMembersWhitelist(id) {
|
||||
export function deleteMembersWhitelist (id) {
|
||||
return fetch({
|
||||
url: '/members/whitelist/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function getSubscribeList(query) {
|
||||
export function getSubscribeList (query) {
|
||||
return fetch({
|
||||
url: '/members/subscribe/list',
|
||||
method: 'get',
|
||||
|
|
@ -281,7 +290,7 @@ export function getSubscribeList(query) {
|
|||
}
|
||||
|
||||
// 会员信息表单字段获取
|
||||
export function getRegForm(query) {
|
||||
export function getRegForm (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_fields',
|
||||
method: 'get',
|
||||
|
|
@ -290,7 +299,7 @@ export function getRegForm(query) {
|
|||
}
|
||||
|
||||
// 会员信息表单字段更新
|
||||
export function updateRegForm(query) {
|
||||
export function updateRegForm (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_fields/info',
|
||||
method: 'put',
|
||||
|
|
@ -299,7 +308,7 @@ export function updateRegForm(query) {
|
|||
}
|
||||
|
||||
// 会员信息表单字段删除
|
||||
export function deleteRegForm(query) {
|
||||
export function deleteRegForm (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_fields',
|
||||
method: 'delete',
|
||||
|
|
@ -308,7 +317,7 @@ export function deleteRegForm(query) {
|
|||
}
|
||||
|
||||
// 会员信息表单字段新增
|
||||
export function createRegForm(query) {
|
||||
export function createRegForm (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_fields',
|
||||
method: 'post',
|
||||
|
|
@ -317,7 +326,7 @@ export function createRegForm(query) {
|
|||
}
|
||||
|
||||
// 会员信息表单状态切换
|
||||
export function toggleRegForm(query) {
|
||||
export function toggleRegForm (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_fields/switch',
|
||||
method: 'put',
|
||||
|
|
@ -325,7 +334,7 @@ export function toggleRegForm(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getMemberFieldSetting(query) {
|
||||
export function getMemberFieldSetting (query) {
|
||||
return fetch({
|
||||
url: '/espier/config/request_field_setting',
|
||||
method: 'get',
|
||||
|
|
@ -333,7 +342,7 @@ export function getMemberFieldSetting(query) {
|
|||
})
|
||||
}
|
||||
|
||||
export function saveMemberFieldSetting(params) {
|
||||
export function saveMemberFieldSetting (params) {
|
||||
return fetch({
|
||||
url: 'espier/config/request_field_setting',
|
||||
method: 'post',
|
||||
|
|
@ -341,7 +350,7 @@ export function saveMemberFieldSetting(params) {
|
|||
})
|
||||
}
|
||||
|
||||
export function setCheif(query) {
|
||||
export function setCheif (query) {
|
||||
return fetch({
|
||||
url: '/community/chief/setMemberCommunity',
|
||||
method: 'post',
|
||||
|
|
@ -350,7 +359,7 @@ export function setCheif(query) {
|
|||
}
|
||||
|
||||
// 获取内购企业列表
|
||||
export function getEnterpriseList(params) {
|
||||
export function getEnterpriseList (params) {
|
||||
return fetch({
|
||||
url: '/members/enterprise',
|
||||
method: 'get',
|
||||
|
|
@ -359,7 +368,7 @@ export function getEnterpriseList(params) {
|
|||
}
|
||||
|
||||
// 新增内购企业
|
||||
export function addEnterpriseInfo(params) {
|
||||
export function addEnterpriseInfo (params) {
|
||||
return fetch({
|
||||
url: '/members/enterprise',
|
||||
method: 'post',
|
||||
|
|
@ -368,7 +377,7 @@ export function addEnterpriseInfo(params) {
|
|||
}
|
||||
|
||||
// 获取内购企业详情
|
||||
export function getEnterpriseDetail(id) {
|
||||
export function getEnterpriseDetail (id) {
|
||||
return fetch({
|
||||
url: '/members/enterprise/' + id,
|
||||
method: 'get'
|
||||
|
|
@ -376,7 +385,7 @@ export function getEnterpriseDetail(id) {
|
|||
}
|
||||
|
||||
// 更新内购企业
|
||||
export function updateEnterpriseInfo(id, params) {
|
||||
export function updateEnterpriseInfo (id, params) {
|
||||
return fetch({
|
||||
url: '/members/enterprise/' + id,
|
||||
method: 'put',
|
||||
|
|
@ -385,7 +394,7 @@ export function updateEnterpriseInfo(id, params) {
|
|||
}
|
||||
|
||||
// 删内购企业
|
||||
export function deteleEnterpriseInfo(id, params) {
|
||||
export function deteleEnterpriseInfo (id, params) {
|
||||
return fetch({
|
||||
url: '/members/enterprise' + id,
|
||||
method: 'delete',
|
||||
|
|
@ -394,7 +403,7 @@ export function deteleEnterpriseInfo(id, params) {
|
|||
}
|
||||
|
||||
// 更新内购企业状态
|
||||
export function updateEnterpriseStaus(id, params) {
|
||||
export function updateEnterpriseStaus (id, params) {
|
||||
return fetch({
|
||||
url: '/members/enterprise/updateStatus/' + id,
|
||||
method: 'put',
|
||||
|
|
|
|||
|
|
@ -179,9 +179,9 @@
|
|||
<el-button type="primary" plain icon="el-plus-circle"> 导出 </el-button>
|
||||
</export-tip>
|
||||
|
||||
<el-button v-if="!VERSION_IN_PURCHASE" type="primary" plain @click="chiefupload">
|
||||
<!-- <el-button v-if="!VERSION_IN_PURCHASE" type="primary" plain @click="chiefupload">
|
||||
团长导入
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
</div>
|
||||
|
||||
<!-- <el-row>
|
||||
|
|
@ -234,7 +234,12 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column v-if="!VERSION_IN_PURCHASE" prop="is_chief" label="是否团长" width="80">
|
||||
<el-table-column
|
||||
v-if="!VERSION_IN_PURCHASE && false"
|
||||
prop="is_chief"
|
||||
label="是否团长"
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_chief"
|
||||
|
|
@ -305,7 +310,7 @@
|
|||
<template slot-scope="scope">
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">
|
||||
注册时间<br>{{ scope.row.created | datetime('YYYY-MM-DD HH:mm:ss') }}
|
||||
注册时间<br />{{ scope.row.created | datetime('YYYY-MM-DD HH:mm:ss') }}
|
||||
</div>
|
||||
<span>{{ scope.row.created | datetime }}</span>
|
||||
</el-tooltip>
|
||||
|
|
@ -769,6 +774,7 @@ import {
|
|||
updateMemberGrade,
|
||||
batchupdateMemberGrade,
|
||||
batchOperating,
|
||||
batchIsInternal,
|
||||
getMemberRegisterSetting,
|
||||
updateMemberBasicInfo,
|
||||
setCheif
|
||||
|
|
@ -1359,6 +1365,13 @@ export default {
|
|||
return
|
||||
}
|
||||
this.dialogIsShow = false
|
||||
if (this.user_id.length === 0) {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: '没有选中会员'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.batchAction('是否给全部会员打标签?')
|
||||
},
|
||||
clearParams() {
|
||||
|
|
@ -1371,7 +1384,7 @@ export default {
|
|||
if (this.user_id.length > 0) {
|
||||
this.params.user_id = this.user_id
|
||||
let params = JSON.parse(JSON.stringify(this.params))
|
||||
console.log(this.params)
|
||||
console.log(params, 'params')
|
||||
batchOperating(params).then((res) => {
|
||||
if (res.data.data.status) {
|
||||
this.dialogIsShow = false
|
||||
|
|
@ -1384,6 +1397,8 @@ export default {
|
|||
this.getMembers()
|
||||
}
|
||||
})
|
||||
params.tag_ids?.includes('1') &&
|
||||
batchIsInternal({ user_id: params.user_id, is_internal: 1 }).then((res) => {})
|
||||
} else {
|
||||
this.$confirm(message, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
|
@ -1593,6 +1608,7 @@ export default {
|
|||
tag_id: tagId,
|
||||
user_id: userId
|
||||
})
|
||||
tagId == 1 && (await batchIsInternal({ user_id: userId, is_internal: 0 }))
|
||||
this.$message({ type: 'success', message: '修改成功' })
|
||||
this.getMembers()
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
<template>
|
||||
<div class="section section-white">
|
||||
<div class="section-header with-border">
|
||||
添加表单元素
|
||||
</div>
|
||||
<div class="section-header with-border">添加表单元素</div>
|
||||
<div class="section-body">
|
||||
<el-form
|
||||
ref="form"
|
||||
|
|
@ -20,45 +18,27 @@
|
|||
<el-input
|
||||
v-model.trim="form.field_title"
|
||||
:maxlength="30"
|
||||
placeholder="身高(cm)"
|
||||
placeholder="请输入标题"
|
||||
@change="fieldTitleChange"
|
||||
/>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="false"
|
||||
label="表单元素类型"
|
||||
prop="form_element"
|
||||
:rules="[{ required: true, message: '请选择表单元素', trigger: 'change' }]"
|
||||
>
|
||||
<el-col :span="15">
|
||||
<el-radio-group
|
||||
v-model="form.form_element"
|
||||
@change="ElementChange"
|
||||
>
|
||||
<el-radio label="text">
|
||||
单文本框
|
||||
</el-radio>
|
||||
<el-radio label="number">
|
||||
数字(纯数字)
|
||||
</el-radio>
|
||||
<el-radio label="checkbox">
|
||||
复选框
|
||||
</el-radio>
|
||||
<el-radio label="select">
|
||||
下拉选择
|
||||
</el-radio>
|
||||
<el-radio label="radio">
|
||||
单选按钮
|
||||
</el-radio>
|
||||
<el-radio label="textarea">
|
||||
多文本域
|
||||
</el-radio>
|
||||
<el-radio label="date">
|
||||
日期选择
|
||||
</el-radio>
|
||||
<el-radio label="area">
|
||||
地区选择
|
||||
</el-radio>
|
||||
<el-radio-group v-model="form.form_element" @change="ElementChange">
|
||||
<el-radio label="text"> 单文本框 </el-radio>
|
||||
<el-radio label="number"> 数字(纯数字) </el-radio>
|
||||
<el-radio label="checkbox"> 复选框 </el-radio>
|
||||
<el-radio label="select"> 下拉选择 </el-radio>
|
||||
<el-radio label="radio"> 单选按钮 </el-radio>
|
||||
<el-radio label="textarea"> 多文本域 </el-radio>
|
||||
<el-radio label="date"> 日期选择 </el-radio>
|
||||
<el-radio label="area"> 地区选择 </el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
|
@ -66,8 +46,8 @@
|
|||
v-for="(domain, index) in form.options"
|
||||
v-if="
|
||||
form.form_element == 'radio' ||
|
||||
form.form_element == 'checkbox' ||
|
||||
form.form_element == 'select'
|
||||
form.form_element == 'checkbox' ||
|
||||
form.form_element == 'select'
|
||||
"
|
||||
:key="domain.key"
|
||||
:label="'选择项' + index"
|
||||
|
|
@ -81,18 +61,10 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="15">
|
||||
<el-input
|
||||
v-model="domain.value"
|
||||
width="20"
|
||||
/>
|
||||
<el-input v-model="domain.value" width="20" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="index > 1"
|
||||
:span="5"
|
||||
>
|
||||
<el-button @click.prevent="removeDomain(domain)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-col v-if="index > 1" :span="5">
|
||||
<el-button @click.prevent="removeDomain(domain)"> 删除 </el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
|
@ -119,18 +91,12 @@
|
|||
<el-form-item
|
||||
v-if="
|
||||
form.form_element == 'radio' ||
|
||||
form.form_element == 'checkbox' ||
|
||||
form.form_element == 'select'
|
||||
form.form_element == 'checkbox' ||
|
||||
form.form_element == 'select'
|
||||
"
|
||||
>
|
||||
<el-col :span="15">
|
||||
<el-button
|
||||
type="primary"
|
||||
circle
|
||||
@click="addOption"
|
||||
>
|
||||
增
|
||||
</el-button>
|
||||
<el-button type="primary" circle @click="addOption"> 增 </el-button>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<!-- field_name:{{form.field_name}} | defalutFileName:{{defalutFileName}} -->
|
||||
|
|
@ -172,21 +138,12 @@
|
|||
/>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="图片"
|
||||
prop="image_url"
|
||||
>
|
||||
<el-form-item label="图片" prop="image_url" v-if="false">
|
||||
<el-col :span="15">
|
||||
<div>
|
||||
<imgBox
|
||||
:img-url="wximageurl + form.image_url"
|
||||
inline
|
||||
@click="handleImgBChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="frm-tips">
|
||||
只能上传jpg/png文件,且不超过2M (建议尺寸:400px * 450px)
|
||||
<imgBox :img-url="wximageurl + form.image_url" inline @click="handleImgBChange" />
|
||||
</div>
|
||||
<div class="frm-tips">只能上传jpg/png文件,且不超过2M (建议尺寸:400px * 450px)</div>
|
||||
<imgPicker
|
||||
:dialog-visible="imgDialog"
|
||||
:sc-status="isGetImage"
|
||||
|
|
@ -196,15 +153,8 @@
|
|||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click.native="handleCancel">
|
||||
取消
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="submitAction"
|
||||
>
|
||||
保存
|
||||
</el-button>
|
||||
<el-button @click.native="handleCancel"> 取消 </el-button>
|
||||
<el-button type="primary" @click="submitAction"> 保存 </el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
|
@ -223,7 +173,7 @@ export default {
|
|||
imgPicker,
|
||||
imgBox
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
id: '',
|
||||
|
|
@ -258,7 +208,7 @@ export default {
|
|||
defalutFileName: 'username'
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
mounted() {
|
||||
if (this.$route.query.id) {
|
||||
getSettingInfo(this.$route.query.id).then((res) => {
|
||||
this.form = res.data.data
|
||||
|
|
@ -273,10 +223,10 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
handleOnChageCtrlFields (v) {
|
||||
handleOnChageCtrlFields(v) {
|
||||
this.form.field_name = v
|
||||
},
|
||||
ElementChange (value) {
|
||||
ElementChange(value) {
|
||||
if (value == 'text' || value == 'textarea') {
|
||||
this.form.options = [
|
||||
{ value: '', image_url: '' },
|
||||
|
|
@ -284,26 +234,26 @@ export default {
|
|||
]
|
||||
}
|
||||
},
|
||||
fieldTitleChange (value) {
|
||||
fieldTitleChange(value) {
|
||||
this.formLable = value
|
||||
},
|
||||
fieldNameChange (value) {
|
||||
fieldNameChange(value) {
|
||||
this.formName = value
|
||||
},
|
||||
addOption () {
|
||||
addOption() {
|
||||
let cope = {
|
||||
value: '',
|
||||
key: Date.now()
|
||||
}
|
||||
this.form.options.push(cope)
|
||||
},
|
||||
removeDomain (item) {
|
||||
removeDomain(item) {
|
||||
var index = this.form.options.indexOf(item)
|
||||
if (index !== -1) {
|
||||
this.form.options.splice(index, 1)
|
||||
}
|
||||
},
|
||||
submitAction () {
|
||||
submitAction() {
|
||||
const that = this
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
|
|
@ -314,7 +264,7 @@ export default {
|
|||
message: '更新成功',
|
||||
type: 'success',
|
||||
duration: 2 * 1000,
|
||||
onClose () {
|
||||
onClose() {
|
||||
that.refresh()
|
||||
that.$router.go(-1)
|
||||
}
|
||||
|
|
@ -328,7 +278,7 @@ export default {
|
|||
message: '添加成功',
|
||||
type: 'success',
|
||||
duration: 2 * 1000,
|
||||
onClose () {
|
||||
onClose() {
|
||||
that.refresh()
|
||||
that.$router.go(-1)
|
||||
}
|
||||
|
|
@ -345,15 +295,15 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
handleCancel () {
|
||||
handleCancel() {
|
||||
this.$router.go(-1)
|
||||
},
|
||||
handleImgChange (index) {
|
||||
handleImgChange(index) {
|
||||
this.imgIndex = index
|
||||
this.imgDialog = true
|
||||
this.isGetImage = true
|
||||
},
|
||||
pickImg (data) {
|
||||
pickImg(data) {
|
||||
if (this.imgIndex == 'all') {
|
||||
this.form.image_url = data.url
|
||||
} else {
|
||||
|
|
@ -361,10 +311,10 @@ export default {
|
|||
}
|
||||
this.imgDialog = false
|
||||
},
|
||||
closeImgDialog () {
|
||||
closeImgDialog() {
|
||||
this.imgDialog = false
|
||||
},
|
||||
handleImgBChange () {
|
||||
handleImgBChange() {
|
||||
this.imgIndex = 'all'
|
||||
this.imgDialog = true
|
||||
this.isGetImage = true
|
||||
|
|
|
|||
|
|
@ -8,29 +8,14 @@
|
|||
<div>
|
||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||
<div class="action-container">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="iconfont icon-xinzengcaozuo-01"
|
||||
@click="addElement"
|
||||
>
|
||||
<el-button type="primary" icon="iconfont icon-xinzengcaozuo-01" @click="addElement">
|
||||
表单元素添加
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<SpFilterForm
|
||||
:model="params"
|
||||
@onSearch="onSearch"
|
||||
@onReset="onReset"
|
||||
>
|
||||
<SpFilterFormItem
|
||||
prop="form_element"
|
||||
label="表单元素:"
|
||||
>
|
||||
<el-select
|
||||
v-model="params.form_element"
|
||||
placeholder="请选择表单元素"
|
||||
style="width: 100%"
|
||||
>
|
||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
||||
<SpFilterFormItem prop="form_element" label="表单元素:" v-if="false">
|
||||
<el-select v-model="params.form_element" placeholder="请选择表单元素" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in formElement"
|
||||
:key="item.value"
|
||||
|
|
@ -40,77 +25,37 @@
|
|||
</el-select>
|
||||
</SpFilterFormItem>
|
||||
|
||||
<SpFilterFormItem
|
||||
prop="field_title"
|
||||
label="标题:"
|
||||
>
|
||||
<el-input
|
||||
v-model="params.field_title"
|
||||
placeholder="标题"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<SpFilterFormItem prop="field_title" label="标题:">
|
||||
<el-input v-model="params.field_title" placeholder="标题" style="width: 100%" />
|
||||
</SpFilterFormItem>
|
||||
</SpFilterForm>
|
||||
|
||||
<el-tabs
|
||||
v-model="params.is_valid"
|
||||
type="card"
|
||||
@tab-click="handleTabClick"
|
||||
>
|
||||
<el-tabs v-model="params.is_valid" type="card" @tab-click="handleTabClick">
|
||||
<el-tab-pane
|
||||
v-for="(item, index) in tabList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:name="item.activeName"
|
||||
>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
border
|
||||
:data="tableList"
|
||||
:height="wheight - 280"
|
||||
>
|
||||
<el-table-column
|
||||
prop="id"
|
||||
label="ID"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="field_title"
|
||||
label="标题"
|
||||
width="250"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="field_name"
|
||||
label="唯一标示(纯字母)"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="form_element"
|
||||
label="元素类型"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column label="元素选择项">
|
||||
<el-table v-loading="loading" border :data="tableList" :height="wheight - 280">
|
||||
<el-table-column prop="id" label="ID" width="50" />
|
||||
<el-table-column prop="field_title" label="标题" width="250" />
|
||||
<el-table-column prop="field_name" label="唯一标示(纯字母)" width="200" />
|
||||
<el-table-column prop="form_element" label="元素类型" width="100" />
|
||||
<!-- <el-table-column label="元素选择项">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
v-for="(item, index) in scope.row.options"
|
||||
:key="index"
|
||||
<span v-for="(item, index) in scope.row.options" :key="index">
|
||||
{{ item.value }}</span
|
||||
>
|
||||
{{ item.value }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="100"
|
||||
>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<router-link
|
||||
class="iconfont icon-edit1"
|
||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
||||
/>
|
||||
<i
|
||||
class="iconfont icon-search-plus"
|
||||
@click="preview(scope.$index, scope.row)"
|
||||
/>
|
||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
||||
<i
|
||||
v-if="scope.row.status == 1"
|
||||
class="mark iconfont icon-trash-alt1"
|
||||
|
|
@ -135,77 +80,31 @@
|
|||
</el-tabs>
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<el-form
|
||||
ref="dataInfo"
|
||||
label-width="200px"
|
||||
label-position="left"
|
||||
class="demo-ruleForm"
|
||||
>
|
||||
<el-form ref="dataInfo" label-width="200px" label-position="left" class="demo-ruleForm">
|
||||
<el-form-item :label="dataInfo.field_title">
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'text'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'text'" :span="12">
|
||||
<el-input placeholder="text预览" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'textarea'"
|
||||
:span="12"
|
||||
>
|
||||
<el-input
|
||||
type="textarea"
|
||||
placeholder="textarea预览"
|
||||
/>
|
||||
<el-col v-if="dataInfo.form_element == 'textarea'" :span="12">
|
||||
<el-input type="textarea" placeholder="textarea预览" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'number'"
|
||||
:span="12"
|
||||
>
|
||||
<el-input-number
|
||||
type="textarea"
|
||||
placeholder="55.55"
|
||||
/>
|
||||
<el-col v-if="dataInfo.form_element == 'number'" :span="12">
|
||||
<el-input-number type="textarea" placeholder="55.55" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'image'"
|
||||
:span="12"
|
||||
>
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
action=""
|
||||
:show-file-list="false"
|
||||
>
|
||||
<img
|
||||
v-if="imageUrl"
|
||||
:src="imageUrl"
|
||||
class="avatar"
|
||||
>
|
||||
<i
|
||||
v-else
|
||||
class="el-icon-plus avatar-uploader-icon"
|
||||
/>
|
||||
<el-col v-if="dataInfo.form_element == 'image'" :span="12">
|
||||
<el-upload class="avatar-uploader" action="" :show-file-list="false">
|
||||
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon" />
|
||||
</el-upload>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'radio'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'radio'" :span="12">
|
||||
<el-radio-group>
|
||||
<el-radio
|
||||
v-for="(item, index) in dataInfo.options"
|
||||
:key="index"
|
||||
:label="3"
|
||||
>
|
||||
{{
|
||||
item.value
|
||||
}}
|
||||
<el-radio v-for="(item, index) in dataInfo.options" :key="index" :label="3">
|
||||
{{ item.value }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'checkbox'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'checkbox'" :span="12">
|
||||
<el-checkbox-group>
|
||||
<el-checkbox
|
||||
v-for="(item, index) in dataInfo.options"
|
||||
|
|
@ -216,10 +115,7 @@
|
|||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'select'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'select'" :span="12">
|
||||
<el-select placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in dataInfo.options"
|
||||
|
|
@ -229,20 +125,10 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'date'"
|
||||
:span="12"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="value1"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
/>
|
||||
<el-col v-if="dataInfo.form_element == 'date'" :span="12">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="选择日期" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'time'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'time'" :span="12">
|
||||
<el-time-picker
|
||||
v-model="value2"
|
||||
arrow-control
|
||||
|
|
@ -252,10 +138,7 @@
|
|||
placeholder="任意时间点"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="dataInfo.form_element == 'area'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="dataInfo.form_element == 'area'" :span="12">
|
||||
<el-cascader
|
||||
v-model="value"
|
||||
:options="options"
|
||||
|
|
@ -276,12 +159,12 @@ import { deleteSetting } from '@/api/selfhelpform'
|
|||
import { pageMixin } from '@/mixins'
|
||||
export default {
|
||||
mixins: [pageMixin],
|
||||
provide () {
|
||||
provide() {
|
||||
return {
|
||||
refresh: this.fetchList
|
||||
}
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
const initialParams = {
|
||||
form_element: undefined,
|
||||
field_title: undefined,
|
||||
|
|
@ -339,46 +222,46 @@ export default {
|
|||
...mapGetters(['wheight'])
|
||||
},
|
||||
watch: {
|
||||
getStatus (val) {
|
||||
getStatus(val) {
|
||||
if (val) {
|
||||
this.fetchList()
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
mounted() {
|
||||
this.fetchList()
|
||||
},
|
||||
methods: {
|
||||
onSearch () {
|
||||
onSearch() {
|
||||
this.page.pageIndex = 1
|
||||
this.$nextTick(() => {
|
||||
this.fetchList()
|
||||
})
|
||||
},
|
||||
onReset () {
|
||||
onReset() {
|
||||
this.params = { ...this.initialParams }
|
||||
this.onSearch()
|
||||
},
|
||||
addElement () {
|
||||
addElement() {
|
||||
// 添加商品
|
||||
this.$router.push({ path: this.matchHidePage('editor') })
|
||||
},
|
||||
editAction (index, row) {
|
||||
editAction(index, row) {
|
||||
// 编辑商品弹框
|
||||
this.$router.push({ path: '/member/selfservice/formsettingadd/' + row.id })
|
||||
},
|
||||
preview (index, row) {
|
||||
preview(index, row) {
|
||||
// 预览弹框
|
||||
this.dialogVisible = true
|
||||
this.dataInfo = row
|
||||
},
|
||||
getParams () {
|
||||
getParams() {
|
||||
let params = {
|
||||
...this.params
|
||||
}
|
||||
return params
|
||||
},
|
||||
async fetchList () {
|
||||
async fetchList() {
|
||||
this.loading = true
|
||||
const { pageIndex: page, pageSize } = this.page
|
||||
let params = {
|
||||
|
|
@ -392,7 +275,7 @@ export default {
|
|||
this.loading = false
|
||||
},
|
||||
|
||||
deleteAction (index, row) {
|
||||
deleteAction(index, row) {
|
||||
this.$confirm('此操废弃该元素, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
|
|
@ -422,7 +305,7 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
getTaskTime (strDate) {
|
||||
getTaskTime(strDate) {
|
||||
let date = new Date(strDate)
|
||||
let y = date.getFullYear()
|
||||
let m = date.getMonth() + 1
|
||||
|
|
@ -432,16 +315,21 @@ export default {
|
|||
let str = y + '-' + m + '-' + d
|
||||
return str
|
||||
},
|
||||
getTimeStr (date) {
|
||||
getTimeStr(date) {
|
||||
return this.getTaskTime(new Date(parseInt(date) * 1000))
|
||||
},
|
||||
handleTabClick (tab, event) {
|
||||
handleTabClick(tab, event) {
|
||||
this.onSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep .cell {
|
||||
.iconfont {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
.el-row {
|
||||
margin-bottom: 20px;
|
||||
&:last-child {
|
||||
|
|
|
|||
|
|
@ -8,99 +8,47 @@
|
|||
<div>
|
||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||
<div class="action-container">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="iconfont icon-xinzengcaozuo-01"
|
||||
@click="addTemplate"
|
||||
>
|
||||
<el-button type="primary" icon="iconfont icon-xinzengcaozuo-01" @click="addTemplate">
|
||||
添加模板
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<SpFilterForm
|
||||
:model="params"
|
||||
@onSearch="onSearch"
|
||||
@onReset="onReset"
|
||||
>
|
||||
<SpFilterFormItem
|
||||
prop="tem_name"
|
||||
label="模板名称:"
|
||||
>
|
||||
<el-input
|
||||
v-model="params.tem_name"
|
||||
placeholder="模板名称"
|
||||
/>
|
||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
||||
<SpFilterFormItem prop="tem_name" label="模板名称:">
|
||||
<el-input v-model="params.tem_name" placeholder="模板名称" />
|
||||
</SpFilterFormItem>
|
||||
<SpFilterFormItem
|
||||
prop="tem_type"
|
||||
label="模板类型:"
|
||||
>
|
||||
<el-select
|
||||
v-model="params.tem_type"
|
||||
placeholder="模板类型"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
key="basic_entry"
|
||||
label="基础录入"
|
||||
value="basic_entry"
|
||||
/>
|
||||
<el-option
|
||||
key="ask_answer_paper"
|
||||
label="问卷调查"
|
||||
value="ask_answer_paper"
|
||||
/>
|
||||
<SpFilterFormItem prop="tem_type" label="模板类型:">
|
||||
<el-select v-model="params.tem_type" placeholder="模板类型" style="width: 100%">
|
||||
<el-option key="basic_entry" label="基础录入" value="basic_entry" />
|
||||
<el-option key="ask_answer_paper" label="问卷调查" value="ask_answer_paper" />
|
||||
</el-select>
|
||||
</SpFilterFormItem>
|
||||
</SpFilterForm>
|
||||
|
||||
<el-tabs
|
||||
v-model="params.is_valid"
|
||||
type="card"
|
||||
@tab-click="handleTabClick"
|
||||
>
|
||||
<el-tabs v-model="params.is_valid" type="card" @tab-click="handleTabClick">
|
||||
<el-tab-pane
|
||||
v-for="(item, index) in tabList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:name="item.activeName"
|
||||
>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
border
|
||||
:data="tableList"
|
||||
:height="wheight - 280"
|
||||
>
|
||||
<el-table-column
|
||||
prop="id"
|
||||
label="ID"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="tem_name"
|
||||
label="模板名称"
|
||||
width="300"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="tem_type"
|
||||
label="模板类型"
|
||||
width="300"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column label="操作">
|
||||
<el-table v-loading="loading" border :data="tableList" :height="wheight - 280">
|
||||
<el-table-column prop="id" label="ID" width="50" />
|
||||
<el-table-column prop="tem_name" label="模板名称" min-width="300" />
|
||||
<el-table-column prop="tem_type" label="模板类型" min-width="100" />
|
||||
<el-table-column prop="status" label="状态" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.status == 1" size="small" type="success">启用</el-tag>
|
||||
<el-tag v-else type="info" size="small">禁用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<router-link
|
||||
class="iconfont icon-edit1"
|
||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.id } }"
|
||||
/>
|
||||
<i
|
||||
class="iconfont icon-search-plus"
|
||||
@click="preview(scope.$index, scope.row)"
|
||||
/>
|
||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
||||
<i
|
||||
v-if="scope.row.status == 1"
|
||||
class="mark iconfont icon-trash-alt1"
|
||||
|
|
@ -123,21 +71,9 @@
|
|||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
:title="dialogTitle"
|
||||
width="50"
|
||||
>
|
||||
<el-alert
|
||||
v-if="headerTitle"
|
||||
:title="headerTitle"
|
||||
type="info"
|
||||
:closable="false"
|
||||
/><br>
|
||||
<el-card
|
||||
v-for="(carditem, index) in dialogContent"
|
||||
:key="index"
|
||||
>
|
||||
<el-dialog :visible.sync="dialogVisible" :title="dialogTitle" width="50">
|
||||
<el-alert v-if="headerTitle" :title="headerTitle" type="info" :closable="false" /><br />
|
||||
<el-card v-for="(carditem, index) in dialogContent" :key="index">
|
||||
<div slot="header">
|
||||
{{ carditem.title }}
|
||||
</div>
|
||||
|
|
@ -152,56 +88,24 @@
|
|||
:key="index"
|
||||
:label="item.field_title"
|
||||
>
|
||||
<el-col
|
||||
v-if="item.form_element == 'text'"
|
||||
:span="12"
|
||||
>
|
||||
<el-input
|
||||
placeholder="text预览"
|
||||
disabled
|
||||
/>
|
||||
<el-col v-if="item.form_element == 'text'" :span="12">
|
||||
<el-input placeholder="text预览" disabled />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="item.form_element == 'number'"
|
||||
:span="12"
|
||||
>
|
||||
<el-input
|
||||
placeholder="1"
|
||||
size="mini"
|
||||
disabled
|
||||
style="width: 120px"
|
||||
/>
|
||||
<el-col v-if="item.form_element == 'number'" :span="12">
|
||||
<el-input placeholder="1" size="mini" disabled style="width: 120px" />
|
||||
<span class="frm-tips"> (只能是数字)</span>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="item.form_element == 'textarea'"
|
||||
:span="12"
|
||||
>
|
||||
<el-input
|
||||
type="textarea"
|
||||
placeholder="textarea预览"
|
||||
disabled
|
||||
:rows="5"
|
||||
/>
|
||||
<el-col v-if="item.form_element == 'textarea'" :span="12">
|
||||
<el-input type="textarea" placeholder="textarea预览" disabled :rows="5" />
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="item.form_element == 'radio'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="item.form_element == 'radio'" :span="12">
|
||||
<el-radio-group disabled>
|
||||
<el-radio
|
||||
v-for="(item, index) in item.options"
|
||||
:key="index"
|
||||
:label="3"
|
||||
>
|
||||
<el-radio v-for="(item, index) in item.options" :key="index" :label="3">
|
||||
{{ item.value }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="item.form_element == 'checkbox'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="item.form_element == 'checkbox'" :span="12">
|
||||
<el-checkbox-group disabled>
|
||||
<el-checkbox
|
||||
v-for="(item, index) in item.options"
|
||||
|
|
@ -212,10 +116,7 @@
|
|||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="item.form_element == 'select'"
|
||||
:span="12"
|
||||
>
|
||||
<el-col v-if="item.form_element == 'select'" :span="12">
|
||||
<el-select placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in item.options"
|
||||
|
|
@ -229,18 +130,8 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-alert
|
||||
v-if="bottomTitle"
|
||||
:title="bottomTitle"
|
||||
type="info"
|
||||
:closable="false"
|
||||
/>
|
||||
<el-button
|
||||
type="primary"
|
||||
disabled
|
||||
>
|
||||
确认提交
|
||||
</el-button>
|
||||
<el-alert v-if="bottomTitle" :title="bottomTitle" type="info" :closable="false" />
|
||||
<el-button type="primary" disabled> 确认提交 </el-button>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<router-view />
|
||||
|
|
@ -252,12 +143,12 @@ import { deleteTemplate } from '@/api/selfhelpform'
|
|||
import { pageMixin } from '@/mixins'
|
||||
export default {
|
||||
mixins: [pageMixin],
|
||||
provide () {
|
||||
provide() {
|
||||
return {
|
||||
refresh: this.fetchList
|
||||
}
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
const initialParams = {
|
||||
tem_name: undefined,
|
||||
tem_type: undefined,
|
||||
|
|
@ -287,41 +178,41 @@ export default {
|
|||
...mapGetters(['wheight'])
|
||||
},
|
||||
watch: {
|
||||
getStatus (val) {
|
||||
getStatus(val) {
|
||||
if (val) {
|
||||
this.fetchList()
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
mounted() {
|
||||
this.fetchList()
|
||||
},
|
||||
methods: {
|
||||
onSearch () {
|
||||
onSearch() {
|
||||
this.page.pageIndex = 1
|
||||
this.$nextTick(() => {
|
||||
this.fetchList()
|
||||
})
|
||||
},
|
||||
onReset () {
|
||||
onReset() {
|
||||
this.params = { ...this.initialParams }
|
||||
this.onSearch()
|
||||
},
|
||||
getParams () {
|
||||
getParams() {
|
||||
let params = {
|
||||
...this.params
|
||||
}
|
||||
return params
|
||||
},
|
||||
addTemplate () {
|
||||
addTemplate() {
|
||||
// 添加商品
|
||||
this.$router.push({ path: this.matchHidePage('editor') })
|
||||
},
|
||||
editTemplateAction (index, row) {
|
||||
editTemplateAction(index, row) {
|
||||
// 编辑商品弹框
|
||||
this.$router.push({ path: '/member/selfservice/formtemplateadd/' + row.id })
|
||||
},
|
||||
preview (index, row) {
|
||||
preview(index, row) {
|
||||
// 编辑商品弹框
|
||||
this.dialogVisible = true
|
||||
this.dialogTitle = row.tem_name + '( 预览模式 )'
|
||||
|
|
@ -329,7 +220,7 @@ export default {
|
|||
this.headerTitle = row.header_title
|
||||
this.bottomTitle = row.bottom_title
|
||||
},
|
||||
async fetchList () {
|
||||
async fetchList() {
|
||||
this.loading = true
|
||||
const { pageIndex: page, pageSize } = this.page
|
||||
let params = {
|
||||
|
|
@ -342,7 +233,7 @@ export default {
|
|||
this.page.total = total_count
|
||||
this.loading = false
|
||||
},
|
||||
deleteAction (index, row) {
|
||||
deleteAction(index, row) {
|
||||
this.$confirm('此操作将废弃该模板, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
|
|
@ -372,7 +263,7 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
getTaskTime (strDate) {
|
||||
getTaskTime(strDate) {
|
||||
let date = new Date(strDate)
|
||||
let y = date.getFullYear()
|
||||
let m = date.getMonth() + 1
|
||||
|
|
@ -382,16 +273,21 @@ export default {
|
|||
let str = y + '-' + m + '-' + d
|
||||
return str
|
||||
},
|
||||
getTimeStr (date) {
|
||||
getTimeStr(date) {
|
||||
return this.getTaskTime(new Date(parseInt(date) * 1000))
|
||||
},
|
||||
handleTabClick (tab, event) {
|
||||
handleTabClick(tab, event) {
|
||||
this.onSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep .cell {
|
||||
.iconfont {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
.el-row {
|
||||
margin-bottom: 20px;
|
||||
&:last-child {
|
||||
|
|
|
|||
|
|
@ -19,14 +19,19 @@
|
|||
</el-select>
|
||||
</SpFilterFormItem>
|
||||
<SpFilterFormItem prop="create_time" label="时间:">
|
||||
<el-date-picker v-model="params.create_time" type="daterange" value-format="yyyy/MM/dd" placeholder="根据添加时间筛选" />
|
||||
<el-date-picker
|
||||
v-model="params.create_time"
|
||||
type="daterange"
|
||||
value-format="yyyy/MM/dd"
|
||||
placeholder="根据添加时间筛选"
|
||||
/>
|
||||
</SpFilterFormItem>
|
||||
</SpFilterForm>
|
||||
|
||||
<el-table v-loading="loading" border :data="tableList">
|
||||
<el-table-column prop="activity_id" label="编号" width="50" />
|
||||
<el-table-column prop="activity_name" label="活动名称" width="300" />
|
||||
<el-table-column prop="start_time" label="活动有效期" width="300">
|
||||
<el-table-column prop="activity_name" label="活动名称" min-width="300" />
|
||||
<el-table-column prop="start_time" label="活动有效期" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.start_date }} ~ {{ scope.row.end_date }}
|
||||
</template>
|
||||
|
|
@ -36,34 +41,71 @@
|
|||
{{ scope.row.total_join_num || 0 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<el-table-column label="操作" min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<router-link class="iconfont icon-edit1"
|
||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.activity_id } }" />
|
||||
<router-link
|
||||
class="iconfont icon-edit1"
|
||||
:to="{ path: matchHidePage('editor'), query: { id: scope.row.activity_id } }"
|
||||
/>
|
||||
<i class="iconfont icon-search-plus" @click="preview(scope.$index, scope.row)" />
|
||||
<i v-if="scope.row.status == 1" class="mark iconfont icon-trash-alt1"
|
||||
@click="deleteAction(scope.$index, scope.row)" />
|
||||
<!-- v-if="scope.row.status == 1" -->
|
||||
<i class="mark iconfont icon-trash-alt1" @click="deleteAction(scope.$index, scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="content-center content-top-padded">
|
||||
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :current-page.sync="page.pageIndex"
|
||||
:page-sizes="[10, 20, 50]" :total="page.total" :page-size="page.pageSize" @current-change="onCurrentChange"
|
||||
@size-change="onSizeChange" />
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:current-page.sync="page.pageIndex"
|
||||
:page-sizes="[10, 20, 50]"
|
||||
:total="page.total"
|
||||
:page-size="page.pageSize"
|
||||
@current-change="onCurrentChange"
|
||||
@size-change="onSizeChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible" title="活动详情">
|
||||
<el-descriptions :column="1">
|
||||
<el-descriptions-item label="活动名称">{{ dataInfo.activity_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="活动有效时间">{{ dataInfo.start_date }}-{{ dataInfo.end_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="活动有效时间"
|
||||
>{{ dataInfo.start_date }}-{{ dataInfo.end_date }}</el-descriptions-item
|
||||
>
|
||||
<el-descriptions-item label="活动地址">
|
||||
{{ dataInfo.address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="封面">
|
||||
<div v-if="dataInfo.pics" style="display: flex; flex-wrap: wrap">
|
||||
<!-- <img
|
||||
v-for="item in JSON.parse(dataInfo.pics)"
|
||||
:src="item"
|
||||
style="width: 100px; height: 100px"
|
||||
/> -->
|
||||
<el-image
|
||||
v-for="item in JSON.parse(dataInfo.pics)"
|
||||
class="img-content"
|
||||
style="width: 100px; height: 100px"
|
||||
:src="item"
|
||||
fit="cover"
|
||||
/>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="活动介绍">
|
||||
<div class="content-padded" v-html="dataInfo.intro"></div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="报名问卷模板">
|
||||
{{ dataInfo.temp_id | formatterLable(temp_options) }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="提交报名次数">
|
||||
{{ dataInfo.join_limit }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开启短信通知">{{ dataInfo.is_sms_notice==1?'是':'否' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开启小程序通知">{{ dataInfo.is_wxapp_notice==1?'是':'否' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开启短信通知">{{
|
||||
dataInfo.is_sms_notice == 1 ? '是' : '否'
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否开启小程序通知">{{
|
||||
dataInfo.is_wxapp_notice == 1 ? '是' : '否'
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<!-- <el-form ref="dataInfo" label-width="200px" label-position="left" class="demo-ruleForm">
|
||||
<el-form-item :label="dataInfo.field_title">
|
||||
|
|
@ -142,7 +184,7 @@ import mixin, { pageMixin } from '@/mixins'
|
|||
export default {
|
||||
filters: {
|
||||
formatterLable(value, options) {
|
||||
return options.find(item => item.value == value)?.label
|
||||
return options.find((item) => item.value == value)?.label
|
||||
}
|
||||
},
|
||||
mixins: [mixin, pageMixin],
|
||||
|
|
@ -360,6 +402,26 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep {
|
||||
.cell {
|
||||
.iconfont {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
.el-descriptions-item__label {
|
||||
min-width: 100px;
|
||||
}
|
||||
.content-padded {
|
||||
padding: 0 10px;
|
||||
width: 100%;
|
||||
img {
|
||||
width: 90%;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-row {
|
||||
margin-bottom: 20px;
|
||||
|
||||
|
|
@ -426,7 +488,6 @@ export default {
|
|||
</style>
|
||||
<style lang="scss">
|
||||
.grid-detail {
|
||||
|
||||
table,
|
||||
.detail-content-wrap,
|
||||
.detail-content-item {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<el-col :span="15">
|
||||
<el-input
|
||||
v-model.trim="form.activity_name"
|
||||
:maxlength="30"
|
||||
:maxlength="150"
|
||||
placeholder="名称"
|
||||
@change="fieldItemChange"
|
||||
/>
|
||||
|
|
@ -37,6 +37,32 @@
|
|||
/>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="活动地址"
|
||||
prop="address"
|
||||
:rules="[{ required: true, message: '请输入活动地址', trigger: 'blur' }]"
|
||||
>
|
||||
<el-col :span="15">
|
||||
<el-input v-model.trim="form.address" :maxlength="150" placeholder="地址" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="活动封面图"
|
||||
prop="pics"
|
||||
:rules="[{ required: true, message: '请上传活动封面图', trigger: 'change' }]"
|
||||
>
|
||||
<div :span="20">
|
||||
<SpImagePicker v-model="form.pics" drag :max="9" />
|
||||
<div class="frm-tips">只能上传jpg/png文件,且不超过2M</div>
|
||||
<!-- <imgPicker
|
||||
:dialog-visible="imgDialog"
|
||||
:sc-status="isGetImage"
|
||||
@chooseImg="pickImg"
|
||||
@closeImgDialog="closeImgDialog"
|
||||
/> -->
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
label="选择报名问卷模板"
|
||||
prop="temp_id"
|
||||
|
|
@ -67,6 +93,16 @@
|
|||
/>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="活动介绍"
|
||||
prop="activity_name"
|
||||
:rules="[{ required: true, message: '请输入活动介绍', trigger: 'blur' }]"
|
||||
>
|
||||
<el-col :span="20">
|
||||
<SpRichText v-model="form.intro" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否开启短信通知" prop="is_sms_notice">
|
||||
<el-col :span="15">
|
||||
<div class="clearfix">
|
||||
|
|
@ -136,7 +172,10 @@ export default {
|
|||
activity_time: '',
|
||||
start_time: '',
|
||||
end_time: '',
|
||||
join_limit: ''
|
||||
join_limit: '',
|
||||
address: '',
|
||||
pics: [],
|
||||
intro: ''
|
||||
},
|
||||
templateParams: {
|
||||
page: 1,
|
||||
|
|
@ -241,6 +280,11 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep {
|
||||
.el-col .sp-rich-text {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
.text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,27 +8,12 @@
|
|||
<div>
|
||||
<template v-if="$route.path.indexOf('detail') === -1 && $route.path.indexOf('editor') === -1">
|
||||
<div class="action-container">
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="editorLog()"
|
||||
>
|
||||
上传日志
|
||||
</el-button>
|
||||
<el-button type="primary" @click="editorLog()"> 上传日志 </el-button>
|
||||
</div>
|
||||
|
||||
<SpFilterForm
|
||||
:model="params"
|
||||
@onSearch="onSearch"
|
||||
@onReset="onReset"
|
||||
>
|
||||
<SpFilterFormItem
|
||||
prop="activity_id"
|
||||
label="活动:"
|
||||
>
|
||||
<el-select
|
||||
v-model="params.activity_id"
|
||||
placeholder="请选择活动"
|
||||
>
|
||||
<SpFilterForm :model="params" @onSearch="onSearch" @onReset="onReset">
|
||||
<SpFilterFormItem prop="activity_id" label="活动:">
|
||||
<el-select v-model="params.activity_id" placeholder="请选择活动">
|
||||
<el-option
|
||||
v-for="item in activity_options"
|
||||
:key="item.value"
|
||||
|
|
@ -37,19 +22,10 @@
|
|||
/>
|
||||
</el-select>
|
||||
</SpFilterFormItem>
|
||||
<SpFilterFormItem
|
||||
prop="mobile"
|
||||
label="手机号:"
|
||||
>
|
||||
<el-input
|
||||
v-model="params.mobile"
|
||||
placeholder="手机号"
|
||||
/>
|
||||
<SpFilterFormItem prop="mobile" label="手机号:">
|
||||
<el-input v-model="params.mobile" placeholder="手机号" />
|
||||
</SpFilterFormItem>
|
||||
<SpFilterFormItem
|
||||
prop="create_time"
|
||||
label="时间:"
|
||||
>
|
||||
<SpFilterFormItem prop="create_time" label="时间:">
|
||||
<el-date-picker
|
||||
v-model="params.create_time"
|
||||
type="daterange"
|
||||
|
|
@ -60,21 +36,10 @@
|
|||
</SpFilterForm>
|
||||
|
||||
<div class="action-container">
|
||||
<el-button
|
||||
plain
|
||||
type="primary"
|
||||
@click="uploadHandleTemplate()"
|
||||
>
|
||||
下载模版
|
||||
</el-button>
|
||||
<el-button plain type="primary" @click="uploadHandleTemplate()"> 下载模版 </el-button>
|
||||
|
||||
<export-tip @exportHandle="exportData">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
<el-button type="primary" plain> 导出 </el-button>
|
||||
</export-tip>
|
||||
|
||||
<el-upload
|
||||
|
|
@ -84,76 +49,47 @@
|
|||
:auto-upload="false"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
>
|
||||
点击上传
|
||||
</el-button>
|
||||
<el-button type="primary" plain> 点击上传 </el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
|
||||
<el-tabs
|
||||
v-model="params.status"
|
||||
type="card"
|
||||
@tab-click="onSearch"
|
||||
>
|
||||
<el-tabs v-model="params.status" type="card" @tab-click="onSearch">
|
||||
<el-tab-pane
|
||||
v-for="(item, index) in tabList"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:name="item.name"
|
||||
>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
border
|
||||
:data="tableList"
|
||||
element-loading-text="数据加载中"
|
||||
>
|
||||
<el-table-column
|
||||
prop="record_id"
|
||||
label="报名编号"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="mobile"
|
||||
label="手机号"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="create_date"
|
||||
label="申请时间"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
>
|
||||
<el-table v-loading="loading" border :data="tableList" element-loading-text="数据加载中">
|
||||
<el-table-column prop="record_id" label="报名编号" width="80" />
|
||||
<el-table-column prop="mobile" label="手机号" />
|
||||
<el-table-column prop="create_date" label="申请时间" />
|
||||
<el-table-column prop="status" label="状态">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
v-if="scope.row.status == 'pending'"
|
||||
type="warning"
|
||||
size="mini"
|
||||
>
|
||||
<el-tag v-if="scope.row.status == 'pending'" type="warning" size="mini">
|
||||
待审核
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="scope.row.status == 'passed'"
|
||||
v-if="scope.row.status == 'passed' && scope.row.is_write_off == '0'"
|
||||
type="success"
|
||||
size="mini"
|
||||
>
|
||||
已通过
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="scope.row.status == 'rejected'"
|
||||
type="danger"
|
||||
v-if="scope.row.status == 'passed' && scope.row.is_write_off == '1'"
|
||||
type="primary"
|
||||
size="mini"
|
||||
>
|
||||
已签到
|
||||
</el-tag>
|
||||
<el-tag v-if="scope.row.status == 'rejected'" type="danger" size="mini">
|
||||
已拒绝
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="操作"
|
||||
>
|
||||
<el-table-column prop="is_write_off_date_format" label="签到时间" />
|
||||
<el-table-column prop="status" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<router-link
|
||||
v-if="scope.row.status == 'pending'"
|
||||
|
|
@ -195,7 +131,7 @@ import mixin, { pageMixin } from '@/mixins'
|
|||
|
||||
export default {
|
||||
mixins: [mixin, pageMixin],
|
||||
data () {
|
||||
data() {
|
||||
const initialParams = {
|
||||
activity_id: undefined,
|
||||
mobile: undefined,
|
||||
|
|
@ -209,9 +145,9 @@ export default {
|
|||
},
|
||||
tabList: [
|
||||
{ label: '全部', name: 'all' },
|
||||
{ label: '待审核', name: 'pending' },
|
||||
{ label: '已通过', name: 'passed' },
|
||||
{ label: '已拒绝', name: 'rejected' }
|
||||
{ label: '待审核', name: 'pending' }
|
||||
// { label: '已通过', name: 'passed' },
|
||||
// { label: '已拒绝', name: 'rejected' }
|
||||
],
|
||||
activityParams: {
|
||||
page: 1,
|
||||
|
|
@ -222,7 +158,12 @@ export default {
|
|||
activity_options: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
beforeRouteUpdate(to, from, next) {
|
||||
// 当路由变化时,重新获取数据
|
||||
this.fetchList()
|
||||
next()
|
||||
},
|
||||
mounted() {
|
||||
if (this.$route.query.id) {
|
||||
this.params.record_id = this.$route.query.id
|
||||
}
|
||||
|
|
@ -230,17 +171,17 @@ export default {
|
|||
this.fetchList()
|
||||
},
|
||||
methods: {
|
||||
onSearch () {
|
||||
onSearch() {
|
||||
this.page.pageIndex = 1
|
||||
this.$nextTick(() => {
|
||||
this.fetchList()
|
||||
})
|
||||
},
|
||||
onReset () {
|
||||
onReset() {
|
||||
this.params = { ...this.initialParams }
|
||||
this.onSearch()
|
||||
},
|
||||
getParams () {
|
||||
getParams() {
|
||||
const time = {}
|
||||
const create_time = this.params.create_time
|
||||
if (create_time.length) {
|
||||
|
|
@ -255,7 +196,7 @@ export default {
|
|||
}
|
||||
return params
|
||||
},
|
||||
async fetchList () {
|
||||
async fetchList() {
|
||||
this.loading = true
|
||||
const { pageIndex: page, pageSize } = this.page
|
||||
let params = {
|
||||
|
|
@ -270,11 +211,11 @@ export default {
|
|||
this.loading = false
|
||||
},
|
||||
// 切换tab
|
||||
handleClick (tab, event) {
|
||||
handleClick(tab, event) {
|
||||
this.params.status = tab.name == 'all' ? '' : tab.name
|
||||
this.onSearch()
|
||||
},
|
||||
regActivityEasylists () {
|
||||
regActivityEasylists() {
|
||||
this.loading = true
|
||||
regActivityEasylist(this.activityParams).then((response) => {
|
||||
response.data.data.list.map((item) => {
|
||||
|
|
@ -287,10 +228,10 @@ export default {
|
|||
this.loading = false
|
||||
})
|
||||
},
|
||||
dateStrToTimeStamp (str) {
|
||||
dateStrToTimeStamp(str) {
|
||||
return Date.parse(new Date(str)) / 1000
|
||||
},
|
||||
uploadHandleTemplate () {
|
||||
uploadHandleTemplate() {
|
||||
var fileName = '报名批量审核'
|
||||
let params = { file_type: 'selform_registration_record', file_name: fileName }
|
||||
exportUploadTemplate(params).then((response) => {
|
||||
|
|
@ -309,7 +250,7 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
uploadHandleChange (file, fileList) {
|
||||
uploadHandleChange(file, fileList) {
|
||||
let params = { isUploadFile: true, file_type: 'selform_registration_record', file: file.raw }
|
||||
handleUploadFile(params).then((response) => {
|
||||
this.$message({
|
||||
|
|
@ -319,10 +260,10 @@ export default {
|
|||
this.$router.push({ path: this.matchHidePage('editor') })
|
||||
})
|
||||
},
|
||||
editorLog () {
|
||||
editorLog() {
|
||||
this.$router.push({ path: this.matchHidePage('editor') })
|
||||
},
|
||||
exportData () {
|
||||
exportData() {
|
||||
this.currentPage = 1
|
||||
recordExport(this.params).then((response) => {
|
||||
if (response.data.data.status) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
<template>
|
||||
<div class="section section-white">
|
||||
<div class="section-header with-border">
|
||||
报名详情及审核
|
||||
</div>
|
||||
<div class="section-header with-border">报名详情及审核</div>
|
||||
<div class="section-body">
|
||||
<el-form
|
||||
ref="recorddata"
|
||||
|
|
@ -14,85 +12,45 @@
|
|||
<el-form-item label="活动名称">
|
||||
{{ recorddata.activity_name }}
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="活动有效时间"
|
||||
prop="activity_time"
|
||||
>
|
||||
<el-form-item label="活动有效时间" prop="activity_time">
|
||||
{{ recorddata.start_date }} ~ {{ recorddata.end_date }}
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="审核结果"
|
||||
prop="status"
|
||||
>
|
||||
<el-tag
|
||||
v-if="recorddata.status == 'pending'"
|
||||
type="warning"
|
||||
size="mini"
|
||||
>
|
||||
待审核
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="recorddata.status == 'passed'"
|
||||
type="success"
|
||||
size="mini"
|
||||
>
|
||||
已通过
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="recorddata.status == 'rejected'"
|
||||
type="danger"
|
||||
size="mini"
|
||||
>
|
||||
已拒绝
|
||||
</el-tag>
|
||||
<el-form-item label="审核结果" prop="status">
|
||||
<el-tag v-if="recorddata.status == 'pending'" type="warning" size="mini"> 待审核 </el-tag>
|
||||
<el-tag v-if="recorddata.status == 'passed'" type="success" size="mini"> 已通过 </el-tag>
|
||||
<el-tag v-if="recorddata.status == 'rejected'" type="danger" size="mini"> 已拒绝 </el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item label="报名问卷">
|
||||
<el-card
|
||||
v-for="(item, index) in recorddata.content"
|
||||
:key="index"
|
||||
class="box-card"
|
||||
>
|
||||
<div
|
||||
slot="header"
|
||||
class="clearfix"
|
||||
>
|
||||
<el-form-item v-if="recorddata.status == 'passed'" label="签到状态" prop="is_write_off">
|
||||
<el-tag v-if="recorddata.is_write_off == '0'" type="warning" size="mini"> 待签到 </el-tag>
|
||||
<el-tag v-if="recorddata.is_write_off == '1'" type="success" size="mini"> 已签到 </el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item label="签到时间" prop="is_write_off_date">
|
||||
{{ toTimeDate(recorddata.is_write_off_date) }}
|
||||
</el-form-item>
|
||||
<el-form-item label="报名表单">
|
||||
<el-card v-for="(item, index) in recorddata.content" :key="index" class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>{{ item.title }}</span>
|
||||
</div>
|
||||
<div
|
||||
v-for="(item, key) in item.formdata"
|
||||
:key="key"
|
||||
class="text item"
|
||||
>
|
||||
<div v-for="(item, key) in item.formdata" :key="key" class="text item">
|
||||
{{ item.field_title }}: {{ item.answer }}
|
||||
</div>
|
||||
</el-card>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="recorddata.status == 'pending'"
|
||||
label="是否同意"
|
||||
>
|
||||
<el-form-item v-if="recorddata.status == 'pending'" label="是否同意">
|
||||
<el-switch v-model="form.status" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="form.status === false && recorddata.status == 'pending'"
|
||||
label="拒绝原因"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.reason"
|
||||
type="textarea"
|
||||
/>
|
||||
<el-input v-model="form.reason" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="recorddata.status == 'pending'"
|
||||
type="primary"
|
||||
@click="submitAction"
|
||||
>
|
||||
<el-button v-if="recorddata.status == 'pending'" type="primary" @click="submitAction">
|
||||
提交审核
|
||||
</el-button>
|
||||
<el-button @click="handleCancel">
|
||||
取消
|
||||
</el-button>
|
||||
<el-button @click="handleCancel"> 取消 </el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
|
@ -101,11 +59,12 @@
|
|||
|
||||
<script>
|
||||
import { Message } from 'element-ui'
|
||||
import dayjs from 'dayjs'
|
||||
import { regActivityRecordinfo, registrationReview } from '@/api/selfhelpform'
|
||||
|
||||
export default {
|
||||
inject: ['refresh'],
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
activity_date: [],
|
||||
form: {
|
||||
|
|
@ -116,7 +75,7 @@ export default {
|
|||
recorddata: {}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
mounted() {
|
||||
if (this.$route.query.id) {
|
||||
let filter = { record_id: this.$route.query.id }
|
||||
regActivityRecordinfo(filter).then((res) => {
|
||||
|
|
@ -126,7 +85,10 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
submitAction () {
|
||||
toTimeDate(time) {
|
||||
return time ? dayjs(time * 1000).format('YYYY-MM-DD HH:mm:ss') : ''
|
||||
},
|
||||
submitAction() {
|
||||
const that = this
|
||||
registrationReview(that.form).then((res) => {
|
||||
if (res.data.data.status) {
|
||||
|
|
@ -134,7 +96,7 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
handleCancel () {
|
||||
handleCancel() {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue