This commit is contained in:
@jyuhsin
2025-12-22 17:05:23 +08:00
parent 5c75104efd
commit 43913ae3a0
9 changed files with 431 additions and 380 deletions
+21 -18
View File
@@ -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">
<!-- 页面内容区域 -->
+23 -20
View File
@@ -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>
<!-- 应用网格 -->
@@ -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,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>
@@ -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">
@@ -59,140 +59,132 @@ const write = {
>
<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>
<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 {
@@ -628,6 +625,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;
}
`
}
@@ -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>