7a2db79b by renchao@pashanhoo.com

Merge branch 'dev'

2 parents e1de1a15 5265bc92
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-15 09:32:40 4 * @LastEditTime: 2024-05-16 09:23:43
5 */ 5 */
6 import request from '@/utils/request' 6 import request from '@/utils/request'
7 import { log } from 'bpmn-js-token-simulation'
8 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
9 /** 8 /**
10 * @description: 添加补录记录 9 * @description: 添加补录记录
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-05-16 09:23:47
5 */
6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
8 /**
9 * @description: 上传电子签名
10 * @param {*} data
11 * @author: renchao
12 */
13 export function dzqmUpload (data) {
14 return request({
15 url: SERVER.SERVERAPI + '/rest/system/dzqm/upload',
16 method: 'post',
17 data
18 })
19 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -21,3 +21,17 @@ export function upload (data) { ...@@ -21,3 +21,17 @@ export function upload (data) {
21 data 21 data
22 }) 22 })
23 } 23 }
24
25 /**
26 * @description: 上传电子签名
27 * @param {*} data
28 * @author: renchao
29 */
30 export function uploaddzqm (data) {
31 return request({
32 url: SERVER.SERVERAPI + '/rest/system/dzqm',
33 method: 'post',
34 data
35 })
36 }
37
......
...@@ -17,49 +17,54 @@ ...@@ -17,49 +17,54 @@
17 }}</span> 17 }}</span>
18 <span style="padding-right: 10px">{{ userInfo.name }}</span> 18 <span style="padding-right: 10px">{{ userInfo.name }}</span>
19 </p> 19 </p>
20 <el-dropdown>
21 <span class="el-dropdown-link">
20 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> 22 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
23 </span>
24 <el-dropdown-menu slot="dropdown">
25 <el-dropdown-item command="user" @click.native="handleGetUser">用户信息</el-dropdown-item>
26 </el-dropdown-menu>
27 </el-dropdown>
21 </div> 28 </div>
22 <svg-icon 29 <svg-icon
23 class="shutdown" 30 class="shutdown"
24 @click.native="logout" 31 @click.native="logout"
25 icon-class="shutdown" 32 icon-class="shutdown" />
26 />
27 </div> 33 </div>
28 </div> 34 </div>
29 <NoticeBar 35 <NoticeBar
30 class="NoticeBar" 36 class="NoticeBar"
31 :noticeList="noticeList" 37 :noticeList="noticeList"
32 v-if="noticeList.length > 0" 38 v-if="noticeList.length > 0" />
33 />
34 </div> 39 </div>
35 </template> 40 </template>
36 <script> 41 <script>
37 import axios from "axios"; 42 import axios from "axios";
38 import Cookies from "js-cookie"; 43 import Cookies from "js-cookie";
39 import { mapGetters } from "vuex"; 44 import { mapGetters } from "vuex";
40 import NoticeBar from "@/components/NoticeBar/index"; 45 import NoticeBar from "@/components/NoticeBar/index";
41 import { getHomeNoticeList } from "@/api/home"; 46 import { getHomeNoticeList } from "@/api/home";
42 import { setToken } from "@/utils/util"; 47 import { setToken } from "@/utils/util";
43 export default { 48 export default {
44 components: { 49 components: {
45 NoticeBar, 50 NoticeBar,
46 }, 51 },
47 computed: { 52 computed: {
48 ...mapGetters(["sidebar", "avatar", "name", "userInfo"]), 53 ...mapGetters(["sidebar", "avatar", "name", "userInfo"]),
49 baseUrl() { 54 baseUrl () {
50 return window._config.baseUrl; 55 return window._config.baseUrl;
51 }, 56 },
52 }, 57 },
53 data() { 58 data () {
54 return { 59 return {
55 logo: require("../../image/bdclogo.png"), 60 logo: require("../../image/bdclogo.png"),
56 noticeList: [], 61 noticeList: [],
57 }; 62 };
58 }, 63 },
59 created() { 64 created () {
60 this.queryNoticeList(); 65 this.queryNoticeList();
61 }, 66 },
62 mounted() { 67 mounted () {
63 let that = this; 68 let that = this;
64 window.addEventListener("message", function (messageEvent) { 69 window.addEventListener("message", function (messageEvent) {
65 if (messageEvent.data.update) { 70 if (messageEvent.data.update) {
...@@ -67,15 +72,23 @@ export default { ...@@ -67,15 +72,23 @@ export default {
67 } 72 }
68 }); 73 });
69 }, 74 },
70 destroyed() { 75 destroyed () {
71 window.removeEventListener("message"); 76 window.removeEventListener("message");
72 }, 77 },
73 methods: { 78 methods: {
79
80 /**
81 * @description: 获取用户信息
82 * @author: renchao
83 */
84 handleGetUser () {
85 this.$popupDialog('用户信息', 'system/userInfo/index', {}, '80%', true);
86 },
74 /** 87 /**
75 * @description: queryNoticeList 88 * @description: queryNoticeList
76 * @author: renchao 89 * @author: renchao
77 */ 90 */
78 queryNoticeList() { 91 queryNoticeList () {
79 getHomeNoticeList().then((res) => { 92 getHomeNoticeList().then((res) => {
80 if (res.result) { 93 if (res.result) {
81 this.noticeList = res.result.noticeList; 94 this.noticeList = res.result.noticeList;
...@@ -86,7 +99,7 @@ export default { ...@@ -86,7 +99,7 @@ export default {
86 * @description: logout 99 * @description: logout
87 * @author: renchao 100 * @author: renchao
88 */ 101 */
89 logout() { 102 logout () {
90 axios 103 axios
91 .post(window._config.services.management + "/management/logout") 104 .post(window._config.services.management + "/management/logout")
92 .then(() => { 105 .then(() => {
...@@ -105,10 +118,10 @@ export default { ...@@ -105,10 +118,10 @@ export default {
105 * @param {*} val 118 * @param {*} val
106 * @author: renchao 119 * @author: renchao
107 */ 120 */
108 themeChange(val) { 121 themeChange (val) {
109 this.$store.dispatch("app/updateTheme", val); 122 this.$store.dispatch("app/updateTheme", val);
110 }, 123 },
111 searchMessageCenter() { 124 searchMessageCenter () {
112 this.$router.push({ name: "messagecenter" }); 125 this.$router.push({ name: "messagecenter" });
113 }, 126 },
114 /** 127 /**
...@@ -116,26 +129,28 @@ export default { ...@@ -116,26 +129,28 @@ export default {
116 * @param {*} command 129 * @param {*} command
117 * @author: renchao 130 * @author: renchao
118 */ 131 */
119 handleCommand(command) { 132 handleCommand (command) {
120 if (command == "a") { 133 if (command == "a") {
121 //个人中心 134 //个人中心
122 this.$router.push({ name: "personal" }); 135 this.$router.push({ name: "personal" });
123 } 136 }
124 }, 137 },
125 }, 138 },
126 }; 139 };
127 </script> 140 </script>
128 <style lang="scss" scoped> 141 <style lang="scss" scoped>
129 .navbar-con { 142 .navbar-con {
130 position: relative; 143 position: relative;
131 } 144 }
132 145 /deep/.el-dropdown {
133 .NoticeBar { 146 height: 32px;
147 }
148 .NoticeBar {
134 position: absolute; 149 position: absolute;
135 bottom: 0; 150 bottom: 0;
136 } 151 }
137 152
138 .el-dropdown-menu { 153 .el-dropdown-menu {
139 padding: 0 !important; 154 padding: 0 !important;
140 border: 1px solid #ebeef5; 155 border: 1px solid #ebeef5;
141 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 156 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
...@@ -168,9 +183,9 @@ export default { ...@@ -168,9 +183,9 @@ export default {
168 background: #f6f7f9; 183 background: #f6f7f9;
169 color: #4a4a4a; 184 color: #4a4a4a;
170 } 185 }
171 } 186 }
172 187
173 .navbar { 188 .navbar {
174 height: $headerHeight; 189 height: $headerHeight;
175 overflow: hidden; 190 overflow: hidden;
176 position: relative; 191 position: relative;
...@@ -321,5 +336,5 @@ export default { ...@@ -321,5 +336,5 @@ export default {
321 } 336 }
322 } 337 }
323 } 338 }
324 } 339 }
325 </style> 340 </style>
......
1 <template>
2 <div class="from-clues">
3 <!-- 表单部分 -->
4 <div class="from-clues-header">
5 <el-form :model="ruleForm" label-width="100px">
6 <el-row>
7 <el-col :span="6">
8 <el-form-item label="用户名称:">
9 {{ruleForm.name}}
10 </el-form-item>
11 </el-col>
12 <el-col :span="6">
13 <el-form-item label="组织机构:">
14 {{ruleForm.organizationName}}
15 </el-form-item>
16 </el-col>
17 <el-col :span="6">
18 <el-form-item label="部门:">
19 {{ruleForm.departmentName}}
20 </el-form-item>
21 </el-col>
22 </el-row>
23 <el-row>
24 <el-col :span="24">
25 <el-form-item label="签名路径:">
26 <img :src="ruleForm.dzqmurl" class="signature-image">
27 </el-form-item>
28 </el-col>
29 </el-row>
30 </el-form>
31 </div>
32
33 <el-upload
34 class="upload-demo"
35 action=""
36 :limit="1"
37 multiple
38 :key="key"
39 :auto-upload="false"
40 accept=".jpg, .png, .jpeg"
41 :on-change="handleChange"
42 :before-upload="beforeUpload"
43 :show-file-list="false"
44 drag>
45 <i class="el-icon-upload"></i>
46 <div class="el-upload__text">将图片拖到此处,或<em>点击上传</em></div>
47 <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过5MB</div>
48 </el-upload>
49 <!-- 表格 -->
50 </div>
51 </template>
52 <script>
53 import { dzqmUpload } from '@/api/dzqm'
54 import { getUserInfo } from '@/api/user'
55 export default {
56 name: "dzqm",
57 data () {
58 return {
59 ruleForm: {},
60 key: 0,
61 }
62 },
63 mounted () {
64 this.getUserInfo()
65 },
66 methods: {
67 async getUserInfo () {
68 let res = await getUserInfo()
69 this.ruleForm = res.result
70 },
71 beforeUpload (file) {
72 this.files = file;
73 const allowedExtensions = ['jpg', 'jpeg', 'png'];
74 const maxFileSizeMB = 5;
75
76 const extension = allowedExtensions.includes(file.name.split('.').pop().toLowerCase());
77 const isLt5M = file.size / 1024 / 1024 < maxFileSizeMB;
78
79 if (!extension) {
80 this.$message.warning('上传模板只能是 jpg、jpeg、png 格式!');
81 } else if (!isLt5M) {
82 this.$message.warning(`上传模板大小不能超过 ${maxFileSizeMB}MB!`);
83 }
84
85 return extension && isLt5M;
86 },
87 async handleChange (file) {
88 var formdata = new FormData();
89 formdata.append("file", file.raw);
90 dzqmUpload(formdata).then(res => {
91 if (res.code == 200) {
92 this.$message({
93 message: '上传成功!',
94 type: 'success'
95 })
96 this.key++
97 this.ruleForm.dzqmurl = res.message
98 }
99 })
100 }
101 }
102 };
103 </script>
104 <style scoped lang="scss">
105 @import "~@/styles/public.scss";
106 .signature-image {
107 width: 100%;
108 max-height: 360px;
109 object-fit: contain;
110 }
111 </style>
112
...\ No newline at end of file ...\ No newline at end of file
...@@ -50,6 +50,14 @@ class data extends filter { ...@@ -50,6 +50,14 @@ class data extends filter {
50 // } 50 // }
51 // }, 51 // },
52 { 52 {
53 label: "流程状态",
54 width: '80',
55 render: (h, scope) => {
56 return <div >完结</div>
57 }
58 },
59
60 {
53 label: "业务号", 61 label: "业务号",
54 width: '110', 62 width: '110',
55 render: (h, scope) => { 63 render: (h, scope) => {
......