فهرست منبع

815功能调整

wangqiang 1 سال پیش
والد
کامیت
81c9899073

+ 12 - 3
src/layout/components/userbar.vue

@@ -103,7 +103,8 @@ export default {
 			msg: false,
 			searchVisible: false,
 			msgList: [],
-			backlogCount: 0
+			// backlogCount: 0,
+			receivedValue: ''
 		};
 	},
 	async created() {
@@ -121,6 +122,7 @@ export default {
 		this.fetchBacklogCount();
 		const fetchInterval = 30000;
 		this.fetchIntervalId = setInterval(this.fetchBacklogCount, fetchInterval);
+		// 在页面创建时获取共享值
 	},
 	beforeDestroy() {
 		clearInterval(this.fetchIntervalId);
@@ -130,6 +132,9 @@ export default {
 		search,
 	},
 	computed: {
+		backlogCount(){
+			return this.$store.state.global.backlogCount
+		},
 		language() {
 			var t = this.$store.state.global.language;
 			switch (t) {
@@ -146,7 +151,8 @@ export default {
 	methods: {
 		async fetchBacklogCount() {
 			const data = await taskService.todoList({ current: 1, size: 10 });
-			this.backlogCount = data.total;
+			// this.backlogCount = data.total;
+			this.$store.state.global.backlogCount = data.total
 		},
 		//个人信息
 		handleUser(command) {
@@ -224,7 +230,10 @@ export default {
 		},
 		backlogClick () {
 			this.$router.push({
-				path: '/flowable/task/TodoList',
+				path: '/sys/dashboard/workBench/PendingList',
+				query: {
+					num: 3
+				}
 			})
 		},
 	},

+ 4 - 0
src/store/modules/global.js

@@ -1,6 +1,7 @@
 import tool from "@/utils/tool";
 export default {
 	state: {
+		backlogCount : 0,
 		//移动端布局
 		ismobile: false,
 		//布局
@@ -24,6 +25,9 @@ export default {
 		languageMap: new Map(),
 	},
 	mutations: {
+		SET_backlogCount(state, key) {
+			state.backlogCount = key;
+		},
 		SET_ismobile(state, key) {
 			state.ismobile = key;
 		},

+ 2 - 2
src/views/cw/workClientInfo/WorkClientChooseRadio.vue

@@ -89,8 +89,8 @@
 <!--    </span>-->
 		<template #footer>
 			<span class="dialog-footer">
-				<el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-			<el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+				<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+			<el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
 			</span>
 		</template>
     </el-dialog>

+ 2 - 2
src/views/cw/workContract/contractRegisitionAddForm/ContractAddForm.vue

@@ -333,8 +333,8 @@
     <WorkClientForm ref="workClientForm"></WorkClientForm>
 		<template #footer>
 			<span class="dialog-footer">
-				<el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
-      			<el-button size="small" v-if="method !== 'view'" type="primary" icon="el-icon-circle-check" @click="doSubmit()">确定</el-button>
+				<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+      			<el-button v-if="method !== 'view'" type="primary" icon="el-icon-circle-check" @click="doSubmit()">确定</el-button>
 			</span>
 		</template>
     </el-dialog>

+ 11 - 2
src/views/dashboard/widgets/components/TodoList.vue

@@ -3,7 +3,7 @@
 		<template #header>
 			<div class="card-header">
 				<span>我的待办
-				<el-badge class="mark" v-if="tablePage.total !== 0" :value="tablePage.total" :max="99" style="line-height: 0;margin-top: 8px"/>
+				<el-badge class="mark" v-if="backlogCount !== 0" :value="backlogCount" :max="99" style="line-height: 0;margin-top: 8px"/>
 				</span>
 
 				<div style="float:right;">
@@ -189,6 +189,11 @@
 				timer: null,
 			};
 		},
+		computed:{
+			backlogCount(){
+				return this.$store.state.global.backlogCount
+			},
+		},
 		mounted() {
 
 			// 页面加载后
@@ -246,6 +251,7 @@
 					.then((data) => {
 						this.dataList = data.records;
 						this.tablePage.total = data.total;
+						this.$store.state.global.backlogCount = data.total
 						this.loading = false;
 					});
 			},
@@ -297,7 +303,10 @@
 			toPendingList () {
 				// this.$router.push('./PendingList')
 				this.$router.push({
-					path: '/flowable/task/TodoList',
+					path: '/sys/dashboard/workBench/PendingList',
+					query: {
+						num: 3
+					}
 				})
 			},
 			trace(row) {

+ 7 - 6
src/views/dashboard/widgets/index.vue

@@ -215,12 +215,13 @@ export default {
 	},
 	created() {
 		deskService.getGridInfo().then((data) => {
-			if (data.grid) {
-				this.grid = JSON.parse(data.grid);
-			} else {
-				// this.grid = this.$TOOL.data.get("grid") || JSON.parse(JSON.stringify(this.defaultGrid))
-				this.grid = JSON.parse(JSON.stringify(this.defaultGrid));
-			}
+			this.grid = JSON.parse(JSON.stringify(this.defaultGrid));
+			// if (data.grid) {
+			// 	this.grid = JSON.parse(data.grid);
+			// } else {
+			// 	// this.grid = this.$TOOL.data.get("grid") || JSON.parse(JSON.stringify(this.defaultGrid))
+			// 	this.grid = JSON.parse(JSON.stringify(this.defaultGrid));
+			// }
 		});
 	},
 	mounted() {

+ 3 - 0
src/views/flowable/task/ApplyList.vue

@@ -222,6 +222,9 @@ export default {
 			processPhotoUrl: "",
 		};
 	},
+	created () {
+		this.refreshList()
+	},
 	mounted() {
 		this.$nextTick(() => {
 			// 将表格和工具栏进行关联

+ 3 - 0
src/views/flowable/task/HistoryList.vue

@@ -167,6 +167,9 @@ export default {
 			visible: false,
 		};
 	},
+	created () {
+		this.refreshList()
+	},
 	mounted() {
 		this.$nextTick(() => {
 			// 将表格和工具栏进行关联

+ 5 - 0
src/views/flowable/task/TodoList.vue

@@ -214,6 +214,11 @@ export default {
 				this.searchForm.endDate = "";
 			}
 		},
+		index (index) {
+			if (index === this.i) {
+				this.refreshList()
+			}
+		}
 	},
 	methods: {
 		// 获取数据列表

+ 229 - 0
src/views/home/components/MyNotifyList2.vue

@@ -0,0 +1,229 @@
+<template>
+	<el-card class="box-card">
+		<template #header>
+			<div class="card-header">
+				<span>公告</span>
+				<div style="float:right;">
+					<el-button type="text" @click="toPendingList()">查看更多</el-button>
+				</div>
+			</div>
+		</template>
+		<div style="height: 250px;margin-top: 5px">
+			<vxe-table
+				border="inner"
+				auto-resize
+				resizable
+				:loading="loading"
+				size="small"
+				ref="notifyTable"
+				show-header-overflow
+				show-overflow
+				highlight-hover-row
+				:menu-config="{}"
+				:print-config="{}"
+				:import-config="{}"
+				:export-config="{}"
+				@sort-change="sortChangeHandle"
+				:sort-config="{remote:true}"
+				:data="dataList"
+				:checkbox-config="{}">
+				<vxe-column title="标题" prop="title">
+					<template #default="scope">
+						<el-link
+							type="primary"
+							:underline="false"
+							@click="view(scope.row.id)"
+						>{{ scope.row.title }}</el-link
+						>
+					</template>
+				</vxe-column>
+				<vxe-column title="类型" prop="type">
+					<template #default="scope">
+						{{
+						$dictUtils.getDictLabel(
+						"oa_notify_type",
+						scope.row.type,
+						"-"
+						)
+						}}
+					</template>
+				</vxe-column>
+				<vxe-column
+					title="内容"
+					field="content"
+				></vxe-column>
+				<vxe-column show-overflow-tooltip title="附件" prop="files">
+					<template #default="scope">
+						<el-link
+							:href="item"
+							target="_blank"
+							:key="index"
+							style="margin-right: 8px"
+							v-for="(item, index) in (scope.row.files || '').split(
+							','
+						)"
+						>
+							<el-tag v-if="item">
+								{{
+								decodeURIComponent(
+								item.substring(
+								item.lastIndexOf("&name=") + 6
+								)
+								)
+								}}</el-tag
+							>
+						</el-link>
+					</template>
+				</vxe-column>
+
+				<vxe-column title="查阅状态" prop="status">
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.readFlag === '1'">
+							{{
+							$dictUtils.getDictLabel(
+							"oa_notify_read",
+							scope.row.readFlag,
+							"-"
+							)
+							}}</el-tag
+						>
+						<el-tag type="danger" v-if="scope.row.readFlag === '0'">
+							{{
+							$dictUtils.getDictLabel(
+							"oa_notify_read",
+							scope.row.readFlag,
+							"-"
+							)
+							}}</el-tag
+						>
+					</template>
+				</vxe-column>
+				<vxe-column
+					title="发布者"
+					field="createBy.name"
+				></vxe-column>
+				<vxe-column
+					title="操作"
+					fixed="right"
+					align="center"
+				>
+					<template #default="scope">
+						<el-button
+							type="primary"
+							text
+							icon="view-filled"
+							@click="view(scope.row.id)"
+						>查看</el-button
+						>
+					</template>
+				</vxe-column>
+			</vxe-table>
+			<vxe-pager
+				background
+				size="small"
+				:current-page="tablePage.currentPage"
+				:page-size="tablePage.pageSize"
+				:total="tablePage.total"
+				:page-sizes="[
+				10,
+				20,
+				100,
+				1000,
+				{ label: '全量数据', value: 1000000 },
+			]"
+				:layouts="[
+				'PrevPage',
+				'JumpNumber',
+				'NextPage',
+				'FullJump',
+				'Sizes',
+				'Total',
+			]"
+				@page-change="currentChangeHandle"
+			>
+			</vxe-pager>
+		</div>
+	</el-card>
+	<NotifyForm ref="notifyForm" @refreshDataList="refreshList"></NotifyForm>
+</template>
+
+<script>
+	import NotifyForm from "@/views/notify/NotifyForm.vue";
+	import notifyService from "@/api/notify/notifyService";
+	export default {
+		components: {
+			NotifyForm,
+		},
+		data() {
+			return {
+				dataList: [],
+				tablePage: {
+					total: 0,
+					currentPage: 1,
+					pageSize: 10,
+					orders: [],
+				},
+				loading: false,
+			};
+		},
+		mounted() {
+			this.refreshList();
+		},
+
+		activated() {
+			this.refreshList();
+		},
+		methods: {
+			// 获取数据列表
+			refreshList() {
+				this.loading = true;
+				notifyService
+					.list({
+						current: this.tablePage.currentPage,
+						size: this.tablePage.pageSize,
+						orders: this.tablePage.orders,
+						isSelf: true,
+						...this.searchForm,
+					})
+					.then((data) => {
+						this.dataList = data.records;
+						this.tablePage.total = data.total;
+						this.loading = false;
+					});
+			},
+			// 当前页
+			currentChangeHandle({ currentPage, pageSize }) {
+				this.tablePage.currentPage = currentPage;
+				this.tablePage.pageSize = pageSize;
+				this.refreshList();
+			},
+			// 排序
+			sortChangeHandle(column) {
+				this.tablePage.orders = [];
+				if (column.order != null) {
+					this.tablePage.orders.push({
+						column: this.$utils.toLine(column.property),
+						asc: column.order === "asc",
+					});
+				}
+				this.refreshList();
+			},
+			// 查看
+			view(id) {
+				this.$refs.notifyForm.init("read", id);
+			},
+			resetSearch() {
+				this.$refs.searchForm.resetFields();
+				this.refreshList();
+			},
+			toPendingList () {
+				this.$router.push('/notify/MyNotifyList')
+			},
+		},
+	};
+</script>
+<style scoped>
+	.box-card {
+		height: 100%;
+	}
+</style>

+ 11 - 2
src/views/home/components/TodoList2.vue

@@ -3,7 +3,7 @@
 		<template #header>
 			<div class="card-header">
 				<span>我的待办
-				<el-badge class="mark" v-if="tablePage.total !== 0" :value="tablePage.total" :max="99" style="line-height: 0;margin-top: 8px"/>
+				<el-badge class="mark" v-if="backlogCount !== 0" :value="backlogCount" :max="99" style="line-height: 0;margin-top: 8px"/>
 				</span>
 				<div style="float:right;">
 					<el-button type="text" @click="refreshList()">刷新</el-button>
@@ -112,6 +112,11 @@
 				timer: null,
 			};
 		},
+		computed:{
+			backlogCount(){
+				return this.$store.state.global.backlogCount
+			},
+		},
 		mounted() {
 			// 页面加载后
 			// 1.在执行定时器前先执行一次获取接口数据的操作函数, 否则接口会1秒钟后才调用
@@ -163,6 +168,7 @@
 						this.dataList = data.records;
 						this.tablePage.total = data.total;
 						this.loading = false;
+						this.$store.state.global.backlogCount = data.total
 					});
 			},
 			// 当前页
@@ -213,7 +219,10 @@
 			toPendingList () {
 				// this.$router.push('./PendingList')
 				this.$router.push({
-					path: '/flowable/task/TodoList',
+					path: '/sys/dashboard/workBench/PendingList',
+					query: {
+						num: 3
+					}
 				})
 			},
 			trace(row) {

+ 8 - 3
src/views/home/index.vue

@@ -19,7 +19,10 @@
 					</div>
 				</el-col>
 				<el-col class="panel" :span="24">
-					<Announcement />
+<!--					<Announcement />-->
+					<div style="max-height: 50%; margin-top: 3px">
+						<MyNotifyList2 />
+					</div>
 				</el-col>
 			</el-row>
 		</div>
@@ -36,9 +39,10 @@ import RecentlyVisited from "./components/recently-visited.vue";
 import QuickOperation from "./components/quick-operation.vue";
 
 // import TodoList from './components/todoList.vue'
-import Announcement from "./components/announcement.vue";
+// import Announcement from "./components/announcement.vue";
 import TodoList2 from "./components/TodoList2.vue";
 import MyNoticePageList2 from "./components/MyNoticePageList2.vue";
+import MyNotifyList2 from "./components/MyNotifyList2";
 import Carousel from "./components/carousel.vue";
 import Docs from "./components/docs.vue";
 import Wx from "./components/wx.vue";
@@ -58,9 +62,10 @@ export default {
 		CateforiesPercent,
 		RecentlyVisited,
 		QuickOperation,
-		Announcement,
+		// Announcement,
 		TodoList2,
 		MyNoticePageList2,
+		MyNotifyList2,
 		Carousel,
 		Docs,
 		Wx,

+ 3 - 3
src/views/materialManagement/wareHouse/WareHouseUpdateForm.vue

@@ -264,9 +264,9 @@
 				</vxe-table-column>
 				<vxe-table-column align="center" fixed="right" title="操作" width="250px">
 					<template v-slot="scope">
-						<vxe-button size="small" status="primary"  @click="updateWareHouse(scope.$rowIndex)">修改</vxe-button>
-						<vxe-button size="small" status="primary"  @click="sss2(scope.$rowIndex)">上传附件</vxe-button>
-						<vxe-button size="small" status="danger"  @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</vxe-button>
+						<el-button size="small" type="primary"  @click="updateWareHouse(scope.$rowIndex)">修改</el-button>
+						<el-button size="small" type="primary"  @click="sss2(scope.$rowIndex)">上传附件</el-button>
+						<el-button size="small" type="danger"  @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
 					</template>
 				</vxe-table-column>
 			</vxe-table>

+ 53 - 0
src/views/sys/dashboard/workBench/PendingList.vue

@@ -0,0 +1,53 @@
+<template>
+	<div class="el-scrollbar__wrap wrap-white padding-20">
+		<el-tabs v-model="activeName">
+			<el-tab-pane label="待办事项" name="todoList" style="height: calc(100vh - 210px)" lazy>
+				<todo-list
+					i="todoList"
+					:index="activeName"
+					:num="num"
+				/>
+			</el-tab-pane>
+			<el-tab-pane label="已办" name="historyList" style="height: calc(100vh - 210px)" lazy>
+				<history-list
+					i="historyList"
+					:index="activeName"
+				/>
+			</el-tab-pane>
+			<el-tab-pane label="我发起的" name="applyList" style="height: calc(100vh - 210px)" lazy>
+				<apply-list
+					i="applyList"
+					:index="activeName"
+				/>
+			</el-tab-pane>
+		</el-tabs>
+	</div>
+</template>
+<script>
+  import todoList from '../../../flowable/task/TodoList'
+  import historyList from '../../../flowable/task/HistoryList'
+  import applyList from '../../../flowable/task/ApplyList'
+
+  export default {
+    components: {
+      todoList,
+      historyList,
+      applyList
+    },
+    data () {
+      // eslint-disable-next-line no-unused-expressions,no-unused-vars
+      var num = this.$route.query.num
+      return {
+        activeName: 'todoList',
+        num: num
+      }
+    },
+    created () {
+      if (this.$route.query.activeName) {
+        this.activeName = this.$route.query.activeName
+      }
+    },
+    methods: {
+    }
+  }
+</script>

+ 17 - 17
src/views/sys/mould/SerialnumTplForm.vue

@@ -112,8 +112,8 @@
         >
 
           <vxe-table-column field="type" title="变量名称" :edit-render="{name: '$select', options: $dictUtils.getDictList('variable_type')}">
-            <template v-slot:edit="scope" >
-              <vxe-select v-model="scope.row.type" @input="variableValue(scope.row, scope.row.type)" transfer>
+            <template #edit="scope" >
+              <vxe-select v-model="scope.row.type" @change="variableValue(scope.row, scope.row.type)" transfer>
                 <vxe-option
                   v-for="item in $dictUtils.getDictList('variable_type')"
                   :key="item.value"
@@ -124,7 +124,7 @@
             </template>
           </vxe-table-column>
           <vxe-table-column field="value" title="变量值" :edit-render="{}">
-            <template v-slot:edit="scope">
+            <template #edit="scope">
               <el-input :disabled="scope.row.showType" v-model="scope.row.value" ></el-input>
             </template>
           </vxe-table-column>
@@ -342,40 +342,40 @@
         list.forEach(obj => {
         	console.log('obj', obj)
           // 公司简称
-          if (obj.row.type === '1') {
+          if (obj.type === '1') {
             i = i + '{spnm}'
           }
           // 分公司简称
-          if (obj.row.type === '2') {
+          if (obj.type === '2') {
             i = i + '{brspnm}'
           }
           // 固定字符、业务类型、业务类型代码、业务类型的字
-          if (obj.row.type === '3' || obj.row.type === '4' || obj.row.type === '5' || obj.row.type === '6') {
-            i = i + obj.row.value
-            j = j + obj.row.value
+          if (obj.type === '3' || obj.type === '4' || obj.type === '5' || obj.type === '6') {
+            i = i + obj.value
+            j = j + obj.value
           }
           // 年度
-          if (obj.row.type === '7') {
+          if (obj.type === '7') {
             i = i + '{year}'
-            j = j + obj.row.value
+            j = j + obj.value
           }
           // 流水号
-          if (obj.row.type === '8') {
+          if (obj.type === '8') {
             i = i + '{serialNum}'
-            j = j + obj.row.value
+            j = j + obj.value
           }
           // 月度
-          if (obj.row.type === '9') {
+          if (obj.type === '9') {
             i = i + '{month}'
-            j = j + obj.row.value
+            j = j + obj.value
           }
           // 日期
-          if (obj.row.type === '10') {
+          if (obj.type === '10') {
             i = i + '{day}'
-            j = j + obj.row.value
+            j = j + obj.value
           }
           // 公司简称
-          if (obj.row.type === '11') {
+          if (obj.type === '11') {
             i = i + '{replacement}'
           }
         })