提交 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>
<el-form
ref="formData"
:model="formData"
:rules="rules"
label-width="150px"
label-width="180px"
label-suffix=":"
class="basic-form"
>
<p class="p-title">基础配置</p>
<el-form-item label="后台标题" prop="titleManager">
<el-col :span="13">
<el-input
......@@ -117,10 +119,6 @@
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<div class="basic-item-icon">
<el-form-item label="活动列表页图片" class="required-label">
<el-upload
......@@ -154,6 +152,7 @@
</el-form-item>
<p class="upload-message" v-if="uploadImgMessage1">活动列表页图片</p>
</div>
<p class="p-title">报名页配置</p>
<div class="basic-item-icon">
<el-form-item label="报名页介绍图片" class="required-label">
<el-upload
......@@ -181,15 +180,80 @@
<div class="limit-text">
<p>限制大小: 500kb</p>
<p>宽度:750px</p>
<p>高度:不限</p>
<p>支持jpeg, png格式</p>
<p>招募中的活动对应的报名页显示该图片介绍活动</p>
</div>
</el-upload>
</el-form-item>
<p class="upload-message" v-if="uploadImgMessage2">报名介绍页图片</p>
</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;">
......@@ -271,6 +335,30 @@
oriUrl: '', // 原图
},
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: [
{ required: true, message: "请输入后台显示的活动标题", trigger: "blur" },
{
......
......@@ -173,10 +173,15 @@
<span>1.下载模板,填写信息</span>
<br>
<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 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;">
<span>2.上传填写好的文件</span>
<br>
......@@ -199,7 +204,7 @@ import * as operationData from "@/utils/operation";
import { openLoading, closeLoading } from "@/utils/utils";
import { doUpload, getFilePath } from "@/utils/qiniu-util";
import { mpRelSearch, mprDeleteOrg } from '@/utils/yqrange/memberApi';
import { uploadDoc } from '@/utils/yqrange/yqrangeApi';
import { doctorsByIdOrMobile } from '@/utils/yqrange/yqrangeApi';
import addMember from './addMember.vue'
let vm = null;
export default {
......@@ -457,7 +462,7 @@ export default {
// let files = new window.File();
uploadDoc(formData).then(res => {
doctorsByIdOrMobile(formData).then(res => {
closeLoading(vm);
if (res.code == "000000") {
......@@ -544,6 +549,11 @@ export default {
const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx";
window.location.href = url;
},
// 下载模板2
download2(){
const url = "https://files.yunqueyi.com/template/import_doctor_by_id.xlsx";
window.location.href = url;
},
// 下载错误数据文件
downloadFile(){
window.location.href = vm.errorFileUrl;
......
......@@ -28,7 +28,7 @@ export const getRangeList = (params) => {
export const getCircleSettingList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/app/${params.circleId}/list`),
url: getBaseUrl(`circle/v1/app/${params.circleId}/list`),
method: 'get',
description: '查看生态圈应用配置',
})
......@@ -37,7 +37,7 @@ export const getCircleSettingList = (params) => {
export const saveCircleSetting = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/app/save`),
url: getBaseUrl(`circle/v1/app/save`),
method: 'post',
data: params,
description: '保存生态圈应用配置',
......@@ -314,3 +314,14 @@ export const auditOperation = (params) => {
description: '医生审核',
})
};
export const doctorsByIdOrMobile = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/import/doctorsByIdOrMobile`),
method: 'post',
data: params,
description: '批量导入人员',
})
};
......@@ -68,6 +68,12 @@
introImage:'',//介绍页图片url
imgUrl1More: {},
imgUrl2More: {},
backgroundColor2NotJoin:"#0D9078",//立即报名按钮颜色
backgroundColor2Joining:"#86C7BB",//审核中按钮颜色
backgroundColor2Joined:"#0D9078",//参与活动按钮颜色
foregroundColor2NotJoin:"#FFFFFF",//立即报名按钮文字颜色
foregroundColor2Joining:"#FFFFFF",//审核中按钮文字颜色
foregroundColor2Joined:"#FFFFFF",//参与活动按钮文字颜色
},
}
},
......
......@@ -4,41 +4,63 @@
<div class="yqrange-index-content" id="screenSet">
<!--<div class="header-title">云鹊小圈</div>-->
<el-form ref="settingForm" :model="settingForm"
<!-- <el-form ref="settingForm" :model="settingForm"
label-width="150px"
label-suffix=":"
class="basic-form">
<div v-for="(item, index) in settingForm.settingData" :key="index">
<el-form-item :label="item.appTagName">
<div v-for="(item, index) in settingForm.settingData" :key="index" display:inline>
<el-form-item :label="item.appType">
<el-radio-group size="small" v-model="item.showOff">
<el-radio :label="1">开启</el-radio>
<el-radio :label="0">关闭</el-radio>
</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;">
<el-button type="primary" @click="save()" center>保存</el-button>
<el-button type="primary" @click="checkSubmitData()" center>保存</el-button>
<!--<el-button @click="cancle()">取 消</el-button>-->
</div>
</div>
</div>
</template>
<script>
import { openLoading, closeLoading } from "../../utils/utils";
import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import { getRangeList,updateRangeStatus, getCircleSettingList, saveCircleSetting} from "../../utils/yqrange/yqrangeApi";
import { isEmptyUtils } from "../../utils/index";
export default {
components: {
BreadCrumb
......@@ -69,13 +91,11 @@ export default {
created() {
this.circleId = this.$route.query.id;
this.setting();
},
methods: {
// 应用配置
setting(){
let params = {
circleId: this.circleId
// circleId: 22
......@@ -85,80 +105,59 @@ export default {
closeLoading(this);
if(res.code == "000000") {
this.settingForm.settingData = res.data;
} else {
// this.$message.error(res.data.message);
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++){
if(this.settingForm.settingData[i].appTag == 1){
this.settingForm.settingData[i].appTagName = "教培"
checkSubmitData() {
for(let i=0; i<this.settingForm.settingData.length; i++) {
if (isEmptyUtils(this.settingForm.settingData[i].appName)) {
this.$message.error("重命名输入框中的值不可为空,请检查");
return;
}
else if(this.settingForm.settingData[i].appTag == 2){
this.settingForm.settingData[i].appTagName = "直播"
if (isEmptyUtils(this.settingForm.settingData[i].seqNo)) {
this.$message.error("序号不可为空,请检查");
return;
}
else if(this.settingForm.settingData[i].appTag == 3){
this.settingForm.settingData[i].appTagName = "继教课程"
if (this.settingForm.settingData[i].seqNo > this.settingForm.settingData.length) {
this.$message.error("序号必须从1开始顺序排列,不能有跳序情况,请检查");
return;
}
else if(this.settingForm.settingData[i].appTag == 4){
this.settingForm.settingData[i].appTagName = "职称培训"
for(let j=0; j<this.settingForm.settingData.length; j++) {
if (i == j) {
continue;
}
else if(this.settingForm.settingData[i].appTag == 5){
this.settingForm.settingData[i].appTagName = "云鹊豆商城"
if (this.settingForm.settingData[i].seqNo == this.settingForm.settingData[j].seqNo) {
this.$message.error("序号不可重复,请检查");
return;
}
}
}).catch((error) => {
this.$message.error("请重试");
})
}
this.save();
},
// 保存
save(){
let params = {
apps: this.settingForm.settingData,
circleId: this.circleId
}
saveCircleSetting(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
this.$message.success("保存成功!");
// this.$router.go(-1);
this.setting();
}
}).catch((error) => {
this.$message.error("请重试");
})
},
cancle(){
......@@ -208,4 +207,36 @@ export default {
/*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>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册