提交 a373b369 authored 作者: FC's avatar FC

fc

上级 1eef9bb6
......@@ -23,8 +23,8 @@ const env = {
// API_TEST_ORIGIN: 'http://172.18.27.190:8080/confhd',
// API_BASE_ORIGIN: 'http://192.168.102.146:6888', //越越
// API_TEST_ORIGIN: 'http://192.168.102.146:6888',
API_BASE_ORIGIN: 'http://192.168.102.238:6888', //赵璐
API_TEST_ORIGIN: 'http://192.168.102.238:6888',
API_BASE_ORIGIN: 'http://192.168.102.53:6888', //赵璐
API_TEST_ORIGIN: 'http://192.168.102.53:6888',
},
development_ssj: {
// API_BASE_ORIGIN: 'http://192.168.100.248:6888',
......
......@@ -1661,7 +1661,27 @@ findUnitByCustomOrgId(data){
return axios('/conferenceProcess/rescheduleMeeting?processId='+data,{
method:'get',
})
}
},
//会议配置-群发通知
massNotification(data){
return axios('/conferenceProcess/massNotification',{
method:'post',
data
})
},
//会议配置-查询群发通知记录
findMassNotification(data){
return axios('/conferenceProcess/findMassNotification?processId='+data,{
method:'get',
})
},
// 会议配置-查询通知结果
findNoticeResult(data){
return axios('/conferenceProcess/findNoticeResult?sendNoticeId=' + data,{
method:'get',
})
}
}
export default server
......@@ -32,40 +32,30 @@
<div class="row_item line_hight_32">
<div class="row_item_label">会议管理人:</div>
<div class="person_select_show">
<el-tag
type="info"
v-for="tag in managerTags"
:key="tag.cractUnid"
@close="handleClose(tag)"
:closable="
<el-tag type="info" v-for="tag in managerTags" :key="tag.cractUnid"
@close="handleClose(tag)" :closable="
!(
role === 'ROLE_HUIYIADMIN' &&
userId !== overviewData.processSponsorUuid
)
"
>{{ tag.cnName }}</el-tag>
<el-button class="authorize_but" size="small" type="primary" @click="applyAdmin"></el-button>
">{{ tag.cnName }}</el-tag>
<el-button class="authorize_but" size="small" type="primary" @click="applyAdmin">
</el-button>
</div>
</div>
</div>
</div>
<div class="module_title">-会议设置-</div>
<div class="overview_model_2">
<div
class="overview_model_2_children"
v-for="(item, index) of switchData"
v-if="item.tagName!=='移动端配置'"
>
<div class="overview_model_2_children" v-for="(item, index) of switchData"
v-if="item.tagName !== '移动端配置'">
<div class="tag tag2">{{ item.tagName }}</div>
<div class="explain" v-if="item.explain !== ''">{{ item.explain }}</div>
<div class="customized" @click="gotoSchedule()" v-if="index === 0 && item.radio === 1">去定制>></div>
<div class="customized" @click="gotoSchedule()" v-if="index === 0 && item.radio === 1">去定制>>
</div>
<div class="mobile_wrap">
<img
class="mobile"
v-for="(img, i) of item.imgSrc"
:src="img"
@click="changeRadio(item, i, index)"
/>
<img class="mobile" v-for="(img, i) of item.imgSrc" :src="img"
@click="changeRadio(item, i, index)" />
</div>
<div class="radio_wrap">
<el-radio-group v-model="item.radio" @change="(e) => radioChange(e, index)">
......@@ -94,7 +84,8 @@
<div class="warp_right">
<div>日程地址(外挂):</div>
<div class="area">
<el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="schedulePath"></el-input>
<el-input type="textarea" :rows="4" placeholder="请输入内容"
v-model="schedulePath"></el-input>
</div>
<el-button type="primary" class="btn" @click="submitArea()">保存</el-button>
</div>
......@@ -108,17 +99,10 @@
<div class="template_choosen_item" v-for="(template, index) of templateData" :key="index">
<div class="ty_input_wrap">
<span class="ty_label">{{ template.name }}:</span>
<el-select
v-model="template.templateValue"
@change="selectChange($event, template, index)"
placeholder="请选择模板"
>
<el-option
v-for="item in template.templateOptions"
:key="item.id"
:label="item.templateName"
:value="item.id"
></el-option>
<el-select v-model="template.templateValue"
@change="selectChange($event, template, index)" placeholder="请选择模板">
<el-option v-for="item in template.templateOptions" :key="item.id"
:label="item.templateName" :value="item.id"></el-option>
</el-select>
</div>
<div class="template_show_item">
......@@ -143,12 +127,8 @@
>
</el-image>
</div>-->
<img
:src="template.templateImg"
class="defaultImg"
:class="template.templateImg ? 'templateImg' : 'no_img'"
:onerror="imgDefault"
/>
<img :src="template.templateImg" class="defaultImg"
:class="template.templateImg ? 'templateImg' : 'no_img'" :onerror="imgDefault" />
<!-- <span>{{ template.templateImg }}</span> -->
</div>
<!-- <div class="template_wrap">-->
......@@ -199,29 +179,19 @@
<div class="tag tag3">电子桌签展示</div>
<div class="ty_input_wrap">
<span class="ty_label">电子桌签:</span>
<el-select
v-model="overviewData.confInkScreenId"
@change="qianSelect()"
placeholder="请选择模板"
>
<el-option
v-for="item in overviewData.confElectronicTableSigns"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-select v-model="overviewData.confInkScreenId" @change="qianSelect()"
placeholder="请选择模板">
<el-option v-for="item in overviewData.confElectronicTableSigns" :key="item.id"
:label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="items">
<div>
<div class="template_show_item">
<div class="template_img">
<img
:src="GLOBAL + '/' + modules.zpith"
class="defaultImg"
<img :src="GLOBAL + '/' + modules.zpith" class="defaultImg"
:class="template.templateImg ? 'templateImg' : 'no_img'"
:onerror="imgDefault"
/>
:onerror="imgDefault" />
</div>
</div>
<div class="but_wrap">
......@@ -231,12 +201,9 @@
<div>
<div class="template_show_item">
<div class="template_img">
<img
:src="GLOBAL + '/' + modules.fpith"
class="defaultImg"
<img :src="GLOBAL + '/' + modules.fpith" class="defaultImg"
:class="template.templateImg ? 'templateImg' : 'no_img'"
:onerror="imgDefault"
/>
:onerror="imgDefault" />
</div>
</div>
<div class="but_wrap">
......@@ -260,50 +227,32 @@
<div class="title">议程展示时间:</div>
<div>
<div class="main">
<el-date-picker
v-model="item.agendaYear"
value-format="yyyy年MM月dd日"
format="yyyy年MM月dd日"
type="date"
placeholder="选择日期"
@change="changYi(item)"
></el-date-picker>
<el-date-picker v-model="item.agendaYear" value-format="yyyy年MM月dd日"
format="yyyy年MM月dd日" type="date" placeholder="选择日期"
@change="changYi(item)"></el-date-picker>
</div>
<div class="main">
<el-time-select
placeholder="起始时间"
v-model="item.agendaBeginHour"
<el-time-select placeholder="起始时间" v-model="item.agendaBeginHour"
:picker-options="{
start: '08:00',
step: '00:15',
end: '18:30',
}"
@change="changYi(item)"
></el-time-select>
<el-time-select
@change="changYi(item)"
placeholder="结束时间"
v-model="item.agendaEndHour"
:picker-options="{
}" @change="changYi(item)"></el-time-select>
<el-time-select @change="changYi(item)" placeholder="结束时间"
v-model="item.agendaEndHour" :picker-options="{
start: '08:00',
step: '00:15',
end: '18:30',
minTime: item.agendaBeginHour,
}"
></el-time-select>
}"></el-time-select>
</div>
</div>
</div>
<div class="detail">
<div class="title">议程展示内容:</div>
<div class="main">
<el-input
type="textarea"
maxlength="70"
show-word-limit
v-model="item.agendaContent"
@blur="changYi(item)"
></el-input>
<el-input type="textarea" maxlength="70" show-word-limit
v-model="item.agendaContent" @blur="changYi(item)"></el-input>
</div>
</div>
</div>
......@@ -314,33 +263,14 @@
</div>
</div>
</div>
<el-dialog
width="500px"
:modal-append-to-body="false"
:before-close="dialogClose"
title="指定管理人"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
>
<el-dialog width="500px" :modal-append-to-body="false" :before-close="dialogClose" title="指定管理人"
:visible.sync="dialogVisible" :close-on-click-modal="false">
<span>增加管理人:</span>
<el-select
v-model="managerInput"
@focus="handleFocus"
clearable
@change="handleChange"
filterable
multiple
remote
placeholder="请输入浙政钉、手机号、姓名进行搜索"
:loading="loading"
:remote-method="remoteMethod"
>
<el-option
v-for="item in searchPerson"
:key="item.id"
:label="item.cnName"
:value="item.id"
>
<el-select v-model="managerInput" @focus="handleFocus" clearable @change="handleChange"
filterable multiple remote placeholder="请输入浙政钉、手机号、姓名进行搜索" :loading="loading"
:remote-method="remoteMethod">
<el-option v-for="item in searchPerson" :key="item.id" :label="item.cnName"
:value="item.id">
<span>{{ item.cnName }}</span>
<span>{{ item.sysOrgName }}</span>
</el-option>
......@@ -365,26 +295,16 @@
</span>
</el-dialog>
<el-dialog
title="删除桌签议程"
:visible.sync="deleteAreas"
width="30%"
append-to-body
:before-close="handleClosed"
>
<el-dialog title="删除桌签议程" :visible.sync="deleteAreas" width="30%" append-to-body
:before-close="handleClosed">
<div class="signs">该操作将删除该条桌签议程,是否确定删除?</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClosed()">取 消</el-button>
<el-button type="primary" @click="sureDelete()">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="推送桌签议程"
:visible.sync="sendAreas"
width="30%"
append-to-body
:before-close="handleClosed"
>
<el-dialog title="推送桌签议程" :visible.sync="sendAreas" width="30%" append-to-body
:before-close="handleClosed">
<div class="signs">是否推送该条桌签议程?</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClosed()">取 消</el-button>
......@@ -392,22 +312,13 @@
</span>
</el-dialog>
<!-- 群发会议通知 -->
<el-dialog
title="群发会议通知"
:visible.sync="notification"
width="40%"
append-to-body
<el-dialog title="群发会议通知" :visible.sync="notification" width="40%" append-to-body
:before-close="notificationHandleClosed"
>
<el-form
style="width:80%"
:model="notificationForm"
ref="notificationForm"
label-width="100px"
:rules="notificationFormRules"
>
v-loading.fullscreen.lock="noteListDialogLoading">
<el-form style="width:80%" :model="notificationForm" ref="notificationForm"
label-width="100px" :rules="notificationFormRules">
<el-form-item label="接收人员:" prop="person">
<div>{{notificationForm.person}}</div>
<div>{{ notificationForm.person }}</div>
</el-form-item>
<el-form-item label="通知内容:" prop="content">
<el-input type="textarea" rows="9" v-model="notificationForm.content"></el-input>
......@@ -419,19 +330,21 @@
</el-form>
</el-dialog>
<!-- 通知记录弹框 -->
<el-dialog
title="通知记录"
:visible.sync="noteListDialogVisible"
append-to-body
:before-close="noteClose"
class="noteListDialog"
>
<el-dialog title="通知记录" :visible.sync="noteListDialogVisible" append-to-body
:before-close="noteClose" class="noteListDialog">
<div class="listMain">
<el-table height="100%" :data="noteTableData" stripe style="width: 100%">
<el-table-column prop="createTime" label="序号" width="80"></el-table-column>
<el-table-column prop="sendMsg" label="发送内容"></el-table-column>
<el-table-column prop="successNum" label="发送结果" width="200"></el-table-column>
<el-table-column prop="errorNum" label="发送时间" width="150"></el-table-column>
<el-table-column prop="sortNum" label="序号" width="80"></el-table-column>
<el-table-column prop="msgContent" label="发送内容" width="250"></el-table-column>
<el-table-column prop="result" label="发送结果" width="200">
<template slot-scope="scope">
<div>
<div>成功{{ scope.row.successNum }}</div>
<div>失败{{ scope.row.errorNum }}</div>
</div>
</template>
</el-table-column>
<el-table-column prop="errorNum" label="发送时间" width="230"></el-table-column>
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="showResult(scope.row)">通知结果</el-button>
......@@ -441,41 +354,42 @@
</div>
</el-dialog>
<!-- 通知结果 -->
<el-dialog
title="通知结果"
:visible.sync="notifyResultsDialogVisible"
append-to-body
:before-close="notifyResultsDialogVisibleClose"
class="notifyResultsDialog"
>
<el-dialog title="通知结果" :visible.sync="notifyResultsDialogVisible" append-to-body
:before-close="notifyResultsDialogVisibleClose" class="notifyResultsDialog">
<span slot="title" class="notifyResultsDialog_title">
<div>通知结果</div>
<el-button type="primary" @click="goBack()">返回</el-button>
</span>
<div class="top">
<div class="title">
<div>标题:</div>
<div>XXX</div>
</div>
<div class="content">
<div>内容:</div>
<div>xxxx</div>
<div style="white-space: pre-wrap">{{ resultObj.noticeContent }}
</div>
<div>发送时间:ccccc</div>
</div>
<div class="button">
<div>发送成功/10</div>
<div>发送失败/5</div>
<div>发送时间:{{ resultObj.sendTime }}</div>
</div>
<div class=" button">
<div class="button_div" @click="isSureResult(true)" :class="sureResult ? 'active' : ''">发送成功/{{
resultObj.successNum
}}</div>
<div class="button_div" @click="isSureResult(false)" :class="sureResult ? '' : 'active'">发送失败/{{
resultObj.errorNum }}
</div>
</div>
<!-- <div class="listMain"> -->
<el-table height="100%" :data="noteTableData" stripe style="width: 100%">
<el-table-column prop="createTime" label="序号" width="80"></el-table-column>
<el-table-column prop="sendMsg" label="发送内容"></el-table-column>
<el-table-column prop="successNum" label="发送结果" width="200"></el-table-column>
<el-table-column prop="errorNum" label="发送时间" width="150"></el-table-column>
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="showResult(scope.row)">通知结果</el-button>
</template>
</el-table-column>
<el-table height="100%"
:data="sureResult ? resultObj.successPersonnelList : resultObj.errorPersonnelList"
stripe style="width: 100%">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="easyName" label="席签"></el-table-column>
<el-table-column prop="seatName" label="座位"></el-table-column>
<el-table-column prop="unitName" label="单位"></el-table-column>
</el-table>
<!-- </div> -->
<span slot="footer">
<el-button type="primary" @click="notifyResultsDialogVisibleClose()">关闭</el-button>
</span>
</el-dialog>
</div>
</template>
......@@ -543,9 +457,18 @@ export default {
},
noteListDialogVisible: false,
noteTableData: [],
noteTableData: [
{
errorNum: '622',
successNum: '1',
},
],
//通知结果
notifyResultsDialogVisible: false,
sureResult: true,
noteListDialogLoading: false,
resultObj: {},
}
},
computed: {
......@@ -575,15 +498,41 @@ export default {
},
},
methods: {
goBack() {
this.notifyResultsDialogVisibleClose()
this.notificationRecord()
},
isSureResult(Boole) {
this.sureResult = Boole
},
//群发通知
massNotification() {
this.notification = true
},
sureNotification(formName) {
this.$refs[formName].validate((valid) => {
console.log(valid)
if (valid) {
let params = {
noticeContent: this.notificationForm.content,
processId: this.$route.query.processId,
}
this.noteListDialogLoading = true
// setTimeout(() => {
// this.noteListDialogLoading = false
// }, 2000)
console.log(params)
this.$axios.massNotification(params).then((res) => {
if (res.data.code == 200) {
this.$message.success('群发会议通知成功!')
this.notificationHandleClosed()
this.noteListDialogLoading = false
} else {
this.$message.error(`${res.data.data}`)
this.noteListDialogLoading = false
}
})
} else {
this.$message.error('请填写完表表单再发送通知')
}
})
},
......@@ -593,8 +542,16 @@ export default {
},
//查看通知
notificationRecord() {
this.$axios.findMassNotification(this.$route.query.processId).then((res) => {
console.log(res);
if (res.data.code == 200) {
this.noteTableData = res.data.data
for (let i in this.noteTableData) {
this.$set(this.noteTableData[i], 'sortNum', i)
}
}
})
this.noteListDialogVisible = true
// this.notifyResultsDialogVisible = true
},
noteClose() {
this.noteListDialogVisible = false
......@@ -603,27 +560,43 @@ export default {
//通知结果
showResult(row) {
console.log(row)
this.$axios.findNoticeResult(row.id).then((res) => {
if (res.data.code == 200) {
this.resultObj = res.data.data
}
console.log('this.resultObj', this.resultObj);
})
this.noteListDialogVisible = false
this.notifyResultsDialogVisible = true
},
notifyResultsDialogVisibleClose() {
this.notifyResultsDialogVisible = false
this.resultObj = {}
this.sureResult = true
},
yulan() {
console.log(this.schedulePath)
if (this.schedulePath) {
let reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/
console.log(reg.test(this.schedulePath))
if (reg.test(this.schedulePath)) {
window.open(this.schedulePath, '_blank')
} else {
this.$message.error('请输入日程地址后再预览!')
this.$message.error('请输入正规日程地址后再预览!')
}
},
submitArea() {
let reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/
if (reg.test(this.schedulePath)) {
let data = {
processId: this.$route.query.processId,
schedulePath: this.schedulePath,
}
console.log(data)
// saveScheduleAddress
this.$axios.saveScheduleAddress(data).then((res) => {
console.log(res)
if (res.data.code == 200) {
......@@ -632,6 +605,10 @@ export default {
this.$message.error(`${res.data.data}`)
}
})
} else {
this.$message.error('请输入正规日程地址后再预览!')
}
},
//查看大屏(ly)
checkScreen() {
......@@ -983,7 +960,7 @@ export default {
this.template.isShowSeatNum = this.switchData[2].radio
console.log(this.template)
})
.catch((err) => {})
.catch((err) => { })
},
radioChange(e, index) {
switch (index) {
......@@ -1023,7 +1000,7 @@ export default {
console.log(err)
})
},
publish() {},
publish() { },
},
}
</script>
......@@ -1032,6 +1009,7 @@ export default {
height: 100%;
overflow: auto;
padding: 14px 20px;
.header {
height: 40px;
background: #f7f8fd;
......@@ -1041,31 +1019,37 @@ export default {
line-height: 40px;
padding-left: 20px;
position: relative;
.text {
font-size: 16px;
color: #778ca2;
}
.num {
font-size: 16px;
color: #3a3c4b;
margin-right: 30px;
}
.toongzhi {
height: 100%;
position: absolute;
right: 0;
}
.daping {
height: 100%;
position: absolute;
right: 200px;
}
.tongzhi {
height: 100%;
position: absolute;
right: 350px;
}
}
.module_title {
height: 20px;
text-align: center;
......@@ -1076,6 +1060,7 @@ export default {
font-weight: 400;
color: #535767;
}
.overview_model_1 {
width: 100%;
margin-top: 16px;
......@@ -1084,10 +1069,12 @@ export default {
border: 0px solid #000000;
opacity: 0.9;
border-radius: 0px 2px 2px 2px;
.overview_model_1_2 {
height: 100%;
width: 100%;
margin-top: 15px;
// border: 1px solid red;
.person_select_show {
width: calc(100% - 110px);
......@@ -1097,6 +1084,7 @@ export default {
background: #ffffff;
border: 1px solid #e5e8eb;
border-radius: 4px;
/deep/ .el-button {
position: absolute;
bottom: 8px;
......@@ -1110,12 +1098,14 @@ export default {
}
}
}
.overview_model_2 {
width: 100%;
height: 470px;
margin-top: 16px;
display: flex;
justify-content: space-between;
.overview_model_2_children {
position: relative;
width: 600px;
......@@ -1124,6 +1114,7 @@ export default {
border: 0px solid #000000;
opacity: 0.9;
border-radius: 0px 2px 2px 2px;
.explain {
position: absolute;
padding-left: 110px;
......@@ -1139,6 +1130,7 @@ export default {
font-weight: 400;
color: #a6b5c6;
}
.customized {
position: absolute;
right: 0;
......@@ -1153,10 +1145,12 @@ export default {
color: #ffffff;
cursor: pointer;
}
.mobile_wrap {
display: flex;
justify-content: space-between;
padding: 50px 72px;
.mobile {
width: 180px;
height: 364px;
......@@ -1164,54 +1158,66 @@ export default {
background-size: 100% 100%;
background-repeat: no-repeat;
}
.warp_left {
display: flex;
flex-direction: column;
align-items: center;
.yulan {
height: 36px;
margin-top: 15px;
}
.img {
width: 180px;
height: 364px;
img {
width: 100%;
height: 100%;
}
}
}
.warp_right {
// height: 70%;
padding-top: 100px;
position: relative;
.area {
height: 150px;
width: 230px;
margin-bottom: 10px;
/deep/.el-textarea {
width: 100%;
height: 100%;
.el-textarea__inner {
width: 100% !important;
height: 100% !important;
}
}
}
.btn {
position: absolute;
right: 0;
}
}
}
.radio_wrap {
position: absolute;
bottom: 0;
width: 100%;
.el-radio-group {
width: 100%;
display: flex;
padding: 20px 0px;
.el-radio {
width: 50%;
text-align: center;
......@@ -1221,16 +1227,19 @@ export default {
}
}
}
.overview_model_4 {
height: 402px;
margin-top: 20px;
// border: 1px solid red;
display: flex;
.ty_input_wrap {
width: 85%;
margin: 0 auto;
margin-top: 40px;
}
.template_choosen_wrap {
height: 100%;
width: calc(100% - 605px);
......@@ -1238,21 +1247,25 @@ export default {
background: #f7f8fd;
position: relative;
}
.items {
display: flex;
width: 85%;
margin: 0 auto;
justify-content: space-between;
}
.template_details {
width: 605px;
height: 100%;
background: #f7f8fd;
position: relative;
.template_details_main {
width: 100%;
height: 320px;
overflow: auto;
.template_details_item {
width: 90%;
margin: 0 auto;
......@@ -1269,23 +1282,27 @@ export default {
padding: 20px 10px;
padding-bottom: 10px;
box-shadow: 1px 0px 4px 0px rgba(96, 102, 116, 0.1);
.deleteItem {
position: absolute;
width: 24px;
height: 24px;
right: 5px;
top: 5px;
img {
width: 24px;
height: 24px;
}
}
}
.title {
width: 113px;
color: #778ca2;
margin-top: 7px;
}
.main {
width: 290px;
// width: calc(100% - 130px);
......@@ -1294,32 +1311,40 @@ export default {
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
/deep/.el-textarea {
textarea {
height: 90px;
}
}
/deep/.el-date-editor {
width: 100%;
input {
width: 100%;
}
}
/deep/.el-date-editor--time-select {
width: 46% !important;
input {
width: 100% !important;
}
}
}
.date {
display: flex;
}
.detail {
display: flex;
}
}
}
.template_details_btn {
width: 90%;
margin: 0 auto;
......@@ -1328,6 +1353,7 @@ export default {
margin-bottom: 14px;
}
}
.template_show_item {
margin-top: 10px;
width: 440px;
......@@ -1339,6 +1365,7 @@ export default {
border-radius: 4px;
display: flex;
flex-direction: column;
.template_img {
position: relative;
width: 100%;
......@@ -1348,6 +1375,7 @@ export default {
flex-direction: column;
border-radius: 4px 4px 0px 0px;
overflow: hidden;
.icon_wrap {
cursor: pointer;
position: absolute;
......@@ -1362,17 +1390,20 @@ export default {
background: #fff;
opacity: 0.25;
}
.fangda_icon {
margin-top: 6px;
display: inline-block;
width: 20px;
height: 20px;
}
.templateImg {
height: 100%;
width: 100%;
margin: 0 auto;
}
.no_img {
height: auto;
width: auto;
......@@ -1381,6 +1412,7 @@ export default {
margin: 0 auto !important;
}
}
.template_wrap {
flex: 1;
display: flex;
......@@ -1389,30 +1421,36 @@ export default {
flex-direction: column;
background: #fff;
border-radius: 0px 0px 4px 4px;
.template_title {
line-height: 24px;
text-align: center;
font-size: 18px;
color: #778ca2;
}
.a_blank {
color: #2440b3;
text-decoration: none;
}
.a_blank:hover {
// color: #2440b3;
opacity: 0.8;
text-decoration: blink;
}
.template_url {
line-height: 24px;
text-align: center;
font-size: 18px;
color: #778ca2;
.a_blank {
color: #778ca2;
text-decoration: none;
}
.a_blank:hover {
color: #2440b3;
text-decoration: blink;
......@@ -1420,6 +1458,7 @@ export default {
}
}
}
.but_wrap {
position: relative;
width: 440px;
......@@ -1427,6 +1466,7 @@ export default {
background: rgba(84, 116, 232, 0.1);
border-radius: 0px 0px 2px 2px;
display: flex;
.but {
width: 100%;
text-align: center;
......@@ -1435,6 +1475,7 @@ export default {
color: #5474e8;
cursor: pointer;
}
.splice {
position: absolute;
width: 1px;
......@@ -1450,6 +1491,7 @@ export default {
.overview_model_3 {
height: 446px;
margin-top: 20px;
.template_choosen_wrap {
display: flex;
justify-content: space-around;
......@@ -1458,8 +1500,10 @@ export default {
border: 0px solid #000000;
opacity: 0.9;
border-radius: 0px 2px 2px 2px;
.template_choosen_item {
padding: 38px 0px 24px 0px;
.template_show_item {
margin-top: 10px;
width: 440px;
......@@ -1471,6 +1515,7 @@ export default {
border-radius: 4px;
display: flex;
flex-direction: column;
.template_img {
position: relative;
width: 100%;
......@@ -1480,6 +1525,7 @@ export default {
flex-direction: column;
border-radius: 4px 4px 0px 0px;
overflow: hidden;
.icon_wrap {
cursor: pointer;
position: absolute;
......@@ -1494,17 +1540,20 @@ export default {
background: #fff;
opacity: 0.25;
}
.fangda_icon {
margin-top: 6px;
display: inline-block;
width: 20px;
height: 20px;
}
.templateImg {
height: 100%;
width: 100%;
margin: 0 auto;
}
.no_img {
height: auto;
width: auto;
......@@ -1513,6 +1562,7 @@ export default {
margin: 0 auto !important;
}
}
.template_wrap {
flex: 1;
display: flex;
......@@ -1521,30 +1571,36 @@ export default {
flex-direction: column;
background: #fff;
border-radius: 0px 0px 4px 4px;
.template_title {
line-height: 24px;
text-align: center;
font-size: 18px;
color: #778ca2;
}
.a_blank {
color: #2440b3;
text-decoration: none;
}
.a_blank:hover {
// color: #2440b3;
opacity: 0.8;
text-decoration: blink;
}
.template_url {
line-height: 24px;
text-align: center;
font-size: 18px;
color: #778ca2;
.a_blank {
color: #778ca2;
text-decoration: none;
}
.a_blank:hover {
color: #2440b3;
text-decoration: blink;
......@@ -1552,6 +1608,7 @@ export default {
}
}
}
.but_wrap {
position: relative;
width: 440px;
......@@ -1559,6 +1616,7 @@ export default {
background: rgba(84, 116, 232, 0.1);
border-radius: 0px 0px 2px 2px;
display: flex;
.but {
width: 50%;
text-align: center;
......@@ -1567,6 +1625,7 @@ export default {
color: #5474e8;
cursor: pointer;
}
.splice {
position: absolute;
width: 1px;
......@@ -1588,18 +1647,38 @@ export default {
/deep/.el-dialog {
width: 50%;
// height: 100%;
// background-color: red;
.el-dialog__body {
width: 100%;
height: 100%;
.listMain {
width: 98%;
height: 500px;
.el-table {
width: 100%;
height: 100%;
.el-table__header-wrapper {
width: 100%;
.el-table__header {
width: 100% !important;
}
}
.el-table__body-wrapper {
width: 100%;
.el-table__body {
width: 100% !important;
}
}
}
/deep/.el-table__cell {
padding: 5px;
}
......@@ -1611,42 +1690,96 @@ export default {
.notifyResultsDialog {
width: 100%;
height: 100%;
/deep/.el-dialog {
width: 50%;
// height: 80%;
height: 80%;
.el-dialog__header {
padding: 8px 6px !important;
padding-right: 40px;
.notifyResultsDialog_title {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
// padding: 3px;
padding-right: 40px;
}
}
.el-dialog__body {
width: 100%;
height: 100%;
height: 85%;
display: flex;
padding: 10px;
// box-shadow: inset;
flex-direction: column;
// width: 100%;
.top {
width: 100%;
text-align: left;
.title,
.content {
width: 100%;
height: 98px;
overflow: auto;
display: flex;
}
.content {
// max-height: ;
margin-bottom: 16px;
}
}
.button {
width: 100%;
height: 36px;
line-height: 36px;
display: flex;
margin-top: 15px;
.button_div {
width: 100px;
height: 100%;
text-align: center;
border: 1px solid #7690ed;
background: #fff;
cursor: pointer;
}
.active {
border: 1px solid gray;
background: #7690ed;
}
.button_div:first-child {
border-radius: 4px 0 0 4px;
}
.button_div:last-child {
border-radius: 0 4px 4px 0;
}
}
.el-table {
width: 100%;
height: 80%;
height: 50%;
}
}
.el-dialog__footer {
padding: 5px !important;
}
}
}
/**/
.title_wrap {
margin-bottom: 8px;
display: flex;
align-items: center;
.title_item_baguette {
width: 4px;
height: 16px;
......@@ -1654,16 +1787,19 @@ export default {
border-radius: 2px;
margin-right: 10px;
}
.title_item_text {
font-family: 'Medium';
font-family: "Medium";
font-size: 18px;
font-weight: 500;
color: #535767;
}
}
.margin_bottom_2 {
margin-bottom: 2px;
}
.row_wrap {
height: 60px;
line-height: 60px;
......@@ -1671,23 +1807,28 @@ export default {
display: flex;
justify-content: flex-start;
}
.line_hight_32 {
line-height: 28px;
}
.line_hight_40 {
line-height: 40px;
}
.row_item {
font-size: 16px;
width: calc(100% - 20px);
padding-left: 20px;
position: relative;
display: flex;
.row_item_label {
color: #778ca2;
display: inline-block;
min-width: 100px;
}
.row_item_text {
color: #3a3c4b;
width: calc(100% - 110px);
......@@ -1698,21 +1839,26 @@ export default {
margin-bottom: 18px;
padding-left: 12px;
}
.row_item_num {
font-size: 30px;
font-family: DINPro;
font-weight: bold;
}
.row_item_num_regular {
color: #3a3c4b;
}
.row_item_num_red {
color: #e24f51;
}
.row_item_unit {
color: #778ca2 !important;
font-size: 14px;
}
.authorize_but {
// float: right;
position: absolute;
......@@ -1720,6 +1866,7 @@ export default {
bottom: 6px;
}
}
.el-tag {
height: 36px;
line-height: 36px;
......@@ -1730,12 +1877,15 @@ export default {
font-size: 18px;
color: #3a3c4b;
}
/deep/ .el-tag .el-icon-close:hover {
background-color: white;
}
/deep/ .el-tag {
margin: 10px;
}
/*.remove_icon{*/
/* cursor: pointer;*/
/* margin-left: 4px;*/
......@@ -1745,15 +1895,18 @@ export default {
span:first-child {
float: left;
}
span:last-child {
float: right;
color: #8492a6;
font-size: 13px;
}
}
.el-dialog__body .el-select {
width: 70%;
}
.tag {
font-size: 14px;
font-family: Alibaba PuHuiTi;
......@@ -1762,33 +1915,37 @@ export default {
padding-left: 10px;
line-height: 26px;
}
.tag1 {
width: 84px;
background-image: url('../../../../assets/img/manage.png');
background-image: url("../../../../assets/img/manage.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.tag3 {
position: absolute;
left: 0;
top: 0;
width: 115px;
background-image: url('../../../../assets/img/manage.png');
background-image: url("../../../../assets/img/manage.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.tag4 {
position: absolute;
left: 0;
top: 0;
width: 145px;
background-image: url('../../../../assets/img/manage.png');
background-image: url("../../../../assets/img/manage.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.tag5 {
width: 130px;
background-image: url('../../../../assets/img/manage.png');
background-image: url("../../../../assets/img/manage.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
......@@ -1799,17 +1956,18 @@ export default {
top: 0;
z-index: 99;
width: 100px;
background-image: url('../../../../assets/img/mobile.png');
background-image: url("../../../../assets/img/mobile.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.tag3 {
position: absolute;
left: 0;
top: 0;
z-index: 99;
width: 180px;
background-image: url('../../../../assets/img/mobile.png');
background-image: url("../../../../assets/img/mobile.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
......
<template>
<!-- 编辑|新增人员弹窗 -->
<el-dialog
class="ty_dialog"
:title="zhuangtai == 'update' ? '修改' : '新增'"
:visible.sync="dialogVisible"
:before-close="cancel"
width="40%"
v-loading="loading"
top="8vh"
>
<el-form
ref="addUser"
:rules="rules"
:model="addFrom"
label-width="150px"
class="demo-ruleForm"
>
<el-dialog class="ty_dialog" :title="zhuangtai == 'update' ? '修改' : '新增'"
:visible.sync="dialogVisible" :before-close="cancel" width="40%" v-loading="loading"
top="8vh">
<el-form ref="addUser" :rules="rules" :model="addFrom" label-width="150px"
class="demo-ruleForm">
<el-form-item label="选择权限专用单位:" prop="unitName" class="ty_from_item_position">
<el-select
v-model="addFrom.unitName"
filterable
value-key="unitName"
placeholder="全部"
:disabled="isEdit"
>
<el-option
v-for="(item, index) in authorityUnitArr"
:key="index"
:value="item"
:label="item.unitName"
></el-option>
<el-select v-model="addFrom.unitName" filterable value-key="unitName" placeholder="全部"
:disabled="isEdit">
<el-option v-for="(item, index) in authorityUnitArr" :key="index" :value="item"
:label="item.unitName"></el-option>
</el-select>
<!-- <el-button
type="text"
......@@ -47,12 +27,8 @@
</el-form-item>
<el-form-item label="角色:" prop="sysRoleId">
<el-select v-model="addFrom.sysRoleId" clearable placeholder="请选择">
<el-option
v-for="item in jueseList"
:label="item.label"
:value="item.value"
:key="item.key"
></el-option>
<el-option v-for="item in jueseList" :label="item.label" :value="item.value"
:key="item.key"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号:">
......@@ -127,6 +103,7 @@ export default {
watch: {
//手机号
'addFrom.phoneNum': function (curVal, oldVal) {
console.log(curVal);
if (!curVal) {
this.addFrom.phoneNum = ''
return false
......@@ -205,12 +182,14 @@ export default {
// console.log('this.addFrom', JSON.stringify(this.upDataUser))
if (JSON.stringify(this.upDataUser) != '{}') {
// this.addFrom = JSON.parse(JSON.stringify(this.upDataUser))
console.log('addform', this.addFrom);
this.addFrom.cnName = JSON.parse(JSON.stringify(this.upDataUser.cnName))
this.addFrom.dingId = JSON.parse(JSON.stringify(this.upDataUser.dingId))
} else {
if (this.zhuangtai == 'update') {
this.userFrom.password2 = ''
this.addFrom = JSON.parse(JSON.stringify(this.userFrom))
console.log(this.addFrom)
// console.log(this.addFrom)
}
}
......@@ -298,10 +277,12 @@ export default {
},
//获取dingId
getding(e) {
console.log(123);
let params = {
phoneNum: this.addFrom.phoneNum,
}
this.$axios.findDingAndCasByPhone(params).then((res) => {
console.log(res);
this.addFrom.casId = res.data.data.casId
this.addFrom.dingId = res.data.data.dingId
})
......
......@@ -23,12 +23,8 @@
</el-form-item>-->
<el-form-item label="状态:">
<el-select v-model="formData.sysUserStatus" clearable placeholder="全部">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item class="button_wrap">
......@@ -44,17 +40,9 @@
</div>
<!-- 表格 -->
<div class="content">
<el-table
:data="tableData"
stripe
style="width: 100%"
height="100%"
class="template_table"
@sort-change="sortChange"
:header-cell-style="{ 'text-align': 'left' }"
:cell-style="{ 'text-align': 'left' }"
v-loading="loading"
>
<el-table :data="tableData" stripe style="width: 100%" height="100%" class="template_table"
@sort-change="sortChange" :header-cell-style="{ 'text-align': 'left' }"
:cell-style="{ 'text-align': 'left' }" v-loading="loading">
<el-table-column type="index" label="序号" width="80"></el-table-column>
<el-table-column prop="username" label="账号"></el-table-column>
<el-table-column prop="cnName" label="姓名"></el-table-column>
......@@ -88,82 +76,47 @@
</el-table-column>
<el-table-column label="操作" width="200">
<template slot-scope="scope">
<el-button
type="text"
v-if="scope.row.sysRoleId !== 1"
@click="handleEdit(scope.row)"
>编辑</el-button>
<el-popconfirm
class="maring_left20"
title="确定要启用该用户吗?"
@confirm="upEdit(scope.row)"
v-if="scope.row.sysRoleId !== 1 && scope.row.sysUserStatus == 2"
>
<el-button type="text" v-if="scope.row.sysRoleId !== 1"
@click="handleEdit(scope.row)">编辑</el-button>
<el-popconfirm class="maring_left20" title="确定要启用该用户吗?" @confirm="upEdit(scope.row)"
v-if="scope.row.sysRoleId !== 1 && scope.row.sysUserStatus == 2">
<el-button slot="reference" type="text">授权</el-button>
</el-popconfirm>
<el-popconfirm
class="maring_left20"
title="确定要取消授权吗?"
cancel-button-text="不用了"
icon-color="red"
@confirm="upEdit(scope.row)"
v-if="scope.row.sysRoleId !== 1 && scope.row.sysUserStatus == 1"
>
<el-popconfirm class="maring_left20" title="确定要取消授权吗?" cancel-button-text="不用了"
icon-color="red" @confirm="upEdit(scope.row)"
v-if="scope.row.sysRoleId !== 1 && scope.row.sysUserStatus == 1">
<el-button slot="reference" type="text">取消授权</el-button>
</el-popconfirm>
<el-button type="text" v-if="!scope.row.operatingDate" @click="handleDel(scope.row)">删除</el-button>
<el-button type="text" v-if="!scope.row.operatingDate"
@click="handleDel(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="ty_pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]"
:page-size="10"
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]" :page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
:total="total"></el-pagination>
</div>
</div>
<addForm
:dialogVisible.sync="dialogVisible"
:userFrom="userFrom"
:zhuangtai="zhuangtai"
:upDataUser="upDataUser"
:isEdit="isEdit"
v-if="dialogVisible"
@showLists="showLists"
@clearData="clearData"
></addForm>
<batch-add-dialog
:changeFlags="2"
:batchAddFlag.sync="batchAddFlag"
:selectPerson="selectPerson"
@addBatchPeople="addBatchPeople"
@sureChange="sureChange"
@cancleFlag="cancleFlag"
@getPerson="getPerson"
></batch-add-dialog>
<addForm :dialogVisible.sync="dialogVisible" :userFrom="userFrom" :zhuangtai="zhuangtai"
:upDataUser="upDataUser" :isEdit="isEdit" v-if="dialogVisible" @showLists="showLists"
@clearData="clearData"></addForm>
<batch-add-dialog :changeFlags="2" :batchAddFlag.sync="batchAddFlag"
:selectPerson="selectPerson" @addBatchPeople="addBatchPeople"
@sureChange="sureChange" @cancleFlag="cancleFlag"
@getPerson="getPerson"></batch-add-dialog>
<!-- 权限专用单位管理 -->
<el-dialog
title="单位授权"
:visible.sync="dialogFormVisible"
:close-on-click-modal="false"
:before-close="handleClose"
class="unitAutoDialog"
>
<el-dialog title="单位授权" :visible.sync="dialogFormVisible" :close-on-click-modal="false"
:before-close="handleClose" class="unitAutoDialog">
<div slot="title" class="dialog-header">
<div>权限专用单位管理</div>
<el-button type="primary" class="btn" @click="addAuthorityUnit()">新增专用单位管理</el-button>
</div>
<div v-if="authorityUnitArr.length>0">
<div
class="unit"
v-for="(item,index) in authorityUnitArr"
:key="authorityUnitArr.length + index"
>
<div class="unit" v-for="(item,index) in authorityUnitArr"
:key="authorityUnitArr.length + index">
<div class="tips_num">权限专用单位:</div>
<el-input v-model="item.unitName" />
<!-- <div>{{item.unitName}}</div> -->
......@@ -177,13 +130,8 @@
</div>
<!-- 内层dialog -->
<el-dialog
width="30%"
title="确认删除"
:visible.sync="delVisible"
append-to-body
:before-close="delHandleClose"
>
<el-dialog width="30%" title="确认删除" :visible.sync="delVisible" append-to-body
:before-close="delHandleClose">
<div>是否删除单位:{{delUnitObj.unitName}}</div>
<div slot="footer" class="dialog-footer">
<el-button @click="delHandleClose()"> </el-button>
......@@ -192,13 +140,8 @@
</el-dialog>
</el-dialog>
<!-- 取消授权 -->
<el-dialog
title="删除账号"
:visible.sync="delUserVisible"
:close-on-click-modal="false"
:before-close="delUserCloseFnc"
class="delUserDialog"
>
<el-dialog title="删除账号" :visible.sync="delUserVisible" :close-on-click-modal="false"
:before-close="delUserCloseFnc" class="delUserDialog">
<div>操作员账号:{{delUser.username}}</div>
<div>确认删除?</div>
<div class="tips">注:未使用过的账号,支持删除</div>
......@@ -274,8 +217,9 @@ export default {
this.batchAddFlag = false
this.dialogVisible = true
this.$set(this.upDataUser, 'cnName', val.employeeName)
this.$set(this.upDataUser, 'dingId', val.accountId)
// this.upDataUser.cnName = val.employeeName
console.log(this.userFrom)
// console.log(this.userFrom)
},
//二次确认删除权限单位
confirmDelUnit() {
......@@ -458,7 +402,7 @@ export default {
this.batchAddFlag = false
this.dialogVisible = true
},
sureChange() {},
sureChange() { },
showLists() {
this.batchAddFlag = true
this.dialogVisible = false
......@@ -565,13 +509,13 @@ export default {
height: 28px;
display: flex;
align-items: center;
background-image: url('../../assets/img/del.png');
background-image: url("../../assets/img/del.png");
background-size: 100% 100%;
background-repeat: no-repeat;
cursor: pointer;
}
.del:hover {
background-image: url('../../assets/img/del_red.png');
background-image: url("../../assets/img/del_red.png");
}
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论