2 changed files with 619 additions and 4 deletions
@ -0,0 +1,614 @@ |
|||||
|
<template> |
||||
|
|
||||
|
<div class="m-body"> |
||||
|
<!-- 项目滞留超期提醒 --> |
||||
|
<el-tag class="mh"> |
||||
|
<div class="h-left"> |
||||
|
<div class="line"> |
||||
|
项目滞留超期提醒 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="h-right"> |
||||
|
|
||||
|
<button class="h-right-two" |
||||
|
@click="saveRemind()">保存设置</button> |
||||
|
<button class="h-right-one" |
||||
|
@click="defaultRemind()">恢复默认</button> |
||||
|
<el-button class="diaCancel" |
||||
|
@click="diaCancel()">取消返回</el-button> |
||||
|
</div> |
||||
|
</el-tag> |
||||
|
<el-form :inline="false" |
||||
|
:model="remindForm" |
||||
|
ref="remindForm" |
||||
|
:label-width="'200px'"> |
||||
|
|
||||
|
<el-form-item class="mh-child" |
||||
|
label="设定核算单位天/日起止时间:" |
||||
|
prop="startTime"> |
||||
|
<el-time-picker class="overtime-input" |
||||
|
arrow-control |
||||
|
prefix-icon=el-icon-date |
||||
|
v-model="remindForm.startTime" |
||||
|
:picker-options="{ |
||||
|
selectableRange: '00:00:00'+ '-' + '23:59:59' , |
||||
|
}" |
||||
|
placeholder="任意时间点" |
||||
|
value-format="HH:mm:ss"> |
||||
|
</el-time-picker> |
||||
|
<span style=" padding: 20px;">至</span> |
||||
|
<el-time-picker class="overtime-input" |
||||
|
arrow-control |
||||
|
prefix-icon=el-icon-date |
||||
|
v-model="remindForm.endTime" |
||||
|
:picker-options="{ |
||||
|
selectableRange: remindForm.startTime + '-' + '23:59:59' , |
||||
|
}" |
||||
|
placeholder="任意时间点" |
||||
|
value-format="HH:mm:ss"> |
||||
|
</el-time-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item class="mh-child" |
||||
|
label="设定滞留超期时间:" |
||||
|
prop="detentionDays"> |
||||
|
|
||||
|
<el-input-number class="overtime-input" |
||||
|
v-model="remindForm.detentionDays"></el-input-number> |
||||
|
<span style=" padding: 25px;">/</span> |
||||
|
<el-select v-model="remindForm.calculation" |
||||
|
placeholder="请选择" |
||||
|
class="overtime-input"> |
||||
|
<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="mh-child" |
||||
|
label="设定即将超期时间提醒:" |
||||
|
prop="remindTime"> |
||||
|
|
||||
|
<el-input-number class="overtime-input" |
||||
|
v-model="remindForm.remindTime"></el-input-number> |
||||
|
<span style=" padding: 25px;">单位天</span> |
||||
|
|
||||
|
</el-form-item> |
||||
|
<!-- 统一定时消息推送时间 --> |
||||
|
<el-form-item class="mh-child" |
||||
|
label="统一定时消息推送时间:" |
||||
|
prop="pushTime"> |
||||
|
|
||||
|
<el-time-select class="overtime-input" |
||||
|
v-model="remindForm.pushTime" |
||||
|
:picker-options="{ |
||||
|
start: '00:00', |
||||
|
step: '00:5', |
||||
|
end: '23:59' |
||||
|
}" |
||||
|
placeholder="选择时间"> |
||||
|
</el-time-select> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 议题发布前经网络员审核 --> |
||||
|
<el-tag class="mh"> |
||||
|
<div class="h-left"> |
||||
|
<div class="line"> |
||||
|
议题发布前经网络员审核 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="h-right"> |
||||
|
|
||||
|
<button class="h-right-two" |
||||
|
@click="saveReview()">保存设置</button> |
||||
|
<button class="h-right-one" |
||||
|
@click="defaultReview()">恢复默认</button> |
||||
|
</div> |
||||
|
</el-tag> |
||||
|
|
||||
|
<el-form :inline="false" |
||||
|
:model="reviewForm" |
||||
|
ref="reviewForm" |
||||
|
:label-width="'200px'"> |
||||
|
<el-form-item class="mh-child" |
||||
|
label="议题发布前经网络员审核:" |
||||
|
prop="auditSwitch"> |
||||
|
<el-switch v-model="auditSwitchShow" |
||||
|
active-text="开启" |
||||
|
inactive-text="关闭" |
||||
|
class="overtime-input"> |
||||
|
</el-switch> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 待办事项短信通知 --> |
||||
|
<el-tag class="mh"> |
||||
|
<div class="h-left"> |
||||
|
<div class="line"> |
||||
|
待办事项短信通知 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="h-right"> |
||||
|
|
||||
|
<button class="h-right-two">保存设置</button> |
||||
|
<button class="h-right-one" |
||||
|
@click="daibanshi()">恢复默认</button> |
||||
|
</div> |
||||
|
</el-tag> |
||||
|
|
||||
|
<el-form :inline="false" |
||||
|
:model="msgForm" |
||||
|
ref="msgForm" |
||||
|
:label-width="'200px'"> |
||||
|
<el-form-item class="mh-child" |
||||
|
label="待办事项发送短信通知:" |
||||
|
prop="switch"> |
||||
|
<el-switch v-model="msgForm.switchShow" |
||||
|
active-text="开启" |
||||
|
inactive-text="关闭" |
||||
|
class="overtime-input"> |
||||
|
</el-switch> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item class="mh-child" |
||||
|
label="剩余短信数量:" |
||||
|
prop="remindTime"> |
||||
|
|
||||
|
<el-input-number class="overtime-input" |
||||
|
v-model="msgForm.remain"></el-input-number> |
||||
|
<span style=" padding: 25px;">单位条</span> |
||||
|
|
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 小组审核机制--> |
||||
|
<el-tag class="mh"> |
||||
|
<div class="h-left"> |
||||
|
<div class="line"> |
||||
|
小组审核机制 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="h-right"> |
||||
|
|
||||
|
<button class="h-right-two">保存设置</button> |
||||
|
<button class="h-right-one">恢复默认</button> |
||||
|
</div> |
||||
|
</el-tag> |
||||
|
<el-form :inline="false" |
||||
|
:model="groupForm" |
||||
|
ref="groupForm" |
||||
|
:label-width="'200px'"> |
||||
|
<el-form-item class="mh-child" |
||||
|
label="新建小组进组需小组审核:" |
||||
|
prop="switch"> |
||||
|
<el-switch v-model="reviewForm.switchShow" |
||||
|
active-text="开启" |
||||
|
inactive-text="关闭" |
||||
|
class="overtime-input"> |
||||
|
</el-switch> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<!-- 其他设置--> |
||||
|
<el-tag class="mh"> |
||||
|
<div class="h-left"> |
||||
|
<div class="line"> |
||||
|
其他设置 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="h-right"> |
||||
|
|
||||
|
<button class="h-right-two">保存设置</button> |
||||
|
<button class="h-right-one">恢复默认</button> |
||||
|
</div> |
||||
|
</el-tag> |
||||
|
</div> |
||||
|
|
||||
|
</template> |
||||
|
<script> |
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
|
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
options: [{ |
||||
|
value: 'work', |
||||
|
label: '工作日' |
||||
|
}, { |
||||
|
value: 'calendar', |
||||
|
label: '日历天' |
||||
|
}], |
||||
|
customerId: "", |
||||
|
customerName: "", |
||||
|
|
||||
|
remindForm: { |
||||
|
startTime: '10:10:10', |
||||
|
endTime: '12:15:16', |
||||
|
detentionDays: "",//可滞留天数 |
||||
|
calculation: "calendar",//计算方式 工作日work 日历天calendar |
||||
|
remindTime: "",//即将超期提醒时间 |
||||
|
pushTime: "08:00",//推送时间 默认 上午8点 |
||||
|
}, |
||||
|
reviewForm: { |
||||
|
auditSwitch: "open",//已开启审核:open; 无需审核:close |
||||
|
}, |
||||
|
auditSwitchShow: true,//已开启审核:open; 无需审核:close |
||||
|
|
||||
|
msgForm: { |
||||
|
switch: "open", |
||||
|
switchShow: true, |
||||
|
remain: 3//剩余短信数量 |
||||
|
}, |
||||
|
|
||||
|
groupForm: { |
||||
|
switch: "open", |
||||
|
switchShow: true, |
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
props: { |
||||
|
|
||||
|
}, |
||||
|
watch: { |
||||
|
|
||||
|
}, |
||||
|
mounted () { |
||||
|
// this.init() |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
//配置初始化 |
||||
|
async initData (customerId, customerName) { |
||||
|
this.customerId = customerId |
||||
|
this.customerName = customerName |
||||
|
this.startLoading() |
||||
|
await this.initRemind() |
||||
|
await this.initReview() |
||||
|
this.endLoading() |
||||
|
}, |
||||
|
//滞留提醒初始化 |
||||
|
async initRemind () { |
||||
|
|
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/project/parameter/remindinit" |
||||
|
const url = "/gov/project/parameter/remindinit" |
||||
|
|
||||
|
const params = { |
||||
|
customerId: this.customerId |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.remindForm = data |
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//议题发布审核初始化 |
||||
|
async initReview () { |
||||
|
this.startLoading() |
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/issue/parameter/reviewinit" |
||||
|
const url = "/gov/issue/parameter/reviewinit" |
||||
|
|
||||
|
const params = { |
||||
|
customerId: this.customerId |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
|
||||
|
this.reviewForm = data |
||||
|
if (data.auditSwitch === "open") { |
||||
|
this.auditSwitchShow = true |
||||
|
} else { |
||||
|
this.auditSwitchShow = false |
||||
|
} |
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//保存滞留提醒 |
||||
|
async saveRemind () { |
||||
|
this.startLoading() |
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/project/parameter/remindsave" |
||||
|
const url = "/gov/project/parameter/remindsave" |
||||
|
|
||||
|
const params = { |
||||
|
customerId: this.customerId, |
||||
|
...this.remindForm |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.$message.success("保存成功") |
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
this.endLoading() |
||||
|
}, |
||||
|
|
||||
|
//保存议题发布审核 |
||||
|
async saveReview () { |
||||
|
this.startLoading() |
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/issue/parameter/reviewsave" |
||||
|
const url = "/gov/issue/parameter/reviewsave" |
||||
|
this.reviewForm.auditSwitch = this.auditSwitchShow ? 'open' : 'close' |
||||
|
const params = { |
||||
|
customerId: this.customerId, |
||||
|
...this.reviewForm |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.$message.success("保存成功") |
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
this.endLoading() |
||||
|
}, |
||||
|
//恢复滞留提醒 |
||||
|
async defaultRemind () { |
||||
|
this.startLoading() |
||||
|
await this.setDefaultRemind() |
||||
|
await this.initRemind() |
||||
|
this.endLoading() |
||||
|
}, |
||||
|
async setDefaultRemind () { |
||||
|
|
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/project/parameter/reminddefault" |
||||
|
const url = "/gov/project/parameter/reminddefault" |
||||
|
|
||||
|
const params = { |
||||
|
customerId: this.customerId, |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
async defaultReview () { |
||||
|
this.startLoading() |
||||
|
await this.setDefaultReview() |
||||
|
await this.initReview() |
||||
|
this.endLoading() |
||||
|
}, |
||||
|
//恢复议题发布审核 |
||||
|
async setDefaultReview () { |
||||
|
|
||||
|
// const url = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/gov/issue/parameter/reviewdefault" |
||||
|
const url = "/gov/issue/parameter/reviewdefault" |
||||
|
|
||||
|
const params = { |
||||
|
customerId: this.customerId, |
||||
|
} |
||||
|
const { data, code, msg, internalMsg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg + ":" + internalMsg) |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
}, |
||||
|
diaCancel () { |
||||
|
this.$emit('cancleBack') |
||||
|
}, |
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.line { |
||||
|
position: relative; |
||||
|
|
||||
|
width: 120px; |
||||
|
border-bottom: 3px solid #17b3a3; |
||||
|
} |
||||
|
.el-card__body { |
||||
|
padding: 0px; |
||||
|
} |
||||
|
.m-body { |
||||
|
width: 100%; |
||||
|
padding-top: 0px; |
||||
|
} |
||||
|
.select-date { |
||||
|
margin-left: 100px; |
||||
|
} |
||||
|
|
||||
|
.mh { |
||||
|
width: 100%; |
||||
|
height: 50px; |
||||
|
display: flex; |
||||
|
background-color: white; |
||||
|
border-color: white; |
||||
|
color: black; |
||||
|
padding: 0px; |
||||
|
border-bottom: 2px solid #eeeeee; |
||||
|
} |
||||
|
.mh-child { |
||||
|
margin-top: 30px; |
||||
|
position: relative; |
||||
|
} |
||||
|
/* div.el-switch.is-checked{ |
||||
|
|
||||
|
} */ |
||||
|
div.el-switch { |
||||
|
margin-left: 60px; |
||||
|
} |
||||
|
.el-switch__core { |
||||
|
height: 25px; |
||||
|
width: 50px; |
||||
|
border-radius: 25px; |
||||
|
} |
||||
|
.el-switch__core:after { |
||||
|
width: 20px; |
||||
|
height: 20px; |
||||
|
} |
||||
|
.el-switch.is-checked .el-switch__core::after { |
||||
|
margin-left: -20px; |
||||
|
} |
||||
|
|
||||
|
.h-left { |
||||
|
padding: 9px; |
||||
|
margin: auto 0; |
||||
|
font-size: 15px; |
||||
|
position: relative; |
||||
|
width: 70%; |
||||
|
padding-left: 0px; |
||||
|
padding-top: 15px; |
||||
|
padding-bottom: 2px; |
||||
|
} |
||||
|
.h-right { |
||||
|
padding-bottom: 2px; |
||||
|
padding-top: 8px; |
||||
|
font-size: 15px; |
||||
|
position: relative; |
||||
|
width: 30%; |
||||
|
} |
||||
|
.h-right-one { |
||||
|
background-color: #d4d2ce; |
||||
|
color: black; |
||||
|
border: 0px; |
||||
|
width: 30%; |
||||
|
height: 30px; |
||||
|
text-align: center; |
||||
|
padding-left: 2px; |
||||
|
padding-right: 2px; |
||||
|
border-radius: 4px; |
||||
|
float: right; |
||||
|
} |
||||
|
.h-right-one:hover { |
||||
|
background-color: #deddda; |
||||
|
color: black; |
||||
|
border: 0px; |
||||
|
width: 30%; |
||||
|
height: 30px; |
||||
|
text-align: center; |
||||
|
padding-left: 2px; |
||||
|
padding-right: 2px; |
||||
|
border-radius: 4px; |
||||
|
float: right; |
||||
|
} |
||||
|
.h-right-two { |
||||
|
background-color: #17b3a3; |
||||
|
color: white; |
||||
|
width: 30%; |
||||
|
height: 30px; |
||||
|
border: 0px; |
||||
|
margin-left: 10px; |
||||
|
text-align: center; |
||||
|
padding-left: 2px; |
||||
|
padding-right: 2px; |
||||
|
border-radius: 4px; |
||||
|
float: right; |
||||
|
} |
||||
|
.h-right-two:hover { |
||||
|
background-color: #18bfac; |
||||
|
} |
||||
|
|
||||
|
.diaCancel { |
||||
|
float: right; |
||||
|
margin-right: 10px; |
||||
|
width: 30%; |
||||
|
height: 30px; |
||||
|
padding: 0px; |
||||
|
font-size: 15px; |
||||
|
} |
||||
|
|
||||
|
.set-accont { |
||||
|
width: 250px; |
||||
|
text-align: right; |
||||
|
font-size: 15px; |
||||
|
padding-right: 30px; |
||||
|
background-color: white; |
||||
|
color: black; |
||||
|
border-color: white; |
||||
|
} |
||||
|
.set-overtime { |
||||
|
width: 250px; |
||||
|
text-align: right; |
||||
|
font-size: 16px; |
||||
|
padding-right: 30px; |
||||
|
background-color: white; |
||||
|
color: black; |
||||
|
border-color: white; |
||||
|
} |
||||
|
.overtime-input { |
||||
|
width: 230px; |
||||
|
border-radius: 0px; |
||||
|
} |
||||
|
.el-input--medium { |
||||
|
text-align: center; |
||||
|
} |
||||
|
input.el-input__inner { |
||||
|
border-radius: 0px; |
||||
|
text-align: center; |
||||
|
padding-right: 5px; |
||||
|
} |
||||
|
.btn { |
||||
|
background-color: #f1f1f1; |
||||
|
border: 1px solid #dcdfe6; |
||||
|
} |
||||
|
.el-from-item :hover { |
||||
|
background-color: #f7f7f7 !important; |
||||
|
border: 1px solid #dcdfe6; |
||||
|
} |
||||
|
.btn-add { |
||||
|
font-size: 20px; |
||||
|
height: 36px; |
||||
|
padding-top: 2px; |
||||
|
padding-left: 8px; |
||||
|
padding-right: 22px; |
||||
|
padding-bottom: 6px; |
||||
|
border-radius: 0px; |
||||
|
border-bottom-right-radius: 5px; |
||||
|
border-top-right-radius: 5px; |
||||
|
width: 10px; |
||||
|
} |
||||
|
.btn-delet { |
||||
|
font-size: 20px; |
||||
|
height: 36px; |
||||
|
padding-top: 2px; |
||||
|
padding-left: 12px; |
||||
|
padding-right: 18px; |
||||
|
padding-bottom: 6px; |
||||
|
border-radius: 0px; |
||||
|
border-bottom-left-radius: 5px; |
||||
|
border-top-left-radius: 5px; |
||||
|
width: 10px; |
||||
|
} |
||||
|
|
||||
|
div.set-overtime.el-input.el-input--medium.el-input--suffix { |
||||
|
padding-right: 0px; |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue