|
@@ -18,7 +18,7 @@
|
|
|
<a-layout-content>
|
|
|
<a-tabs default-active-key="wait" @change="callback" style="text-align: center;" className="todoTabs">
|
|
|
<!-- 我的申请 -->
|
|
|
- <a-tab-pane key="apply" tab="我的申请">
|
|
|
+ <a-tab-pane key="apply" tab="我的申请" class="apply">
|
|
|
<div v-for="item in applyList" :key="item.id">
|
|
|
<a-card
|
|
|
style="width: 100%;
|
|
@@ -28,8 +28,8 @@
|
|
|
border:none;
|
|
|
background-color:rgba(247, 224, 212,.8);"
|
|
|
>
|
|
|
- <p style="fontSize:16px;fontWeight:700;color:#092834;">
|
|
|
- <a-icon type="highlight" class="cardIcon" />
|
|
|
+ <p class="pTitle">
|
|
|
+ <img src="@assets/look.gif" width="30px;"/>
|
|
|
{{ item.processName }}
|
|
|
</p>
|
|
|
<p>当前审批环节:{{ item.currTaskName }}</p>
|
|
@@ -78,13 +78,13 @@
|
|
|
|
|
|
<p style="float:right;">发起人:{{ item.createBy }}</p>
|
|
|
|
|
|
- <a-divider class="dividerBgcO"></a-divider>
|
|
|
+ <a-divider style="background:rgba(128, 128, 128,.1);"></a-divider>
|
|
|
</a-card>
|
|
|
</div>
|
|
|
</a-tab-pane>
|
|
|
|
|
|
<!-- 我的待办 -->
|
|
|
- <a-tab-pane key="wait" tab="我的待办" force-render>
|
|
|
+ <a-tab-pane key="wait" tab="我的待办" force-render class="wait">
|
|
|
<div v-for="item in todoList" :key="item.id">
|
|
|
<a-card
|
|
|
style="width: 100%;
|
|
@@ -94,13 +94,18 @@
|
|
|
border:none;
|
|
|
background-color:rgba(247, 224, 212,.8);"
|
|
|
>
|
|
|
- <p style="fontSize:16px;fontWeight:700;color:#092834;">
|
|
|
- <!-- <a-icon type="bell" class="cardIcon" /> -->
|
|
|
- <img src="@assets/look.png" width="30px;" alt="????" />
|
|
|
+ <p class="pTitle">
|
|
|
+ <img
|
|
|
+ src="@assets/look.gif"
|
|
|
+ width="30px;"
|
|
|
+
|
|
|
+ style="marginRight:4px; borderRadius:8px;"
|
|
|
+ />
|
|
|
{{ item.processName }}
|
|
|
</p>
|
|
|
<p>任务名称:{{ item.name }}</p>
|
|
|
<p>创建时间:{{ item.createTime }}</p>
|
|
|
+
|
|
|
<!-- 优先级 -->
|
|
|
<p>
|
|
|
优先级:
|
|
@@ -155,12 +160,12 @@
|
|
|
<!-- 发起人 -->
|
|
|
<p style="float:right;marginBottom:30px;">发起人:{{ item.applyer }}</p>
|
|
|
|
|
|
- <a-divider dashed style="background:#ccc;"></a-divider>
|
|
|
+ <a-divider style="background:rgba(128, 128, 128,.1);"></a-divider>
|
|
|
|
|
|
<!-- 操作按钮 -->
|
|
|
<div class="operation">
|
|
|
<p style="fontSize:16px;fontWeight:700;color:#092834;">
|
|
|
- <img src="@assets/down.png" width="30px;" alt="???? " />
|
|
|
+ <img src="@assets/down.png" width="26px;" style="marginRight:4px;" />
|
|
|
操作
|
|
|
</p>
|
|
|
|
|
@@ -175,7 +180,7 @@
|
|
|
详情
|
|
|
</a-button>
|
|
|
|
|
|
- <!-- 挂起状态 按钮不可以 -->
|
|
|
+ <!-- 挂起 状态 按钮不可用 -->
|
|
|
<span
|
|
|
v-if="item.isSuspended == true"
|
|
|
style="cursor: no-drop;color: #999999;"
|
|
@@ -186,12 +191,12 @@
|
|
|
<a-button class="itemBtn" disabled>历史</a-button>
|
|
|
</span>
|
|
|
|
|
|
- <!-- 激活状态 -->
|
|
|
+ <!-- 激活 状态 -->
|
|
|
<span v-else>
|
|
|
<a-button
|
|
|
class="itemBtn mid"
|
|
|
ghost
|
|
|
- @click="passTask(item.id)"
|
|
|
+ @click="passTask(item)"
|
|
|
style="box-shadow: 8px 8px 8px rgba(128, 128, 128,.9);
|
|
|
color:#4e73b9;"
|
|
|
>
|
|
@@ -201,7 +206,7 @@
|
|
|
<a-button
|
|
|
class="itemBtn mid"
|
|
|
ghost
|
|
|
- @click="backTask(item.id)"
|
|
|
+ @click="backTask(item)"
|
|
|
style="color:gray;box-shadow: 5px 5px 5px rgba(128, 128, 128,.7);color:#ea472c;"
|
|
|
>
|
|
|
驳回
|
|
@@ -210,7 +215,7 @@
|
|
|
<a-button
|
|
|
class="itemBtn mid"
|
|
|
ghost
|
|
|
- @click="delegateTask(item.id)"
|
|
|
+ @click="delegateTask(item)"
|
|
|
style="color:gray;box-shadow: 6px 6px 6px rgba(128, 128, 128,.7);color:orange;"
|
|
|
>
|
|
|
委托
|
|
@@ -220,8 +225,12 @@
|
|
|
<a-button
|
|
|
class="itemBtn"
|
|
|
ghost
|
|
|
- @click="history(item.id)"
|
|
|
- style="color:gray;box-shadow: 4px 4px 4px rgba(128, 128, 128,.9);color#f2c617;position:absolute;right:0;marginRight:0;"
|
|
|
+ @click="history(item)"
|
|
|
+ style="color:gray;
|
|
|
+ box-shadow: 4px 4px 4px rgba(128, 128, 128,.9);
|
|
|
+ position:absolute;
|
|
|
+ right:0;
|
|
|
+ marginRight:0;"
|
|
|
>
|
|
|
历史
|
|
|
</a-button>
|
|
@@ -258,7 +267,8 @@
|
|
|
<!-- 审批操作 -->
|
|
|
<a-modal :title="modalTaskTitle" v-model="modalTaskVisible" :mask-closable="false" :width="500">
|
|
|
<div v-if="modalTaskVisible">
|
|
|
- <a-form ref="form" :model="form" :label-width="85" :rules="formValidate">
|
|
|
+ <!-- 下面删除 :rules="formValidate" -->
|
|
|
+ <a-form ref="form" :model="form" :label-width="85">
|
|
|
<a-form-item label="审批意见" prop="reason">
|
|
|
<a-input type="textarea" v-model="form.comment" :rows="4" />
|
|
|
</a-form-item>
|
|
@@ -324,7 +334,7 @@
|
|
|
</a-tab-pane>
|
|
|
|
|
|
<!-- 我的已办 -->
|
|
|
- <a-tab-pane key="done" tab="我的已办">
|
|
|
+ <a-tab-pane key="done" tab="我的已办" class="done">
|
|
|
<div v-for="item in doneList" :key="item.id">
|
|
|
<a-card
|
|
|
style="width: 100%;
|
|
@@ -334,28 +344,83 @@
|
|
|
border:none;
|
|
|
background-color:rgba(247, 224, 212,.8);"
|
|
|
>
|
|
|
- <p style="fontSize:16px;fontWeight:700;color:#092834;">
|
|
|
- <a-icon type="check" class="cardIcon" />
|
|
|
- 任务名称:{{ item.name }}
|
|
|
+ <p class="pTitle">
|
|
|
+ <img src="@assets/look.gif" width="30px;" style="marginRight:4px;borderRadius:8px;" />
|
|
|
+ {{ item.processName }}
|
|
|
</p>
|
|
|
- <p>所属流程:{{ item.processName }}</p>
|
|
|
+ <p>任务名称:{{ item.name }}</p>
|
|
|
<p>创建时间:{{ item.createTime }}</p>
|
|
|
|
|
|
- <a-divider class="dividerBgcO"></a-divider>
|
|
|
-
|
|
|
+ <!-- 审批操作 -->
|
|
|
<p style="float:left;">
|
|
|
审批操作:
|
|
|
<span
|
|
|
+ v-if="item.deleteReason == '审批通过'"
|
|
|
style="background:rgba(20, 137, 184,.3);
|
|
|
padding:4px 10px;
|
|
|
borderRadius:2px;
|
|
|
letterSpacing:1px;
|
|
|
color: #092834;"
|
|
|
+ >
|
|
|
+ {{ item.deleteReason }}</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="item.deleteReason == '审批驳回'"
|
|
|
+ style="background:rgba(234, 71, 44,.5);
|
|
|
+ padding:4px 10px;
|
|
|
+ borderRadius:2px;
|
|
|
+ letterSpacing:1px;
|
|
|
+ color: #092834;"
|
|
|
>
|
|
|
{{ item.deleteReason }}
|
|
|
</span>
|
|
|
</p>
|
|
|
<p style="float:right;">发起人:{{ item.applyer }}</p>
|
|
|
+
|
|
|
+ <a-divider style="background:rgba(128, 128, 128,.1);"></a-divider>
|
|
|
+
|
|
|
+ <!-- 操作按钮 -->
|
|
|
+ <div class="operation">
|
|
|
+ <p style="fontSize:16px;fontWeight:700;color:#092834;">
|
|
|
+ <img src="@assets/down.png" width="26px;" alt="???? " style="marginRight:4px;" />
|
|
|
+ 操作
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="btns">
|
|
|
+ <a-button
|
|
|
+ class="itemBtn"
|
|
|
+ ghost
|
|
|
+ @click="detail(item)"
|
|
|
+ style="box-shadow: 8px 8px 8px rgba(128, 128, 128,.7);
|
|
|
+ color:#4e73b9;"
|
|
|
+ >
|
|
|
+ 表单数据
|
|
|
+ </a-button>
|
|
|
+
|
|
|
+ <a-button
|
|
|
+ class="itemBtn"
|
|
|
+ ghost
|
|
|
+ @click="Donehistory(item)"
|
|
|
+ style="color:gray;
|
|
|
+ box-shadow: 8px 8px 8px rgba(128, 128, 128,.7)"
|
|
|
+ >
|
|
|
+ 审批历史
|
|
|
+ </a-button>
|
|
|
+
|
|
|
+ <a-popconfirm title="确定删除吗?" placement="left">
|
|
|
+ <a-button
|
|
|
+ class="itemBtn"
|
|
|
+ ghost
|
|
|
+ @click="remove(item)"
|
|
|
+ style="color:gray;
|
|
|
+ box-shadow: 7px 7px 7px rgba(128, 128, 128,.7);
|
|
|
+ color:red;"
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </a-button>
|
|
|
+ </a-popconfirm>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</a-card>
|
|
|
</div>
|
|
|
</a-tab-pane>
|
|
@@ -381,27 +446,31 @@ export default {
|
|
|
components: { JSelectUserByDep },
|
|
|
data() {
|
|
|
return {
|
|
|
- todoList: [], // 待办列表
|
|
|
- applyList: [], // 申请列表
|
|
|
- doneList: [], // 已办列表
|
|
|
- url: {
|
|
|
- todoList: '/actTask/todoList', // 待办
|
|
|
- list: '/actBusiness/listData', // 申请
|
|
|
- doneList: '/actTask/doneList' // 已办
|
|
|
- },
|
|
|
- /*历史*/
|
|
|
+ openSearch: true,
|
|
|
+ openTip: true,
|
|
|
+ loading: true, // 表单加载状态
|
|
|
modalLsVisible: false,
|
|
|
- modalTaskTitle: '',
|
|
|
- modalTaskVisible: false,
|
|
|
- submitLoading: false, // 添加或编辑提交状态
|
|
|
- procInstId: '',
|
|
|
- lcModal: {
|
|
|
- title: '',
|
|
|
- disabled: false,
|
|
|
- visible: false,
|
|
|
- formComponent: null,
|
|
|
- isNew: false
|
|
|
+ userLoading: false, //已办
|
|
|
+ backLoading: false,
|
|
|
+ selectCount: 0, // 多选计数
|
|
|
+ selectList: [], // 多选数据
|
|
|
+ assigneeList: [],
|
|
|
+ backList: [
|
|
|
+ {
|
|
|
+ key: '-1',
|
|
|
+ name: '发起人'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ error: '',
|
|
|
+ showAssign: false,
|
|
|
+ searchForm: {
|
|
|
+ // 搜索框对应data对象
|
|
|
+ name: ''
|
|
|
},
|
|
|
+
|
|
|
+ modalTaskTitle: '',
|
|
|
+ modalTitle: '', // 添加或编辑标题
|
|
|
+
|
|
|
form: {
|
|
|
id: '',
|
|
|
userId: '',
|
|
@@ -414,29 +483,85 @@ export default {
|
|
|
sendSms: false,
|
|
|
sendEmail: false
|
|
|
},
|
|
|
- formValidate: {
|
|
|
- // 表单验证规则
|
|
|
- },
|
|
|
- error: '',
|
|
|
- showAssign: false,
|
|
|
- assigneeList: [],
|
|
|
+ // formValidate: {
|
|
|
+ // // 表单验证规则
|
|
|
+ // },
|
|
|
+
|
|
|
+ submitLoading: false, // 添加或编辑提交状态
|
|
|
+ data: [], // 表单数据
|
|
|
+ total: 0, // 表单数据总数
|
|
|
+ dictPriority: [],
|
|
|
isGateway: false,
|
|
|
- backLoading: false,
|
|
|
- backList: [
|
|
|
- {
|
|
|
- key: '-1',
|
|
|
- name: '发起人'
|
|
|
- }
|
|
|
- ]
|
|
|
+ lcModal: {
|
|
|
+ title: '',
|
|
|
+ disabled: false,
|
|
|
+ visible: false,
|
|
|
+ formComponent: null,
|
|
|
+ isNew: false
|
|
|
+ },
|
|
|
+
|
|
|
+ url: {
|
|
|
+ todoList: '/actTask/todoList', // 待办
|
|
|
+
|
|
|
+ doneList: '/actTask/doneList', // 已办
|
|
|
+ deleteHistoricTask: '/actTask/deleteHistoric/', //已办接口
|
|
|
+ list: '/actBusiness/listData', // 申请
|
|
|
+
|
|
|
+ deleteHistoricTask: '/actTask/deleteHistoric/', //已办接口
|
|
|
+ pass: '/actTask/pass',
|
|
|
+ back: '/actTask/back',
|
|
|
+ backToTask: '/actTask/backToTask',
|
|
|
+ delegate: '/actTask/delegate',
|
|
|
+ getNextNode: '/activiti_process/getNextNode',
|
|
|
+ getNode: '/activiti_process/getNode/',
|
|
|
+ getBackList: '/actTask/getBackList/',
|
|
|
+ passAll: '/actTask/passAll/',
|
|
|
+ backAll: '/actTask/backAll/'
|
|
|
+ },
|
|
|
+
|
|
|
+ todoList: [], // 待办列表
|
|
|
+ applyList: [], // 申请列表
|
|
|
+ doneList: [], // 已办列表
|
|
|
+
|
|
|
+ modalTaskVisible: false,
|
|
|
+ procInstId: ''
|
|
|
}
|
|
|
},
|
|
|
- computed: {},
|
|
|
|
|
|
created() {
|
|
|
this.getDataList()
|
|
|
},
|
|
|
-
|
|
|
+ mounted() {
|
|
|
+ this.init()
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ init() {
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ loadData() {},
|
|
|
+
|
|
|
+ // 拿到 所有列表(待办、已办)
|
|
|
+ getDataList() {
|
|
|
+ // 待办
|
|
|
+ getAction(this.url.todoList, {}).then(res => {
|
|
|
+ if (res.success) {
|
|
|
+ this.todoList = res.result || []
|
|
|
+ this.total = this.data.leading
|
|
|
+ console.log('待办列表', this.todoList)
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ // 已办
|
|
|
+ this.postFormAction(this.url.doneList, this.searchForm).then(res => {
|
|
|
+ this.loading = false
|
|
|
+ if (res.success) {
|
|
|
+ this.doneList = res.result || []
|
|
|
+ console.log('最新已办列表', this.doneList)
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
// 初始化表
|
|
|
forminitial() {
|
|
|
this.form = {
|
|
@@ -453,10 +578,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- init() {
|
|
|
- this.getDataList()
|
|
|
- },
|
|
|
- loadData() {},
|
|
|
// 切换tabs值
|
|
|
callback(key) {
|
|
|
console.log(key)
|
|
@@ -464,7 +585,7 @@ export default {
|
|
|
getAction(this.url.list).then(res => {
|
|
|
if (res.success) {
|
|
|
this.applyList = res.result || []
|
|
|
- console.log('申请列表', this.applyList)
|
|
|
+ console.log('我的申请', this.applyList)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -472,22 +593,12 @@ export default {
|
|
|
getAction(this.url.doneList).then(res => {
|
|
|
if (res.success) {
|
|
|
this.doneList = res.result || []
|
|
|
- console.log('已办列表', this.doneList)
|
|
|
+ console.log('我的已办', this.doneList)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- // 拿到 todoList
|
|
|
- getDataList() {
|
|
|
- getAction(this.url.todoList, {}).then(res => {
|
|
|
- if (res.success) {
|
|
|
- this.todoList = res.result || []
|
|
|
- console.log('待办列表', this.todoList)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
|
|
|
- // -------------------------------------
|
|
|
handleSearch() {
|
|
|
this.getDataList()
|
|
|
},
|
|
@@ -504,7 +615,6 @@ export default {
|
|
|
this.$refs.table.selectAll(false)
|
|
|
},
|
|
|
|
|
|
- // -------------------------------------
|
|
|
// 提交
|
|
|
handelSubmit() {
|
|
|
console.log('提交')
|
|
@@ -577,10 +687,10 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- // -------------------------------------
|
|
|
- // 申请详情
|
|
|
+
|
|
|
+ // 详情
|
|
|
detail(item) {
|
|
|
- console.log('该id所有信息', item.routeName)
|
|
|
+ console.log('详情吗?', item)
|
|
|
if (!item.routeName) {
|
|
|
this.$message.warning('该流程信息未配置表单,请联系开发人员!')
|
|
|
return
|
|
@@ -609,7 +719,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- // 审批通过
|
|
|
+ // 通过
|
|
|
passTask(v) {
|
|
|
console.log('我在哪是啥', v)
|
|
|
this.forminitial()
|
|
@@ -650,8 +760,9 @@ export default {
|
|
|
)
|
|
|
},
|
|
|
|
|
|
- // 驳回任务
|
|
|
+ // 审批驳回
|
|
|
changeBackTask(v) {
|
|
|
+ console.log('驳回吗?', v)
|
|
|
if (v == '-1') {
|
|
|
return
|
|
|
}
|
|
@@ -672,8 +783,9 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
|
|
|
- // 审批驳回
|
|
|
+ // 操作 驳回
|
|
|
backTask(v) {
|
|
|
+ console.log('驳回吗?', v)
|
|
|
this.forminitial()
|
|
|
this.modalTaskTitle = '审批驳回'
|
|
|
this.form.id = v.id
|
|
@@ -704,6 +816,7 @@ export default {
|
|
|
|
|
|
// 委托他人代办
|
|
|
delegateTask(v) {
|
|
|
+ console.log('委托吗?', v)
|
|
|
this.forminitial()
|
|
|
this.modalTaskTitle = '委托他人代办'
|
|
|
this.form.id = v.id
|
|
@@ -713,15 +826,46 @@ export default {
|
|
|
this.modalTaskVisible = true
|
|
|
},
|
|
|
|
|
|
- // 历史
|
|
|
+ //待办 历史
|
|
|
history(v) {
|
|
|
+ console.log('历史吗?', v)
|
|
|
if (!v.procInstId) {
|
|
|
this.$message.error('流程实例ID不存在')
|
|
|
return
|
|
|
}
|
|
|
+ console.log(v.procInstId)
|
|
|
this.procInstId = v.procInstId
|
|
|
this.modalLsVisible = true
|
|
|
},
|
|
|
+ // ------------------------------------
|
|
|
+ // 审批 历史(已办)
|
|
|
+ Donehistory(item) {
|
|
|
+ console.log('已办审批历史吗?', item)
|
|
|
+ if (!item.procInstId) {
|
|
|
+ console.log('item.procInstId')
|
|
|
+ this.procInstId = item.procInstId
|
|
|
+ this.modalLsVisible = true
|
|
|
+ this.$message.error('流程实例ID不存在')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.procInstId = item.procInstId
|
|
|
+ this.modalLsVisible = true
|
|
|
+ },
|
|
|
+
|
|
|
+ // 我的已办 methods 问题
|
|
|
+ remove(item) {
|
|
|
+ console.log('点击这项是:', item)
|
|
|
+ this.postFormAction(this.url.deleteHistoricTask, item.id).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if (res.success) {
|
|
|
+ console.log('要删除的这项id是:', item.id)
|
|
|
+ this.$message.success('操作成功')
|
|
|
+ this.getDataList()
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
//通过所有
|
|
|
passAll() {
|
|
@@ -755,6 +899,7 @@ export default {
|
|
|
|
|
|
// 驳回所有
|
|
|
backAll() {
|
|
|
+ console.log('111')
|
|
|
if (this.selectCount <= 0) {
|
|
|
this.$message.warning('您还未选择要驳回的数据')
|
|
|
return
|
|
@@ -837,14 +982,15 @@ export default {
|
|
|
color: white;
|
|
|
letter-spacing: 1px;
|
|
|
}
|
|
|
-.btns {
|
|
|
- // background-color: rgba(235, 186, 26, 0.4);
|
|
|
+// ----------------------------------
|
|
|
+//待办 操作按钮
|
|
|
+.wait .btns {
|
|
|
position: relative;
|
|
|
}
|
|
|
-.operation /deep/.ant-btn {
|
|
|
+.wait .operation /deep/.ant-btn {
|
|
|
padding: 0;
|
|
|
line-height: 0;
|
|
|
- border: 1px dashed rgba(128, 128, 128, 0.1);
|
|
|
+ border: 1px solid rgba(128, 128, 128, 0.1);
|
|
|
border-radius: 18px;
|
|
|
padding: 26px 14px;
|
|
|
}
|
|
@@ -854,4 +1000,21 @@ export default {
|
|
|
.itemBtn {
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
+
|
|
|
+.done .btns {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+// ----------------------------------
|
|
|
+//已办 操作按钮
|
|
|
+.done .btns .itemBtn {
|
|
|
+ margin-right: 20%;
|
|
|
+ padding: 0;
|
|
|
+ line-height: 0;
|
|
|
+ border-radius: 18px;
|
|
|
+ padding: 26px 14px;
|
|
|
+ border: 1px solid rgba(128, 128, 128, 0.1);
|
|
|
+}
|
|
|
+.done .itemBtn:nth-last-child(1) {
|
|
|
+ margin-right: 0;
|
|
|
+}
|
|
|
</style>
|