Merge branch 'main' of https://dd3skj.picp.vip/JyuHsin/zhgh_jshvc
This commit is contained in:
@@ -67,15 +67,15 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
}
|
||||
|
||||
.apps-header {
|
||||
padding: 0 0 20px 0;
|
||||
padding: 0 0 10px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.apps-search-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
/*margin-bottom: 20px;*/
|
||||
}
|
||||
|
||||
.apps-search {
|
||||
@@ -103,13 +103,16 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
}
|
||||
|
||||
.apps-filter {
|
||||
margin-top: 20px;
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.apps-filter-title {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.apps-filter-tags {
|
||||
@@ -356,20 +359,20 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
</div>
|
||||
|
||||
<!-- 字母过滤 -->
|
||||
<!-- <div class="apps-filter">-->
|
||||
<!-- <div class="apps-filter-title">首字母:</div>-->
|
||||
<!-- <div class="apps-filter-tags alphabet-filter">-->
|
||||
<!-- <div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">全部</div>-->
|
||||
<!-- <div-->
|
||||
<!-- v-for="letter in alphabets"-->
|
||||
<!-- :key="letter"-->
|
||||
<!-- :class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"-->
|
||||
<!-- @click="changeAlphabet(letter)"-->
|
||||
<!-- >-->
|
||||
<!-- {{ letter }}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="apps-filter">
|
||||
<div class="apps-filter-title">首字母:</div>
|
||||
<div class="apps-filter-tags alphabet-filter">
|
||||
<div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">全部</div>
|
||||
<div
|
||||
v-for="letter in alphabets"
|
||||
:key="letter"
|
||||
:class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"
|
||||
@click="changeAlphabet(letter)"
|
||||
>
|
||||
{{ letter }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 应用网格 -->
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<script src="https://vxeui.com/umd/xe-utils@3.5.30/dist/xe-utils.umd.min.js"></script>
|
||||
<script src="https://vxeui.com/umd/vxe-pc-ui@3.1.25/lib/index.umd.min.js"></script>
|
||||
<script src="https://vxeui.com/umd/vxe-table@3.9.0/lib/index.umd.min.js"></script>
|
||||
l
|
||||
|
||||
<!-- 引入 form-create 和 designer -->
|
||||
<script src="${base!}/assets/platform/plugins/form-create/form-create.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/form-create/index.umd.js"></script>
|
||||
@@ -80,7 +80,7 @@
|
||||
<script src="${base!}/assets/platform/plugins/swiper/swiper-bundle.js"></script>
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/swiper/swiper-bundle.min.css"></link>
|
||||
|
||||
<!-- <script src="${base!}/assets/platform/plugins/snaker/SnakerflowDesigner.umd.min.js"></script>-->
|
||||
<!--<script src="${base!}/assets/platform/plugins/snaker/SnakerflowDesigner.umd.js"></script>-->
|
||||
|
||||
<script src="${base!}/components/plugins/sysDict/DictData.js"></script>
|
||||
<script src="${base!}/assets/platform/js/util/commonUtil.js"></script>
|
||||
@@ -351,6 +351,16 @@
|
||||
Vue.prototype.$auth = commonUtil.authService()
|
||||
Vue.prototype.$axios = commonUtil.axiosService()
|
||||
Vue.prototype.$downLoad = commonUtil.downLoadService
|
||||
|
||||
Vue.prototype.$processStatusMap = {
|
||||
10: {text: "进行中", class: "doing"},
|
||||
20: {text: "已完成", class: "finished"},
|
||||
30: {text: "已撤回", class: "withdraw"},
|
||||
40: {text: "强行终止", class: "interrupt"},
|
||||
45: {text: "已拒绝", class: "reject"},
|
||||
50: {text: "挂起", class: "pending"},
|
||||
99: {text: "已废弃", class: "abandon"}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!--vue全局组件-->
|
||||
@@ -676,7 +686,7 @@
|
||||
</a>
|
||||
</div>
|
||||
</header>
|
||||
<div style="height: 45px"></div>
|
||||
<div style="height: 64px"></div>
|
||||
|
||||
<main class="v4-content">
|
||||
<!-- 页面内容区域 -->
|
||||
|
||||
@@ -108,6 +108,7 @@ const user = {
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -63,15 +63,15 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
}
|
||||
|
||||
.apps-header {
|
||||
padding: 0 0 20px 0;
|
||||
padding: 0 0 10px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.apps-search-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
/*margin-bottom: 20px;*/
|
||||
}
|
||||
|
||||
.apps-search {
|
||||
@@ -99,13 +99,16 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
}
|
||||
|
||||
.apps-filter {
|
||||
margin-top: 20px;
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.apps-filter-title {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.apps-filter-tags {
|
||||
@@ -351,22 +354,22 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
</div>
|
||||
|
||||
<!-- 字母过滤 -->
|
||||
<!-- <div class="apps-filter">-->
|
||||
<!-- <div class="apps-filter-title">首字母:</div>-->
|
||||
<!-- <div class="apps-filter-tags alphabet-filter">-->
|
||||
<!-- <div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">-->
|
||||
<!-- 全部-->
|
||||
<!-- </div>-->
|
||||
<!-- <div-->
|
||||
<!-- v-for="letter in alphabets"-->
|
||||
<!-- :key="letter"-->
|
||||
<!-- :class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"-->
|
||||
<!-- @click="changeAlphabet(letter)"-->
|
||||
<!-- >-->
|
||||
<!-- {{ letter }}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="apps-filter">
|
||||
<div class="apps-filter-title">首字母:</div>
|
||||
<div class="apps-filter-tags alphabet-filter">
|
||||
<div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">
|
||||
全部
|
||||
</div>
|
||||
<div
|
||||
v-for="letter in alphabets"
|
||||
:key="letter"
|
||||
:class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"
|
||||
@click="changeAlphabet(letter)"
|
||||
>
|
||||
{{ letter }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 应用网格 -->
|
||||
|
||||
@@ -39,14 +39,18 @@
|
||||
'assigneeText',
|
||||
'assigneeMode',
|
||||
'buttonConfig',
|
||||
'enableNextOperator'
|
||||
'enableNextOperator',
|
||||
'h5form'
|
||||
]"
|
||||
>
|
||||
<!-- <template v-slot:form-item-task-form="{model,field}">-->
|
||||
<!-- <el-form-item label="form">-->
|
||||
<!-- -->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </template>-->
|
||||
<template v-slot:form-item-task-form="{model,field}">
|
||||
<el-form-item label="pc跳转地址">
|
||||
<el-input placeholder="请输入pc跳转地址" clearable v-model="model[field]"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="h5跳转地址">
|
||||
<el-input placeholder="请输入h5跳转地址" clearable v-model="model['h5form']"></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<template v-slot:form-item-task-assignee="{model,field}">
|
||||
<assignee-form :model="model" :field="field" :start_node_next_node_ids="startNodeNextNodeIds"></assignee-form>
|
||||
|
||||
@@ -59,6 +59,10 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<van-notice-bar
|
||||
left-icon="volume-o"
|
||||
text="请选择完文件后,一次性上传。"
|
||||
></van-notice-bar>
|
||||
<h1>文件上传</h1>
|
||||
<van-uploader
|
||||
v-model="fileList"
|
||||
|
||||
@@ -1,35 +1,101 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style></style>
|
||||
<style scoped>
|
||||
.custom-tree {
|
||||
background: transparent;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
/* 节点行高调整 */
|
||||
.custom-tree .el-tree-node {
|
||||
margin: 2px 0;
|
||||
border-radius: 6px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
|
||||
/* 选中状态 */
|
||||
.custom-tree .el-tree-node.is-current > .el-tree-node__content {
|
||||
background: #e8f4ff;
|
||||
border-left: 3px solid #409eff;
|
||||
}
|
||||
|
||||
/* 节点内容区域 */
|
||||
.custom-tree .el-tree-node__content {
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
padding: 0 8px;
|
||||
border-radius: 6px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
/* 自定义节点内容 */
|
||||
.custom-tree-node {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
|
||||
/* 文件夹图标颜色优化 */
|
||||
.el-icon-folder {
|
||||
color: #909399;
|
||||
}
|
||||
.el-icon-folder-opened {
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
/* 展开时图标旋转动画 */
|
||||
.custom-tree .el-tree-node__expand-icon {
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
.custom-tree .el-tree-node__expand-icon.expanded {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
/* 节点标签 */
|
||||
.node-label {
|
||||
flex: 1;
|
||||
font-size: 13px;
|
||||
color: #303133;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* 禁用展开图标(当无子节点时) */
|
||||
.custom-tree .el-tree-node__expand-icon.is-leaf {
|
||||
color: transparent;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row type="flex" :gutter="20" style="height: calc(100vh - 126px)">
|
||||
<el-col :span="5">
|
||||
<el-card shadow="never">
|
||||
<el-input placeholder="输入关键字进行查找" v-model="filterText" clearable></el-input>
|
||||
<div style="max-height: calc(100vh - 200px); overflow-y: auto">
|
||||
<el-tree
|
||||
:data="treeData"
|
||||
ref="treeRef"
|
||||
:expand-on-click-node="false"
|
||||
:props="{
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
}"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
@node-click="treeNodeClick"
|
||||
:filter-node-method="filterNode"
|
||||
highlight-current
|
||||
>
|
||||
<template slot-scope="{ node, data }">
|
||||
<span class="el-tree-node__label">
|
||||
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
||||
<i class="el-icon-folder" v-else></i>
|
||||
{{node.label}}
|
||||
</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
<el-tree
|
||||
:data="treeData"
|
||||
ref="treeRef"
|
||||
:expand-on-click-node="false"
|
||||
:props="{ children: 'children', label: 'name' }"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
@node-click="treeNodeClick"
|
||||
:filter-node-method="filterNode"
|
||||
highlight-current
|
||||
class="custom-tree"
|
||||
>
|
||||
<template slot-scope="{ node, data }">
|
||||
<span class="custom-tree-node">
|
||||
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
||||
<i class="el-icon-folder" v-else></i>
|
||||
<span class="node-label">{{ node.label }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const UNIT_MANAGE_TEMPLATE = {
|
||||
template: `
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter);">
|
||||
<el-row :gutter="10" type="flex">
|
||||
@@ -30,10 +30,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
|
||||
<el-dialog title="设置单位" :visible.sync="dialogVisible" :close-on-click-modal="false" width="40%" top="2%">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" size="small" label-width="80px">
|
||||
<el-form-item v-if="formData.id === '' || formData.id === null || currentNode === 1" prop="parentId" label="上级单位" label-width="80px">
|
||||
<el-cascader :props="props" :options="options" v-model="parentUnit" placeholder="请选择上次单位,不选择则为顶级" style="width: 100%"></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item v-else label="上级单位">
|
||||
<el-form-item label="上级单位">
|
||||
<el-input maxlength="100" disabled :value="currentData?.name" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="name" label="单位名称">
|
||||
@@ -47,10 +44,20 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
</el-form-item>
|
||||
<el-form-item prop="unitLevel" label="单位等级">
|
||||
<el-select v-model="formData.unitLevel" placeholder="请输入单位等级" style="width: 100%">
|
||||
<el-option v-if="unitLevel === 1" label="一级单位" :value="1"></el-option>
|
||||
<el-option v-if="unitLevel === 2" label="二级单位" :value="2"></el-option>
|
||||
<el-option v-if="unitLevel === 3" label="三级单位" :value="3"></el-option>
|
||||
<el-option v-if="unitLevel === 4" label="四级单位" :value="4"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="unionId" label="所属工会">
|
||||
<el-select v-model="formData.unionId" placeholder="请选择所属工会" style="width: 100%">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||
v-for="item in unions"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item prop="address" label="单位地址">-->
|
||||
<!-- <el-input maxlength="100" placeholder="请输入单位地址" v-model="formData.address" auto-complete="off" tabindex="5" type="text"></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
@@ -88,6 +95,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
store,
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
@@ -107,7 +115,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
formRules: {
|
||||
name: [{ required: true, message: "必填", trigger: "blur" }],
|
||||
unitcode: [{ required: true, message: "必填", trigger: "blur" }],
|
||||
unitLevel: [{ required: true, message: "必填", trigger: "blur" }],
|
||||
unitLevel: [{ required: false, message: "必填", trigger: "blur" }],
|
||||
email: [
|
||||
{ required: false, message: "单位邮箱", trigger: "blur" },
|
||||
{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
|
||||
@@ -115,24 +123,8 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
},
|
||||
options: [],
|
||||
parentUnit: [],
|
||||
props: {
|
||||
lazy: true,
|
||||
checkStrictly: true,
|
||||
multiple: false,
|
||||
lazyLoad: function (node, resolve) {
|
||||
var url = base + "/platform/sys/unit/cascaderData"
|
||||
$.post(
|
||||
url,
|
||||
{ pid: node.value },
|
||||
function (data) {
|
||||
if (data.code === 0) {
|
||||
resolve(data.data)
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
unions: [],
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
@@ -148,26 +140,29 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
this.options = []
|
||||
},
|
||||
doHandle() {
|
||||
const self = this
|
||||
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
||||
this.$refs["form"].validate(async function (valid) {
|
||||
if (valid) {
|
||||
if (!self.formData.id) {
|
||||
self.formData.parentId = self.parentUnit[self.parentUnit.length - 1] || ""
|
||||
this.$confirm("确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
const self = this
|
||||
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
||||
this.$refs["form"].validate(async function (valid) {
|
||||
if (valid) {
|
||||
if (self.currentNode) {
|
||||
self.formData.parentId = self.currentData.id
|
||||
}
|
||||
const resp = await self.$axios.post(url, self.formData)
|
||||
if (resp.code === 0) {
|
||||
self.$message.success(resp.msg)
|
||||
self.doSearch()
|
||||
self.dialogVisible = false
|
||||
self.$emit("refresh", null)
|
||||
} else {
|
||||
self.$message.warning(resp.msg)
|
||||
}
|
||||
}
|
||||
if (self.currentNode !== 1) {
|
||||
self.formData.parentId = self.currentData.id
|
||||
}
|
||||
const resp = await self.$axios.post(url, self.formData)
|
||||
if (resp.code === 0) {
|
||||
self.$message.success(resp.msg)
|
||||
self.doSearch()
|
||||
self.dialogVisible = false
|
||||
self.$emit("refresh", null)
|
||||
} else {
|
||||
self.$message.warning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async openEdit(id) {
|
||||
@@ -216,7 +211,13 @@ const UNIT_MANAGE_TEMPLATE = {
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
async created() {
|
||||
this.pageData()
|
||||
|
||||
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
|
||||
this.unions = await this.$businessTool.listUnion()
|
||||
} else {
|
||||
this.unions = await this.$businessTool.listUnion(this.store.state.user.union.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -212,6 +212,7 @@ layout("/layouts/platform.html"){
|
||||
message: '提交成功!'
|
||||
})
|
||||
this.doSearch()
|
||||
this.getApplyMoney()
|
||||
this.$refs.guava.index()
|
||||
}
|
||||
})
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form :model="formData" :rules="formRules" ref="formRef" class="flow-task-form">
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="申报人姓名">{{formData.userName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申报时间">{{formData.applyDate}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申报时间">{{$moment(formData.applyDate).format('YYYY-MM-DD')}}</el-descriptions-item>
|
||||
<el-descriptions-item label="经费项目">
|
||||
<el-form-item
|
||||
prop="activityMatter" label="经费项目">
|
||||
|
||||
+3
@@ -88,6 +88,9 @@ layout("/layouts/platform.html"){
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
<template v-slot="{row}" v-else-if="column.prop==='applyDate'">
|
||||
{{ $moment(row.applyDate).format('YYYY-MM-DD') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" header-align="center" label="操作"
|
||||
width="300px">
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ layout("/layouts/platform.html"){
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="协会"
|
||||
<search-item label="所属协会"
|
||||
v-if="!pageForm.outlayManageSource||pageForm.outlayManageSource==='ACTIVITY_BUDGET_TYPE_THREE'">
|
||||
<el-select clearable
|
||||
placeholder="请选择协会"
|
||||
|
||||
@@ -23,7 +23,7 @@ const ACTIVITY_BUDGET_INFO = {
|
||||
<el-descriptions-item label="申报预算金额(元)">{{viewData.declareTotalBudgetMoney}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="最终预算金额(元)">{{viewData.totalBudgetMoney}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申报时间">{{viewData.applyDate}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申报时间">{{$moment(viewData.applyDate).format('YYYY-MM-DD')}}</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.isSchoolBudget" label="校工会预算">{{viewData.activityMatterTwo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="!viewData.isSchoolBudget"></el-descriptions-item>
|
||||
|
||||
+11
@@ -34,6 +34,16 @@ layout("/layouts/platform.html"){
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属协会"
|
||||
v-if="!pageForm.outlayManageSource||pageForm.outlayManageSource==='ACTIVITY_BUDGET_TYPE_THREE'">
|
||||
<el-select v-model="pageForm.clubId" filterable
|
||||
clearable
|
||||
placeholder="请选择所属工会" style="width: 100%;">
|
||||
<el-option v-for="item in clubOption" :label="item.clubName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="预算条目">
|
||||
<dict-select v-model="pageForm.budgetReimburseType"
|
||||
code="ACTIVITY_BUDGET_REIMBURSE_TYPE"></dict-select>
|
||||
@@ -225,6 +235,7 @@ layout("/layouts/platform.html"){
|
||||
this.budgetReimburseTypeOption = await this.$businessTool.getDictOptions("ACTIVITY_BUDGET_REIMBURSE_TYPE")
|
||||
this.budgetTypeOption.unshift({name: "全部类型", code: ""})
|
||||
this.unionList = await this.$businessTool.listUnion()
|
||||
this.clubOption = await this.$businessTool.listClub()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
+11
@@ -34,6 +34,16 @@ layout("/layouts/platform.html"){
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="所属协会"
|
||||
v-if="!pageForm.outlayManageSource||pageForm.outlayManageSource==='ACTIVITY_BUDGET_TYPE_THREE'">
|
||||
<el-select v-model="pageForm.clubId" filterable
|
||||
clearable
|
||||
placeholder="请选择所属工会" style="width: 100%;">
|
||||
<el-option v-for="item in clubOption" :label="item.clubName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="预算条目">
|
||||
<dict-select v-model="pageForm.budgetReimburseType"
|
||||
code="ACTIVITY_BUDGET_REIMBURSE_TYPE"></dict-select>
|
||||
@@ -225,6 +235,7 @@ layout("/layouts/platform.html"){
|
||||
this.budgetReimburseTypeOption = await this.$businessTool.getDictOptions("ACTIVITY_BUDGET_REIMBURSE_TYPE")
|
||||
this.budgetTypeOption.unshift({name: "全部类型", code: ""})
|
||||
this.unionList = await this.$businessTool.listUnion()
|
||||
this.clubOption = await this.$businessTool.listClub()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到提案人</el-button>
|
||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||
<el-button @click="handleTaskAction(20)" size="small" type="danger">不同意</el-button>
|
||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
|
||||
</el-row>
|
||||
|
||||
@@ -28,9 +28,9 @@ const PROPOSAL_INFO = {
|
||||
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
||||
:value="viewData.caseFilingResult"></dict-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="调研情况" :span="3">
|
||||
<!--<el-descriptions-item label="调研情况" :span="3">
|
||||
<div class="text-left">{{viewData.researchFindings}}</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions-item>-->
|
||||
<el-descriptions-item label="提案案由" :span="3">
|
||||
<div class="text-left" v-html="viewData.brief"></div>
|
||||
</el-descriptions-item>
|
||||
|
||||
+3
-1
@@ -337,7 +337,9 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
listSession() {
|
||||
this.$axios.post("/platform/proposal/common/listSession").then((res) => {
|
||||
this.$axios.post("/platform/proposal/common/listSession", {
|
||||
orderBy: "asc"
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.sessionOptions = res.data
|
||||
if (this.sessionOptions) {
|
||||
|
||||
+1
-1
@@ -140,7 +140,7 @@ layout("/layouts/platform.html"){
|
||||
<!--#include("../../common/info.js"){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
dicts: ["PROPOSAL_TYPE", "PROPOSAL_CASE_FILING_RESULT"],
|
||||
dicts: ["PROPOSAL_TYPE", "PROPOSAL_CASE_FILING_RESULT", "PROPOSAL_CASE_FILING_TYPE"],
|
||||
store,
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
|
||||
+30
-23
@@ -128,29 +128,36 @@ layout("/layouts/platform.html"){
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" type="flex">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案编号" prop="code"
|
||||
:rules="[{required:true,message:'请输入提案编号',trigger:'blur'}]">
|
||||
<el-input maxlength="100" placeholder="提案编号" v-model="formData.code"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案名称" prop="name"
|
||||
:rules="[{required:true,message:'请输入提案名称',trigger:'blur'}]">
|
||||
<el-input maxlength="100" placeholder="提案名称" v-model="formData.name"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案方式" prop="source">
|
||||
<el-input :value="dict.type.PROPOSAL_SOURCE.find(v=>v.code === formData.source)?.name"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" type="flex">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案类别" prop="typeId">
|
||||
<el-select v-model="formData.typeId" style="width: 100%">
|
||||
<el-option :key="item.code" :label="item.name" :value="item.id"
|
||||
v-for="item in typeOptions"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案方式" prop="source">
|
||||
<el-input :value="dict.type.PROPOSAL_SOURCE.find(v=>v.code === formData.source)?.name"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案类别" prop="typeId">
|
||||
<el-select v-model="formData.typeId" style="width: 100%">
|
||||
<el-option :key="item.code" :label="item.name" :value="item.id"
|
||||
v-for="item in typeOptions"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- <el-form-item label="提案摘要" prop="excerpt">-->
|
||||
@@ -177,15 +184,15 @@ layout("/layouts/platform.html"){
|
||||
<text-editor v-model="formData.measures" key="measures"
|
||||
placeholder="建议措施"></text-editor>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="附件上传" prop="files">-->
|
||||
<!-- <file-upload-->
|
||||
<!-- :value.sync="formData.files"-->
|
||||
<!-- :upload_number="5"-->
|
||||
<!-- upload_result_category="array"-->
|
||||
<!-- upload_mode="drag"-->
|
||||
<!-- complete_result-->
|
||||
<!-- ></file-upload>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="附件上传" prop="files">
|
||||
<file-upload
|
||||
:value.sync="formData.files"
|
||||
:upload_number="5"
|
||||
upload_result_category="array"
|
||||
upload_mode="drag"
|
||||
complete_result
|
||||
></file-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()">取 消</el-button>
|
||||
|
||||
+9
@@ -231,6 +231,14 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
// 是否有协办单位
|
||||
let tf_helpunitreply;
|
||||
if (this.formData.tf_slaveUnitIds && this.formData.tf_slaveUnitIds.length > 0) {
|
||||
tf_helpunitreply = 'HAS_HELP_UNIT'
|
||||
} else {
|
||||
tf_helpunitreply = 'NO_HELP_UNIT'
|
||||
}
|
||||
|
||||
const loading = createLoading('提交中')
|
||||
this.$axios.post("/flow/common/executeTask", {
|
||||
data: JSON.stringify({
|
||||
@@ -239,6 +247,7 @@ layout("/layouts/platform.html"){
|
||||
tf_masterUnitName: this.formData.tf_masterUnitId ? this.underTakeOptions.find(v => v.id === this.formData.tf_masterUnitId)?.name : null,
|
||||
tf_slaveUnitNames: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_helpunitreply: tf_helpunitreply
|
||||
})
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
|
||||
-12
@@ -92,17 +92,6 @@ layout("/layouts/platform.html"){
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
</el-form-item>
|
||||
<template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
||||
<el-form-item label="通讯地址" prop="tf_address" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="formData.tf_address" placeholder="请输入通讯地址" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="tf_phone" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="formData.tf_phone" placeholder="请输入联系电话" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮政编码" prop="tf_postcode" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="formData.tf_postcode" placeholder="请输入邮政编码" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||
@@ -231,7 +220,6 @@ layout("/layouts/platform.html"){
|
||||
if (this.sessionOptions) {
|
||||
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
|
||||
this.pageData()
|
||||
this.listDelegation()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -42,6 +42,9 @@ layout("/layouts/platform.html"){
|
||||
<template v-else-if="column.prop === 'merge'" scope="{row}">
|
||||
<el-tag v-if="row.merge" size="small">是</el-tag>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'taskName'" scope="{row}">
|
||||
<span>{{ (row.startTaskId) ? row.taskName : '待提交' }}</span>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'instanceState'" scope="{row}">
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
|
||||
+1
@@ -137,6 +137,7 @@ layout("/layouts/platform.html"){
|
||||
{label: "提案类别", prop: "typeName"},
|
||||
{label: "是否并案", prop: "merge"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "审核人", prop: "auditUser"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
],
|
||||
pageForm: {
|
||||
|
||||
+1
@@ -260,6 +260,7 @@ layout("/layouts/platform.html"){
|
||||
{label: "承办单位", prop: "underTakeName"},
|
||||
{label: "承办类型", prop: "underTakeIsMaster"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "审核人", prop: "auditUser"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
],
|
||||
pageForm: {
|
||||
|
||||
+21
@@ -1,6 +1,13 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.write-dialog .el-dialog__body {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
@@ -219,8 +226,13 @@ layout("/layouts/platform.html"){
|
||||
<div style="max-height: 75vh;overflow-y: auto">
|
||||
<formal-write ref="formalWriteRef" :is_read="isRead" :user_id="userId"
|
||||
:session_id="pageForm.sessionId"
|
||||
:dialog="true"
|
||||
@refresh="writeDialog=false;doSearch()"></formal-write>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="$refs.formalWriteRef.onSave()">保存草稿</el-button>
|
||||
<el-button type="primary" @click="$refs.formalWriteRef.onSubmit()">提交信息</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
@@ -339,7 +351,16 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
.write-dialog .el-dialog__title {
|
||||
font-size: 22px; /* 调整为您需要的大小 */
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.write-dialog .el-dialog__body {
|
||||
padding-top: 0px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!--#
|
||||
}
|
||||
|
||||
+159
-141
@@ -1,6 +1,6 @@
|
||||
const write = {
|
||||
template: /*language=HTML*/ `
|
||||
<div class="container-x1">
|
||||
<div class="container-x1" style="padding: 0">
|
||||
|
||||
<div class="form-container">
|
||||
<header class="header-x">
|
||||
@@ -32,7 +32,7 @@ const write = {
|
||||
<div class="info-content">
|
||||
<i class="fa fa-info-circle info-icon"></i>
|
||||
<div class="info-text">
|
||||
<h3 class="info-title">推选信息</h3>
|
||||
<h2 class="info-title" style="font-size: 18px;">推选信息</h2>
|
||||
<p class="info-desc">您已被预选为{{ sessionName }}代表</p>
|
||||
<div class="info-details">
|
||||
<p>推选单位:{{ formData.unionName }}</p>
|
||||
@@ -58,141 +58,133 @@ const write = {
|
||||
:disabled="(formData && !['53ff0c2a-ba93-45e9-a9fd-db51cdab3080','97b0846b-22c6-4d34-9002-a6b67d592944'].includes(formData.taskKey)) || is_read"
|
||||
>
|
||||
<div class="form-section">
|
||||
<h3 class="section-title">基本信息</h3>
|
||||
<div class="form-grid">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名" prop="userName">
|
||||
<el-input v-model="formData.userName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工号" prop="loginName">
|
||||
<el-input v-model="formData.loginName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="性别" prop="sex">
|
||||
<el-radio-group v-model="formData.sex" size="small">
|
||||
<el-radio border label="男">男</el-radio>
|
||||
<el-radio border label="女">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="出生年月" prop="birthday">
|
||||
<el-date-picker
|
||||
v-model="formData.birthday"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="民族" prop="nation">
|
||||
<dict-select v-model="formData.nation" style="width: 100%"
|
||||
placeholder="请选择民族"
|
||||
code="USER_NATION"></dict-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="政治面貌" prop="political">
|
||||
<el-input maxlength="100" placeholder="政治面貌"
|
||||
v-model="formData.political"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属工会">
|
||||
<el-input
|
||||
v-model="formData.unionName"
|
||||
readonly
|
||||
placeholder="请输入所属工会"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属单位">
|
||||
<el-input
|
||||
v-model="formData.unitName"
|
||||
readonly
|
||||
placeholder="请输入所属单位"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职称" prop="professionalTitle">
|
||||
<dict-select v-model="formData.professionalTitle" style="width: 100%"
|
||||
placeholder="请选择职称"
|
||||
code="technical_title_level"></dict-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否聘用制" prop="employ">
|
||||
<el-radio-group v-model="formData.employ" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否高级职称" prop="seniorTeacher">
|
||||
<el-radio-group v-model="formData.seniorTeacher" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否中级职称及以下" prop="intermediateBelow">
|
||||
<el-radio-group v-model="formData.intermediateBelow" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否干部" prop="cadre">
|
||||
<el-radio-group v-model="formData.cadre" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否工人" prop="worker">
|
||||
<el-radio-group v-model="formData.worker" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="校级领导" prop="schoolLeader">
|
||||
<el-radio-group v-model="formData.schoolLeader" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="中层领导" prop="middleLevelLeader">
|
||||
<el-radio-group v-model="formData.middleLevelLeader" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
|
||||
<h2 class="section-title">基本信息</h3>
|
||||
<div class="form-grid custom-grid">
|
||||
<div class="grid-item">
|
||||
<el-form-item label="姓名" prop="userName">
|
||||
<el-input v-model="formData.userName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="工号" prop="loginName">
|
||||
<el-input v-model="formData.loginName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="性别" prop="sex">
|
||||
<el-radio-group v-model="formData.sex" size="small">
|
||||
<el-radio border label="男">男</el-radio>
|
||||
<el-radio border label="女">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="出生年月" prop="birthday">
|
||||
<el-date-picker
|
||||
v-model="formData.birthday"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="民族" prop="nation">
|
||||
<dict-select v-model="formData.nation" style="width: 100%"
|
||||
placeholder="请选择民族"
|
||||
code="USER_NATION"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="政治面貌" prop="political">
|
||||
<el-input maxlength="100" placeholder="政治面貌"
|
||||
v-model="formData.political"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="所属工会">
|
||||
<el-input
|
||||
v-model="formData.unionName"
|
||||
readonly
|
||||
placeholder="请输入所属工会"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="所属单位">
|
||||
<el-input
|
||||
v-model="formData.unitName"
|
||||
readonly
|
||||
placeholder="请输入所属单位"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="职称" prop="professionalTitle">
|
||||
<dict-select v-model="formData.professionalTitle" style="width: 100%"
|
||||
placeholder="请选择职称"
|
||||
code="technical_title_level"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="是否聘用制" prop="employ">
|
||||
<el-radio-group v-model="formData.employ" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="是否高级职称" prop="seniorTeacher">
|
||||
<el-radio-group v-model="formData.seniorTeacher" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="是否中级职称及以下" prop="intermediateBelow">
|
||||
<el-radio-group v-model="formData.intermediateBelow" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="是否干部" prop="cadre">
|
||||
<el-radio-group v-model="formData.cadre" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="是否工人" prop="worker">
|
||||
<el-radio-group v-model="formData.worker" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="校级领导" prop="schoolLeader">
|
||||
<el-radio-group v-model="formData.schoolLeader" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<el-form-item label="中层领导" prop="middleLevelLeader">
|
||||
<el-radio-group v-model="formData.middleLevelLeader" size="small">
|
||||
<el-radio border :label="true">是</el-radio>
|
||||
<el-radio border :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-grid">
|
||||
|
||||
@@ -206,7 +198,7 @@ const write = {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="formData && ['53ff0c2a-ba93-45e9-a9fd-db51cdab3080','97b0846b-22c6-4d34-9002-a6b67d592944'].includes(formData.taskKey)"
|
||||
<div v-if="!dialog && formData && ['53ff0c2a-ba93-45e9-a9fd-db51cdab3080','97b0846b-22c6-4d34-9002-a6b67d592944'].includes(formData.taskKey)"
|
||||
class="form-actions">
|
||||
<el-button @click="onSave">保存草稿</el-button>
|
||||
<el-button type="primary" @click="onSubmit">提交信息</el-button>
|
||||
@@ -270,7 +262,12 @@ const write = {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
dialog: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -453,7 +450,12 @@ const write = {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: white;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
::v-deep .el-tabs__item {
|
||||
font-size: 18px;/* 填写信息 */
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.header-x .header-left {
|
||||
@@ -544,6 +546,7 @@ const write = {
|
||||
background-color: white;
|
||||
border-radius: 8px;
|
||||
padding: 32px;
|
||||
padding-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
@@ -552,6 +555,7 @@ const write = {
|
||||
background-color: #ebf5ff;
|
||||
padding: 16px;
|
||||
margin-bottom: 32px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.info-box ::v-deep .info-content {
|
||||
@@ -572,6 +576,7 @@ const write = {
|
||||
.info-box .info-content .info-text ::v-deep .info-title {
|
||||
font-weight: 600;
|
||||
margin-bottom: 8px;
|
||||
font-size: 18px; /* 推选信息没用 */
|
||||
}
|
||||
|
||||
.info-box .info-content .info-text ::v-deep .info-desc {
|
||||
@@ -594,7 +599,7 @@ const write = {
|
||||
}
|
||||
|
||||
.form-section ::v-deep .section-title {
|
||||
font-size: 18px;
|
||||
font-size: 18px;/* 基本信息没用 */
|
||||
font-weight: 500;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
@@ -628,6 +633,19 @@ const write = {
|
||||
::v-deep .hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
::v-deep .custom-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 16px;
|
||||
margin: 0 -8px 16px;
|
||||
}
|
||||
|
||||
::v-deep .grid-item {
|
||||
flex: 1 1 calc(50% - 16px);
|
||||
min-width: 200px; /* 防止在窄屏过度压缩 */
|
||||
padding: 0 8px;
|
||||
}
|
||||
`
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -142,8 +142,13 @@ layout("/layouts/platform.html"){
|
||||
<div style="max-height: 75vh;overflow-y: auto">
|
||||
<formal-write ref="formalWriteRef" :is_read="isRead" :user_id="userId"
|
||||
:session_id="pageForm.sessionId"
|
||||
:dialog="true"
|
||||
@refresh="writeDialog=false;doSearch()"></formal-write>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="$refs.formalWriteRef.onSave()">保存草稿</el-button>
|
||||
<el-button type="primary" @click="$refs.formalWriteRef.onSubmit()">提交信息</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@ const PROPOSAL_INFO = {
|
||||
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
||||
:value="viewData.caseFilingResult"></dict-tag>
|
||||
</van-cell>
|
||||
<van-cell title="调研情况" class="direction-column-cell">
|
||||
<!--<van-cell title="调研情况" class="direction-column-cell">
|
||||
<div v-html="viewData.researchFindings"></div>
|
||||
</van-cell>
|
||||
</van-cell>-->
|
||||
<van-cell title="提案案由" class="direction-column-cell">
|
||||
<div v-html="viewData.brief"></div>
|
||||
</van-cell>
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<table-column label="提案类别">{{row.typeName}}</table-column>
|
||||
<table-column label="提案人">{{row.createUserName}}</table-column>
|
||||
<table-column label="代表团">{{row.delegationName}}</table-column>
|
||||
<table-column label="当前节点">{{row.taskName}}</table-column>
|
||||
<table-column label="当前节点">{{ (row.startTaskId) ? row.taskName : '待提交' }}</table-column>
|
||||
</template>
|
||||
<template #actions="{index,row}">
|
||||
<div class="action-btn" @click="onView(row)">
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<div class="action-btn" v-if="!pageForm.approval && $auth.hasRoleOr('SYSADMIN,PROPOSAL_UNIT_LEADER')"
|
||||
@click="openTransfer(row)">
|
||||
<i class="fa fa-arrow-right"></i>
|
||||
<span>转办</span>
|
||||
<span>转交</span>
|
||||
</div>
|
||||
</template>
|
||||
</table-list>
|
||||
|
||||
+3
-3
@@ -270,7 +270,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group title="提案内容" class="form-group">
|
||||
<van-field
|
||||
<!--<van-field
|
||||
v-model="formData.researchFindings"
|
||||
name="researchFindings"
|
||||
label="调研情况"
|
||||
@@ -280,7 +280,7 @@ layout("/layouts/platform_h5.html"){
|
||||
placeholder="请输入调研情况"
|
||||
:rules="[{ required: true, message: '请填写调研情况' }]"
|
||||
required
|
||||
></van-field>
|
||||
></van-field>-->
|
||||
|
||||
<van-field
|
||||
v-model="formData.brief"
|
||||
@@ -308,7 +308,7 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<!-- 附件上传 -->
|
||||
<van-cell-group title="附件上传" class="form-group">
|
||||
<van-field label="附件" name="files" required class="direction-column-field">
|
||||
<van-field label="附件" name="files" class="direction-column-field">
|
||||
<h5-file-upload
|
||||
slot="input"
|
||||
:value.sync="formData.files"
|
||||
|
||||
@@ -177,13 +177,12 @@ const todo = {
|
||||
|
||||
// 处理任务
|
||||
onView(task) {
|
||||
const {taskId, taskKey, instanceId, businessNo, formKey} = task;
|
||||
this.$toast("暂未开通从当前地址点击查看!");
|
||||
return;
|
||||
if (!formKey) {
|
||||
const {taskId, taskKey, instanceId, businessNo, formKey, h5FormKey} = task;
|
||||
if (!h5FormKey) {
|
||||
this.$toast("当前流程没有配置地址");
|
||||
return;
|
||||
}
|
||||
this.$pjaxReplace(h5FormKey + "?taskId=" + taskId + "bizId=" + businessNo + "taskKey=" + taskKey)
|
||||
},
|
||||
|
||||
// 获取空状态文本
|
||||
|
||||
Reference in New Issue
Block a user