Commit dd0fda81 authored by Mac's avatar Mac

欢迎语 文件新建

parent 31dc901c
......@@ -23,3 +23,26 @@ export function getWeChatConfigInfo(data) {
data
})
}
/**
* 初始化 同步部门至企业微信
*
*/
export function setSyncEduDepartment(data) {
return request({
url: '/QYWeChat/SetSyncEduDepartment',
method: 'post',
data
})
}
/**
* 初始化 同步员工至企业微信
*
*/
export function SetSynvEduEmployee(data) {
return request({
url: '/QYWeChat/SetSynvEduEmployee',
method: 'post',
data
})
}
\ No newline at end of file
<style>
@import "../financial/css/cssReset.css";
.addwelcome {
justify-content: space-between;
}
.addwelcome .box_l {
width: 400px;
border-radius: 6px;
margin-right: 15px;
background: #fff;
}
.addwelcome .boxl_title {
width: 100%;
height: 56px;
display: flex;
align-items: center;
border-bottom: 1px solid #e8e8e8;
}
.addwelcome .box_r {
width: 1px;
flex: 1;
border-radius: 6px;
background: #fff;
padding: 20px;
}
</style>
<template>
<div class="addwelcome page-body row" style="background: transparent;">
<div class="box_l">
<div class="boxl_title">
<span style="margin-left:24px ;color: rgba(0,0,0,.85); font-weight: 500; font-size: 16px;">客户账号</span>
</div>
</div>
<div class="box_r">
<el-form ref="addMsg" :model="addMsg" label-width="120px">
<el-form-item label="企业微信成员:">
<el-radio-group v-model="addMsg.membertype">
<el-radio :label="1">通用</el-radio>
<el-radio :label="2">指定企业成员</el-radio>
</el-radio-group>
<el-button size="small" style="margin-left: 20px;" v-if="addMsg.membertype==2" @click='getMember'>
选择成员</el-button>
<span v-if="addMsg.ryList.length>0" style="margin-left: 15px;">已选择{{addMsg.ryList.length}}名成员</span>
<span v-if="addMsg.ryList.length>0" style="cursor: pointer;color: #1890ff;margin-left: 15px;"
@click='addMsg.ryList =[],showMember=[]'>重置</span>
</el-form-item>
<el-form-item label="文本内容:">
<el-input type="textarea" placeholder="请输入内容" v-model="addMsg.Content" style="width: 60%;" :rows="4"></el-input>
<div>
<el-button size="small" @click='insert'>+插入客户名称</el-button>
</div>
</el-form-item>
<el-form-item label="添加内容:">
<el-tooltip placement="top">
<div slot="content">
<div style="display: flex;align-items: center;"></div>
</div>
<el-button size="small" >+添加图片/图文/小程序</el-button>
</el-tooltip>
</el-form-item>
</el-form>
</div>
<!-- 人员选择 -->
<el-dialog custom-class='w700' title="选择人员" :visible.sync="outerVisible" center>
<div class="fl" style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 10px 0;">选择: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText">
</el-input>
</p>
<el-tree class='ApprovalProcessBg' :data="memberList" show-checkbox :filter-node-method="filterNode"
ref="tree" :props="defaultProps" :render-after-expand="false" node-key="Id"
:check-on-click-node="true" @check-change="handleNodeChange">
</el-tree>
</div>
<div class="fl">
<p style="margin: 0 0 20px 0;">已选:</p>
<div class="Approval_yxList">
<li v-for="(item,index) in showMember">{{item.EmployeeName}}
<i @click="mySetCheckedKeys(item.Id,index)" class="el-icon-circle-close showMemberIcon"></i>
</li>
</div>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false">取消</button> &nbsp;
<button class="normalBtn" type="primary" @click="getmember">确实</button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
queryEmployee
} from '../../api/users/user'
export default {
meta: {
title: "欢迎语编辑"
},
name: "welcomeList",
data() {
return {
loading: false,
outerVisible: false,//选择人员弹窗
filterText: '',//人员选择 帅选
memberList: [],//
showMember: [],
addMsg: {
membertype: 1,
ryList: [],
Content:"",
},
defaultProps: {
children: 'ChildList',
label: 'EmployeeName',
},
}
},
created() {
},
methods: {
getMember() {
this.outerVisible = true;
this.dialogTitle = this.$t('fnc.xzrenyuan');
queryEmployee({}).then(res => {
if (res.Code == 1) {
this.memberList = res.Data;
}
}).catch(() => {
})
var arr = [];
this.showMember.forEach(x => {
arr.push(x.Id);
})
if (this.$refs.tree) {
this.$refs.tree.setCheckedKeys(arr);
}
},
mySetCheckedKeys(id, index) {
var arr = [];
this.showMember.splice(index, 1);
this.showMember.forEach(x => {
arr.push(x.Id);
})
if (this.$refs.tree) {
this.$refs.tree.setCheckedKeys(arr);
}
},
handleNodeChange(data, checked) {
data.IsCheck = checked;
let res = this.$refs.tree.getCheckedNodes(true, true);
this.showMember = [];
res.forEach(x => {
var obj = {
EmployeeName: x.EmployeeName,
Id: x.Id
}
this.showMember.push(obj)
})
},
filterNode(value, data) {
if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1;
},
getmember() {//人员确定选择
this.outerVisible = false;
this.addMsg.ryList = JSON.parse(JSON.stringify(this.showMember))
},
insert(){
this.addMsg.Content= this.addMsg.Content+'##客户名称##'
}
}
}
</script>
\ No newline at end of file
<template>
<div class="welcomeList page-body">
<!-- <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
</div>
</div> -->
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" title="" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">欢迎语列表</div>
<q-space />
<q-btn color="accent" style="float:right;margin-right:0;" size="sm" class="q-mr-md" icon="add"
label="新增欢迎语" @click="goadd()"></q-btn>
</template>
<template v-slot:body-cell-Type="props">
<q-td :props="props">
<span v-if="props.row.Type==1">图文</span>
<span v-if="props.row.Type==2">图片</span>
</q-td>
</template>
<template v-slot:body-cell-Content="props">
<q-td :props="props">
<div style="max-width: 800px;white-space: normal;">
{{props.row.Content}}
</div>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
label="编辑" @click="goDetailed(props.row,'0')" />
<q-btn flat size="xs" icon="delete" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
label="删除" @click="goDetailed(props.row,'0')" />
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</div>
</div>
</template>
<script>
export default {
meta: {
title: "欢迎语列表"
},
name: "welcomeList",
data() {
return {
loading: false,
ISsystem: false,
data: [{Type:1,Content:'文本:您好,##客户名称##!亲~你終於來啦!!我是你的专属顾问,任何有关日语学习问题都可以问我哦!!~~~~~~~~~~ 加入甲鹤大家庭~优惠天天有 第一条~9.9块日语体验课!! 第二条~每周活动免费参加! 第三条~猛戳我,”赞羊”电商优惠券免费送!! 第四条~再戳我,”旅游优惠券”我再送! ~~~~~从现在起”甲鹤日语”就是你学习日语的好帮手!! 现在回复”甲鹤”两个字~看看甲鹤想给你看甚么?~呵呵呵!',applymember:'通用',UpdateTime:'2021-08-04 15:48'}],
pageCount: 0,
msg: {
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
Month: '',
TeacherId: 0,
State: 0,
},
//公告column
columns: [{
name: 'Type',
label: '欢迎语类型',
align: 'left'
},
{
name: 'Content',
field: 'Content',
label: '欢迎语内容',
align: 'left',
},
{
name: 'applymember',
field: 'applymember',
label: '使用成员',
align: 'left'
},
{
name: 'UpdateTime',
field: 'UpdateTime',
label: '创建时间',
align: 'left'
},
{
name: 'optioned',
label: '操作',
field: 'DeptId'
}
],
}
},
created() {
},
methods: {
changePage(e){
},
goadd(){
this.$router.push({
path:'/enterprise/addWelcome',
});
}
}
}
</script>
<style>
.welcomeList .Sysuser_Date .el-input--prefix .el-input__inner {
background-color: red;
border: 0;
}
.welcomeList .state-item {
padding: 2px 5px;
border-radius: 3px;
text-align: center;
font-size: 10px;
}
.welcomeList .frIdlist {
padding: 3px 10px;
border-radius: 3px;
background: #EEEEEF;
align-items: center;
justify-content: center;
margin-right: 5px;
margin-bottom: 5px;
cursor: pointer;
}
.class-popover .q-pr-lg {
padding-right: 0;
margin-top: 20px;
}
.welcomeList .el-date-editor.el-input {
width: 100%;
}
.welcomeList .el-date-editor.el-input input {
background-color: transparent !important;
}
.welcomeList .el-range-editor .el-range-input {
background: none;
}
.Sysuser_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
}
.welcomeList .el-drawer.rtl{
overflow: inherit;
}
</style>
\ No newline at end of file
......@@ -1129,7 +1129,17 @@ const routes = [{
path: "/stuMan/unfinishedStudent", //学管 未完成学员名单
component: () =>
import("pages/stuMan/unfinishedStudent")
}
},
{
path: "/enterprise/welcomeList", //企微 欢迎语列表
component: () =>
import("pages/enterprise/welcomeList")
},
{
path: "/enterprise/addWelcome", //企微 欢迎语修改新增
component: () =>
import("pages/enterprise/addWelcome")
},
],
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment