提交 f89a18ee 编写于 作者: bo.dang's avatar bo.dang

Merge branch 'dev-circle-9-1-20210112' into 'release'

小生态V1.9.1, code review: bo.dang



See merge request !239
<template> <template>
<el-form <el-form
ref="formData" ref="formData"
:model="formData" :model="formData"
:rules="rules" :rules="rules"
label-width="150px" label-width="180px"
label-suffix=":" label-suffix=":"
class="basic-form" class="basic-form"
> >
<p class="p-title">基础配置</p>
<el-form-item label="后台标题" prop="titleManager"> <el-form-item label="后台标题" prop="titleManager">
<el-col :span="13"> <el-col :span="13">
<el-input <el-input
...@@ -117,10 +119,6 @@ ...@@ -117,10 +119,6 @@
<el-radio :label="2"></el-radio> <el-radio :label="2"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div class="basic-item-icon"> <div class="basic-item-icon">
<el-form-item label="活动列表页图片" class="required-label"> <el-form-item label="活动列表页图片" class="required-label">
<el-upload <el-upload
...@@ -154,6 +152,7 @@ ...@@ -154,6 +152,7 @@
</el-form-item> </el-form-item>
<p class="upload-message" v-if="uploadImgMessage1">活动列表页图片</p> <p class="upload-message" v-if="uploadImgMessage1">活动列表页图片</p>
</div> </div>
<p class="p-title">报名页配置</p>
<div class="basic-item-icon"> <div class="basic-item-icon">
<el-form-item label="报名页介绍图片" class="required-label"> <el-form-item label="报名页介绍图片" class="required-label">
<el-upload <el-upload
...@@ -181,17 +180,82 @@ ...@@ -181,17 +180,82 @@
<div class="limit-text"> <div class="limit-text">
<p>限制大小: 500kb</p> <p>限制大小: 500kb</p>
<p>宽度:750px</p> <p>宽度:750px</p>
<p>高度:不限</p>
<p>支持jpeg, png格式</p> <p>支持jpeg, png格式</p>
<p>招募中的活动对应的报名页显示该图片介绍活动</p>
</div> </div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<p class="upload-message" v-if="uploadImgMessage2">报名介绍页图片</p> <p class="upload-message" v-if="uploadImgMessage2">报名介绍页图片</p>
</div> </div>
<el-row>
<el-col :span="8">
<el-form-item label="立即报名按钮颜色" prop="backgroundColor2NotJoin">
<el-input
size="small"
v-model="formData.backgroundColor2NotJoin"
placeholder="例如#0D9078"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="审核中按钮颜色" prop="backgroundColor2Joining">
<el-input
size="small"
v-model="formData.backgroundColor2Joining"
placeholder="例如#0D9078"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参与活动按钮颜色" prop="backgroundColor2Joined">
<el-input
size="small"
v-model="formData.backgroundColor2Joined"
placeholder="例如#0D9078"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="立即报名按钮文字颜色" prop="foregroundColor2NotJoin">
<el-input
size="small"
v-model="formData.foregroundColor2NotJoin"
placeholder="例如#FFFFFF"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="审核中按钮文字颜色" prop="foregroundColor2Joining">
<el-input
size="small"
v-model="formData.foregroundColor2Joining"
placeholder="例如#FFFFFF"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参与活动按钮文字颜色" prop="foregroundColor2Joined">
<el-input
size="small"
v-model="formData.foregroundColor2Joined"
placeholder="例如#FFFFFF"
style="width:90%;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="margin-top: 60px;margin-left: 250px;"> <div style="margin-top: 60px;margin-left: 250px;">
<el-button type="primary" @click="save()" center>保存</el-button> <el-button type="primary" @click="save()" center>保存</el-button>
<el-button @click="cancle()">取 消</el-button> <el-button @click="cancle()">取 消</el-button>
...@@ -271,6 +335,30 @@ ...@@ -271,6 +335,30 @@
oriUrl: '', // 原图 oriUrl: '', // 原图
}, },
rules: { rules: {
backgroundColor2NotJoin:[
{ required: true, message: "请输入立即报名按钮颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
backgroundColor2Joining:[
{ required: true, message: "请输入审核中按钮颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
backgroundColor2Joined:[
{ required: true, message: "请输入参与活动按钮颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
foregroundColor2NotJoin:[
{ required: true, message: "请输入立即报名按钮文字颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
foregroundColor2Joining:[
{ required: true, message: "请输入审核中按钮文字颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
foregroundColor2Joined:[
{ required: true, message: "请输入参与活动按钮文字颜色", trigger: "blur" },
{ pattern: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/, message: ' 输入正确的十六进制' },
],
titleManager: [ titleManager: [
{ required: true, message: "请输入后台显示的活动标题", trigger: "blur" }, { required: true, message: "请输入后台显示的活动标题", trigger: "blur" },
{ {
......
...@@ -173,10 +173,15 @@ ...@@ -173,10 +173,15 @@
<span>1.下载模板,填写信息</span> <span>1.下载模板,填写信息</span>
<br> <br>
<div> <div>
<el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板</el-button> <el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板1</el-button>
<span style="float:left; margin-top: 72px;margin-left: -90px;">填写人员明细导入</span>
</div>
<div>
<el-button type="primary" size="small" style="margin-top: 30px;margin-left: 48px;" @click="download2">下载模板2</el-button>
<span style="float: right;margin-top:10px;">填写人员ID导入</span>
</div> </div>
</div> </div>
<div style="float:left;margin-left: 40px;width: 1px;height: 100px; background: #c8cbd2;"></div> <div style="float:left;margin-left: 90px;width: 1px;height: 100px; background: #c8cbd2;"></div>
<div style="margin-left: 400px;height: 130px;"> <div style="margin-left: 400px;height: 130px;">
<span>2.上传填写好的文件</span> <span>2.上传填写好的文件</span>
<br> <br>
...@@ -199,7 +204,7 @@ import * as operationData from "@/utils/operation"; ...@@ -199,7 +204,7 @@ import * as operationData from "@/utils/operation";
import { openLoading, closeLoading } from "@/utils/utils"; import { openLoading, closeLoading } from "@/utils/utils";
import { doUpload, getFilePath } from "@/utils/qiniu-util"; import { doUpload, getFilePath } from "@/utils/qiniu-util";
import { mpRelSearch, mprDeleteOrg } from '@/utils/yqrange/memberApi'; import { mpRelSearch, mprDeleteOrg } from '@/utils/yqrange/memberApi';
import { uploadDoc } from '@/utils/yqrange/yqrangeApi'; import { doctorsByIdOrMobile } from '@/utils/yqrange/yqrangeApi';
import addMember from './addMember.vue' import addMember from './addMember.vue'
let vm = null; let vm = null;
export default { export default {
...@@ -361,7 +366,7 @@ export default { ...@@ -361,7 +366,7 @@ export default {
if (!first) { if (!first) {
closeLoading(vm); closeLoading(vm);
} }
if (res.code == "000000") { if (res.code == "000000") {
this.peoplesDtoList = res.data.peoplesDtoList; this.peoplesDtoList = res.data.peoplesDtoList;
this.totalPeople = res.data.total; this.totalPeople = res.data.total;
...@@ -457,7 +462,7 @@ export default { ...@@ -457,7 +462,7 @@ export default {
// let files = new window.File(); // let files = new window.File();
uploadDoc(formData).then(res => { doctorsByIdOrMobile(formData).then(res => {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
...@@ -544,6 +549,11 @@ export default { ...@@ -544,6 +549,11 @@ export default {
const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx"; const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx";
window.location.href = url; window.location.href = url;
}, },
// 下载模板2
download2(){
const url = "https://files.yunqueyi.com/template/import_doctor_by_id.xlsx";
window.location.href = url;
},
// 下载错误数据文件 // 下载错误数据文件
downloadFile(){ downloadFile(){
window.location.href = vm.errorFileUrl; window.location.href = vm.errorFileUrl;
......
...@@ -28,7 +28,7 @@ export const getRangeList = (params) => { ...@@ -28,7 +28,7 @@ export const getRangeList = (params) => {
export const getCircleSettingList = (params) => { export const getCircleSettingList = (params) => {
return fetch({ return fetch({
headers, headers,
url: getBaseUrl(`circle/app/${params.circleId}/list`), url: getBaseUrl(`circle/v1/app/${params.circleId}/list`),
method: 'get', method: 'get',
description: '查看生态圈应用配置', description: '查看生态圈应用配置',
}) })
...@@ -37,7 +37,7 @@ export const getCircleSettingList = (params) => { ...@@ -37,7 +37,7 @@ export const getCircleSettingList = (params) => {
export const saveCircleSetting = (params) => { export const saveCircleSetting = (params) => {
return fetch({ return fetch({
headers, headers,
url: getBaseUrl(`circle/app/save`), url: getBaseUrl(`circle/v1/app/save`),
method: 'post', method: 'post',
data: params, data: params,
description: '保存生态圈应用配置', description: '保存生态圈应用配置',
...@@ -313,4 +313,15 @@ export const auditOperation = (params) => { ...@@ -313,4 +313,15 @@ export const auditOperation = (params) => {
data: params, data: params,
description: '医生审核', description: '医生审核',
}) })
}; };
\ No newline at end of file
export const doctorsByIdOrMobile = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/import/doctorsByIdOrMobile`),
method: 'post',
data: params,
description: '批量导入人员',
})
};
...@@ -68,6 +68,12 @@ ...@@ -68,6 +68,12 @@
introImage:'',//介绍页图片url introImage:'',//介绍页图片url
imgUrl1More: {}, imgUrl1More: {},
imgUrl2More: {}, imgUrl2More: {},
backgroundColor2NotJoin:"#0D9078",//立即报名按钮颜色
backgroundColor2Joining:"#86C7BB",//审核中按钮颜色
backgroundColor2Joined:"#0D9078",//参与活动按钮颜色
foregroundColor2NotJoin:"#FFFFFF",//立即报名按钮文字颜色
foregroundColor2Joining:"#FFFFFF",//审核中按钮文字颜色
foregroundColor2Joined:"#FFFFFF",//参与活动按钮文字颜色
}, },
} }
}, },
......
...@@ -4,41 +4,63 @@ ...@@ -4,41 +4,63 @@
<div class="yqrange-index-content" id="screenSet"> <div class="yqrange-index-content" id="screenSet">
<!--<div class="header-title">云鹊小圈</div>--> <!--<div class="header-title">云鹊小圈</div>-->
<el-form ref="settingForm" :model="settingForm" <!-- <el-form ref="settingForm" :model="settingForm"
label-width="150px" label-width="150px"
label-suffix=":" label-suffix=":"
class="basic-form"> class="basic-form">
<div v-for="(item, index) in settingForm.settingData" :key="index" display:inline>
<div v-for="(item, index) in settingForm.settingData" :key="index"> <el-form-item :label="item.appType">
<el-form-item :label="item.appTagName">
<el-radio-group size="small" v-model="item.showOff"> <el-radio-group size="small" v-model="item.showOff">
<el-radio :label="1">开启</el-radio> <el-radio :label="1">开启</el-radio>
<el-radio :label="0">关闭</el-radio> <el-radio :label="0">关闭</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item>
</div>
</el-form> <el-input v-model="item.appName" style="width:120px;margin-left:40px;" size="small" placeholder="重命名"/>
<el-input v-model="item.seqNo" style="width:60px;margin-left:40px;" size="small" placeholder="序号"/>
</el-form-item>
</div>
</el-form> -->
<el-table :data="settingForm.settingData" class="customer-table" style="margin-left:70px;"
:header-cell-style="{background:'#ffffff'}">
<el-table-column label="" prop="appType" width="120"></el-table-column>
<el-table-column label="" width="180">
<template slot-scope="scope">
<el-radio-group size="small" v-model="scope.row.showOff">
<el-radio :label="1">开启</el-radio>
<el-radio :label="0">关闭</el-radio>
</el-radio-group>
</template>
</el-table-column>
<el-table-column label="重命名" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.appName" style="width:120px;" :maxlength="6" size="small" placeholder="重命名"/>
</template>
</el-table-column>
<el-table-column label="序号" width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.seqNo" style="width:60px;" size="small" placeholder="序号"/>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 60px;margin-left: 150px;"> <div style="margin-top: 60px;margin-left: 150px;">
<el-button type="primary" @click="save()" center>保存</el-button> <el-button type="primary" @click="checkSubmitData()" center>保存</el-button>
<!--<el-button @click="cancle()">取 消</el-button>--> <!--<el-button @click="cancle()">取 消</el-button>-->
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import { getRangeList,updateRangeStatus, getCircleSettingList, saveCircleSetting} from "../../utils/yqrange/yqrangeApi"; import { getRangeList,updateRangeStatus, getCircleSettingList, saveCircleSetting} from "../../utils/yqrange/yqrangeApi";
import { isEmptyUtils } from "../../utils/index";
export default { export default {
components: { components: {
BreadCrumb BreadCrumb
...@@ -69,13 +91,11 @@ export default { ...@@ -69,13 +91,11 @@ export default {
created() { created() {
this.circleId = this.$route.query.id; this.circleId = this.$route.query.id;
this.setting(); this.setting();
}, },
methods: { methods: {
// 应用配置 // 应用配置
setting(){ setting(){
let params = { let params = {
circleId: this.circleId circleId: this.circleId
// circleId: 22 // circleId: 22
...@@ -85,80 +105,59 @@ export default { ...@@ -85,80 +105,59 @@ export default {
closeLoading(this); closeLoading(this);
if(res.code == "000000") { if(res.code == "000000") {
this.settingForm.settingData = res.data; this.settingForm.settingData = res.data;
} else { } else {
// this.$message.error(res.data.message);
this.settingForm.settingData = []; this.settingForm.settingData = [];
} }
if(this.settingForm.settingData == [] || this.settingForm.settingData.length == 0){ }).catch((error) => {
this.$message.error("请重试");
this.settingForm.settingData = [{ })
appTag: 1,
showOff: 1
},
{
appTag: 2,
showOff: 1
},
{
appTag: 3,
showOff: 1
},
{
appTag: 4,
showOff: 1
},
{
appTag: 5,
showOff: 0
}];
}
},
for(let i = 0; i < this.settingForm.settingData.length; i++){ checkSubmitData() {
if(this.settingForm.settingData[i].appTag == 1){ for(let i=0; i<this.settingForm.settingData.length; i++) {
this.settingForm.settingData[i].appTagName = "教培" if (isEmptyUtils(this.settingForm.settingData[i].appName)) {
} this.$message.error("重命名输入框中的值不可为空,请检查");
else if(this.settingForm.settingData[i].appTag == 2){ return;
this.settingForm.settingData[i].appTagName = "直播" }
} if (isEmptyUtils(this.settingForm.settingData[i].seqNo)) {
else if(this.settingForm.settingData[i].appTag == 3){ this.$message.error("序号不可为空,请检查");
this.settingForm.settingData[i].appTagName = "继教课程" return;
} }
else if(this.settingForm.settingData[i].appTag == 4){ if (this.settingForm.settingData[i].seqNo > this.settingForm.settingData.length) {
this.settingForm.settingData[i].appTagName = "职称培训" this.$message.error("序号必须从1开始顺序排列,不能有跳序情况,请检查");
return;
}
for(let j=0; j<this.settingForm.settingData.length; j++) {
if (i == j) {
continue;
} }
else if(this.settingForm.settingData[i].appTag == 5){ if (this.settingForm.settingData[i].seqNo == this.settingForm.settingData[j].seqNo) {
this.settingForm.settingData[i].appTagName = "云鹊豆商城" this.$message.error("序号不可重复,请检查");
return;
} }
} }
}
}).catch((error) => { this.save();
this.$message.error("请重试");
})
}, },
// 保存 // 保存
save(){ save(){
let params = { let params = {
apps: this.settingForm.settingData, apps: this.settingForm.settingData,
circleId: this.circleId circleId: this.circleId
} }
saveCircleSetting(params).then((res) => { saveCircleSetting(params).then((res) => {
closeLoading(this); closeLoading(this);
if(res.code == "000000") { if(res.code == "000000") {
this.$message.success("保存成功!"); this.$message.success("保存成功!");
// this.$router.go(-1); // this.$router.go(-1);
this.setting();
} }
}).catch((error) => { }).catch((error) => {
this.$message.error("请重试"); this.$message.error("请重试");
}) })
}, },
cancle(){ cancle(){
...@@ -208,4 +207,36 @@ export default { ...@@ -208,4 +207,36 @@ export default {
/*margin-top: 30px;*/ /*margin-top: 30px;*/
/*}*/ /*}*/
/*}*/ /*}*/
// 去掉表格单元格边框
.customer-table th{
border:none;
}
.customer-table td,.customer-table th.is-leaf {
border:none;
}
// 表格最外边框
.el-table--border, .el-table--group{
border: none;
}
// 头部边框
.customer-table thead tr th.is-leaf{
width: 0;
}
.customer-table thead tr th:nth-last-of-type(2){
width: 0;
}
// 表格最外层边框-底部边框
.el-table--border::after, .el-table--group::after{
width: 0;
}
.customer-table::before{
width: 0;
}
.customer-table .el-table__fixed-right::before,.el-table__fixed::before{
width: 0;
}
// 表格有滚动时表格头边框
.el-table--border th.gutter:last-of-type {
width: 0;
}
</style> </style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册