4 changed files with 22991 additions and 88 deletions
File diff suppressed because it is too large
@ -0,0 +1,630 @@ |
|||
<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">保存设置</button> |
|||
<button class="h-right-one" @click="yitimoren()">恢复默认</button> |
|||
<el-button class="diaCancel" @click="diaCancel()">取消返回</el-button> |
|||
</div> |
|||
</el-tag> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">项目外部系统流转:</el-tag> |
|||
<el-switch |
|||
v-model="sendProjectSwitch" |
|||
active-text="开启" |
|||
inactive-text="关闭" |
|||
element |
|||
style="width: 200px" |
|||
> |
|||
</el-switch> |
|||
</div> |
|||
<div v-if="selectSys.length > 0" class="mh-child" style="display: flex;"> |
|||
<el-tag class="set-overtime">已选外部系统:</el-tag> |
|||
<div class="sys-list"> |
|||
<div v-for="item in selectSys" :key="item.platformId" class="sys-list-item"> |
|||
<img :src="item.icon" /> |
|||
<span>{{ item.platformName }}</span> |
|||
<el-button type="text" size="small" >编辑</el-button> |
|||
<el-button type="text" style="color: red;" size="small" >删除</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">外部系统:</el-tag> |
|||
<el-select v-model="selectSys" multiple placeholder="请选择" @change="handleSys" class="overtime-input"> |
|||
<el-option |
|||
v-for="item in sysList" |
|||
:key="item.platformId" |
|||
:label="item.platformName" |
|||
:value="item.platformId" |
|||
> |
|||
</el-option> |
|||
</el-select> |
|||
<el-tag |
|||
style=" |
|||
font-size: 14px; |
|||
background-color: white; |
|||
border: white; |
|||
color: black; |
|||
" |
|||
>(可多选)</el-tag> |
|||
</div> |
|||
<!-- 项目滞留超期提醒 --> |
|||
<el-tag class="mh"> |
|||
<div class="h-left"> |
|||
<div class="line">项目滞留超期提醒</div> |
|||
</div> |
|||
<div class="h-right"> |
|||
<button class="h-right-two" @click="one_two()">保存设置</button> |
|||
<button class="h-right-one" @click="stayover()">恢复默认</button> |
|||
</div> |
|||
</el-tag> |
|||
<!-- 设定核算单位prefix-icon="el-icon-date" --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-accont">设定核算单位天/日起止时间:</el-tag> |
|||
<el-time-picker |
|||
class="overtime-input" |
|||
arrow-control |
|||
prefix-icon="el-icon-date" |
|||
v-model="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="endTime" |
|||
:picker-options="{ |
|||
selectableRange: startTime + '-' + '23:59:59' |
|||
}" |
|||
placeholder="任意时间点" |
|||
value-format="HH:mm:ss" |
|||
> |
|||
</el-time-picker> |
|||
</div> |
|||
<!-- 设定滞留超期时间 start: '08:30:00',step: '00:15:00',end: '23:30:00' --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">设定滞留超期时间:</el-tag> |
|||
<button class="btn btn-delet" @click="staytime_subtract()">-</button> |
|||
<el-input class="overtime-input" v-model="detentionDays"></el-input> |
|||
<button class="btn btn-add" @click="staytime_add()">+</button> |
|||
<el-tag |
|||
style=" |
|||
padding-left: 14px; |
|||
padding-right: 14px; |
|||
font-size: 15px; |
|||
background-color: white; |
|||
border: 0px; |
|||
color: #000000; |
|||
" |
|||
>/</el-tag |
|||
> |
|||
<el-select v-model="value" placeholder="请选择" class="overtime-input"> |
|||
<el-option |
|||
v-for="item in options" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
> |
|||
</el-option> |
|||
</el-select> |
|||
</div> |
|||
|
|||
<!-- 设定即将超期时间提醒 --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">设定即将超期时间提醒:</el-tag> |
|||
<button class="btn btn-delet" @click="subtract_remind()">-</button> |
|||
<el-input class="overtime-input" v-model="remindTime"></el-input> |
|||
<button class="btn btn-add" @click="add_remind()">+</button> |
|||
<el-tag |
|||
style=" |
|||
font-size: 14px; |
|||
background-color: white; |
|||
border: white; |
|||
color: black; |
|||
" |
|||
>单位天</el-tag> |
|||
</div> |
|||
<!-- 统一定时消息推送时间 --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">统一定时消息推送时间:</el-tag> |
|||
<el-time-select |
|||
class="overtime-input" |
|||
v-model="pushTime" |
|||
:picker-options="{ |
|||
start: '06:00', |
|||
step: '00:05', |
|||
end: '23:00' |
|||
}" |
|||
placeholder="选择时间" |
|||
> |
|||
</el-time-select> |
|||
</div> |
|||
|
|||
<!-- 议题发布前经网络员审核--> |
|||
<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="yitimoren()">恢复默认</button> |
|||
</div> |
|||
</el-tag> |
|||
<!-- 议题发布前经网络员审核 --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">议题发布前经网络员审核:</el-tag> |
|||
<el-switch |
|||
v-model="button1" |
|||
active-text="开启" |
|||
inactive-text="关闭" |
|||
element |
|||
style="width: 200px" |
|||
> |
|||
</el-switch> |
|||
</div> |
|||
<!-- 待办事项短信通知 --> |
|||
<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> |
|||
<!-- 代办事项发送短信通知 --> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">待办事项发送短信通知:</el-tag> |
|||
<el-switch v-model="button2" active-text="开启" inactive-text="关闭"> |
|||
</el-switch> |
|||
</div> |
|||
<!-- 剩余短信数量--> |
|||
<div class="mh-child"> |
|||
<el-tag class="set-overtime">剩余短信数量:</el-tag> |
|||
<el-input |
|||
placeholder="请输入内容" |
|||
v-model="input" |
|||
clearable |
|||
class="overtime-input" |
|||
> |
|||
</el-input> |
|||
<el-tag |
|||
style=" |
|||
font-size: 14px; |
|||
background-color: white; |
|||
border: white; |
|||
color: black; |
|||
" |
|||
>单位条</el-tag> |
|||
</div> |
|||
<!-- 小组审核机制--> |
|||
<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 class="mh-child"> |
|||
<el-tag class="set-overtime">新建小组进组需小组审核:</el-tag> |
|||
<el-switch v-model="button3" active-text="开启" inactive-text="关闭"> |
|||
</el-switch> |
|||
</div> |
|||
<!-- 其他设置--> |
|||
<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> |
|||
export default { |
|||
data () { |
|||
return { |
|||
options: [ |
|||
{ |
|||
value: 'work', |
|||
label: '工作日' |
|||
}, |
|||
{ |
|||
value: 'rest', |
|||
label: '休息日' |
|||
} |
|||
], |
|||
value: 'rest', |
|||
button1: false, |
|||
button2: true, |
|||
button3: true, |
|||
sendProjectSwitch: false, |
|||
input: 2, |
|||
startTime: '10:10:10', |
|||
endTime: '12:15:16', |
|||
code: ' ', |
|||
auditSwitch: '', |
|||
customerId: '', // 客户id,父组件传 |
|||
customerName: '', // 客户名称,父组件传 |
|||
detentionDays: '1', |
|||
calculation: '', |
|||
remindTime: '1', |
|||
pushTime: '18:10', |
|||
showType: 'customize', |
|||
sysList: [], |
|||
sysOptions: [], |
|||
selectSys: [] |
|||
} |
|||
}, |
|||
watch: { |
|||
input: function (val) { |
|||
this.input = val.replace(/\D/g, '') |
|||
}, |
|||
detentionDays: function (val) { |
|||
this.detentionDays = val.replace(/\D/g, '') |
|||
}, |
|||
remindTime: function (val) { |
|||
this.remindTime = val.replace(/\D/g, '') |
|||
} |
|||
}, |
|||
methods: { |
|||
handleSys (e) { |
|||
console.log('eeeeww', e) |
|||
}, |
|||
initData (customerId, customerName) { |
|||
this.customerId = customerId |
|||
this.customerName = customerName |
|||
this.initSysList() |
|||
}, |
|||
initSysList () { |
|||
let params = { |
|||
customerId: this.customerId, |
|||
actionKey: 'PROJECT_ASSIST' |
|||
} |
|||
this.$http |
|||
.post('/third/thirdplatform/customer/list-selectable-platforms-by-action', params) |
|||
.then(({ data: res }) => { |
|||
if (res.code === 0) { |
|||
this.sysList = res.data |
|||
} |
|||
}) |
|||
}, |
|||
staytime_subtract: function (detentionDays) { |
|||
if (this.detentionDays >= 1) { |
|||
this.detentionDays-- |
|||
} else if (this.detentionDays == 0) { |
|||
alert('已达最小值', '注意', 'ss') |
|||
} |
|||
}, |
|||
staytime_add: function (detentionDays) { |
|||
this.detentionDays++ |
|||
}, |
|||
subtract_remind: function (remindTime) { |
|||
if (this.remindTime >= 1) { |
|||
this.remindTime-- |
|||
} else if (this.remindTime == 0) { |
|||
alert('已达最小值', '注意', 'ss') |
|||
} |
|||
}, |
|||
add_remind: function (remindTime) { |
|||
this.remindTime++ |
|||
}, |
|||
// 取消返回 |
|||
// cancleBack:function(){ |
|||
// this.showType = 'customize'; |
|||
|
|||
// }, |
|||
diaCancel () { |
|||
this.$emit('cancleBack') |
|||
}, |
|||
|
|||
// 议题默认设置 |
|||
yitimoren (row) { |
|||
this.$confirm('确认恢复默认值', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}) |
|||
.then(() => { |
|||
const url = '/gov/issue/parameter/reviewinit' |
|||
const param = { |
|||
customerId: this.customerId |
|||
} |
|||
window.app.ajax.post( |
|||
url, |
|||
param, |
|||
(data, rspMsg) => { |
|||
// data映射或者字符串值 |
|||
this.$message.success('初始化成功' + rspMsg) // 请求成功时执行的回调函数 |
|||
// console.log(data.auditSwitch) |
|||
// console.log('-----------------') |
|||
// console.log(this.button1) |
|||
if (data.auditSwitch === 'open') { |
|||
this.button1 = true |
|||
} else { |
|||
this.button1 = false |
|||
} |
|||
}, |
|||
(rspMsg, data) => { |
|||
this.$message.error(rspMsg) |
|||
} |
|||
) |
|||
}) |
|||
.catch(() => {}) |
|||
}, |
|||
|
|||
// 项目滞留超期提醒初始化 |
|||
stayover (row) { |
|||
this.$confirm('确认恢复默认值', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}) |
|||
.then(() => { |
|||
const url = '/gov/project/parameter/remindinit' |
|||
const param = { |
|||
customerId: this.customerId, |
|||
detentionDays: this.detentionDays, |
|||
calculation: this.calculation, |
|||
remindTime: this.remindTime, |
|||
pushTime: this.pushTime, |
|||
startTime: this.startTime, |
|||
endTime: this.endTime |
|||
} |
|||
window.app.ajax.post( |
|||
url, |
|||
param, |
|||
(data, rspMsg) => { |
|||
// data映射或者字符串值 |
|||
this.$message.success('初始化成功' + rspMsg) // 请求成功时执行的回调函数 |
|||
// console.log(data.detentionDays) |
|||
// console.log(data.calculation) |
|||
// console.log(data.remindTime) |
|||
// console.log(data.pushTime) |
|||
// console.log(data.startTime) |
|||
// console.log(data.endTime) |
|||
// console.log('-----------------') |
|||
// console.log(this.pushTime) |
|||
this.remindTime = parseInt(data.remindTime) |
|||
this.detentionDays = parseInt(data.detentionDays) |
|||
if (data.calculation == 'work') { |
|||
this.value = 'work' |
|||
} else { |
|||
this.value = 'work' |
|||
} |
|||
this.pushTime = data.pushTime |
|||
this.startTime = data.startTime |
|||
this.endTime = data.endTime |
|||
}, |
|||
(rspMsg, data) => { |
|||
this.$message.error(rspMsg) |
|||
} |
|||
) |
|||
}) |
|||
.catch(() => {}) |
|||
} |
|||
|
|||
// ------ |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.line { |
|||
position: relative; |
|||
|
|||
width: 120px; |
|||
border-bottom: 3px solid #17b3a3; |
|||
} |
|||
.el-card__body { |
|||
padding: 0px; |
|||
} |
|||
.m-body { |
|||
// height: 790px; |
|||
width: 100%; |
|||
padding-top: 0px; |
|||
overflow-y: scroll; |
|||
} |
|||
.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: 280px; |
|||
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-form-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; |
|||
} |
|||
|
|||
.sys-list { |
|||
.sys-list-item { |
|||
display: flex; |
|||
align-items: center; |
|||
padding: 5px 0; |
|||
border-bottom: 1px solid #eee; |
|||
img { |
|||
width: 30px; |
|||
height: 30px; |
|||
} |
|||
span { |
|||
margin: 0 20px; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue