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