liranlong 4 天之前
父节点
当前提交
9d221263f0

+ 9 - 27
components/myTable/myTable.vue

@@ -1,10 +1,10 @@
 <template>
-	<uni-table ref="table" :loading="loading" stripe emptyText="暂无更多数据">
+	<uni-table :loading="loading" stripe emptyText="暂无更多数据">
 		<uni-tr>
 			<uni-th align="center">
 				<image src="../../static/tip.svg" style="width: 35rpx;height: 35rpx;"></image>
 			</uni-th>
-			<uni-th v-for="(item, index) in column" :key="index" align="center">{{item}}</uni-th>
+			<uni-th v-for="(item, index) in column" :key="index" align="center">{{item.title}}</uni-th>
 		</uni-tr>
 		<uni-tr v-for="(item, index) in tableData" :key="index">
 			<uni-td align="center">
@@ -17,11 +17,15 @@
 				}"
 				></view>
 			</uni-td>
-			<uni-td align="center" v-for="(val,key,idx) in item" :key="idx">{{ val }}</uni-td>
+			<template v-for="(it, i) in column" :key="i">
+				<uni-td align="center" v-for="(val,key,idx) in item" :key="idx" v-show="it.key === key">
+					<text v-if="it.formatter">{{ it.formatter(item[it.key]) }}</text>
+					<text v-else>{{ item[it.key] }}</text>
+				</uni-td>
+			</template>
 			<uni-td align="center" width="180">
 				<view class="uni-group">
-					<button class="uni-button" size="mini" type="primary" @click="handleBL(item)">办理</button>
-					<button class="uni-button" size="mini" type="warn" @click="handleDel(item)">删除</button>
+					<slot name="action" :row="item" :blUrl="props.blUrl"></slot>
 				</view>
 			</uni-td>
 		</uni-tr>
@@ -66,31 +70,9 @@
 		}
 	})
 	
-	const table = ref()
-	
-	
 	function change(e){
 		emits('pageChange', e.current)
 	}
-	
-	function handleBL(item){
-		uni.reLaunch({
-			url: props.blUrl + '&name=' + item.name
-		})
-	}
-	
-	function handleDel(item){
-		uni.showModal({
-			title: "提示",
-			content: "再次确认是否删除",
-			confirmColor: "#ff1919",
-			success: (e)=>{
-				if(e.confirm){
-					console.log(item);
-				}
-			}
-		})
-	}
 </script>
 
 <style lang="scss" scope>

+ 6 - 6
pages.json

@@ -4,14 +4,14 @@
 			"path": "pages/login/login",
 			"style": {
 				"navigationBarTitleText": "登录",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{
 			"path": "pages/handleFile/handleFile",
 			"style": {
 				"navigationBarTitleText": "办文",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{
@@ -19,7 +19,7 @@
 			"style" : 
 			{
 				"navigationBarTitleText" : "办会",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{
@@ -27,7 +27,7 @@
 			"style" : 
 			{
 				"navigationBarTitleText" : "数字住建",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{
@@ -35,7 +35,7 @@
 			"style" : 
 			{
 				"navigationBarTitleText" : "通知文件",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{
@@ -43,7 +43,7 @@
 			"style" : 
 			{
 				"navigationBarTitleText" : "我的",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		},
 		{

+ 120 - 49
pages/digitalHousing/digitalHousing.vue

@@ -1,98 +1,169 @@
 <template>
 	<scroll-view>
 		<view class="overview content">
-			<view class="part">
-				<view class="card" v-for="(item,index) in cardList" :key="index" :style="{'background-color':item.color}">
-					<view>
-						<image :src="item.icon" mode="scaleToFill"></image>
-					</view>
-					<view>
-						<view>{{item.text}}</view>
-						<view style="margin-top: 20rpx;font-size: 50rpx;font-weight:600">{{item.value}} 件</view>
+			<scroll-view scroll-x="true">
+				<view class="part">
+					<view class="card" v-for="(item,index) in cardList" :key="index" :style="{'background-color':item.bgcColor}">
+						<view>
+							<image :src="item.icon" mode="scaleToFill"></image>
+						</view>
+						<view>
+							<view>{{item.CNAME}}</view>
+							<view style="margin-top: 20rpx;font-size: 50rpx;font-weight:600">{{item.TODOCOUNT}} 件</view>
+						</view>
 					</view>
 				</view>
-			</view>
+			</scroll-view>
 			<view class="other">
 				<button type="primary" @click="link1">住建一张图</button>
 				<button type="primary" @click="link2">数据分析平台</button>
 			</view>
 		</view>
 		<scroll-view class="tableList content">
-			<myTable :column="column" :tableData="tableData"></myTable>
+			<myTable 
+			:column="column" 
+			:tableData="tableData"
+			:pageCurrent="pageCurrent"
+			:pageSize="pageSize"
+			:total="total"
+			blUrl="/pages/information/information?url=/pages/digitalHousing/digitalHousing"
+			>
+				<template #action="{row, blUrl}">
+					<button class="uni-button" size="mini" type="primary" @click="handleBL(row, blUrl)">办理</button>
+				</template>
+			</myTable>
 		</scroll-view>
 	</scroll-view>
 </template>
 
 <script setup>
 	import {ref} from "vue"
+	import { onReady, onShow } from "@dcloudio/uni-app"
+	import { ApiRequest } from "@/utils/request.js"
 	
 	const cardList = ref([
 		{
 			icon: "../../static/digitalIcon/u1.svg",
-			text: "党建工作",
-			color: "#cfe8f5",
-			value: 0
+			CNAME: "党建工作",
+			bgcColor: "#cfe8f5",
+			TODOCOUNT: 0
 		},
 		{
 			icon: "../../static/digitalIcon/u2.svg",
-			text: "公文办理",
-			color: "#cfe8f5",
-			value: 5
+			CNAME: "公文办理",
+			bgcColor: "#cfe8f5",
+			TODOCOUNT: 5
 		},
 		{
 			icon: "../../static/digitalIcon/u3.svg",
-			text: "业务办理",
-			color: "#cfe8f5",
-			value: 0
+			CNAME: "业务办理",
+			bgcColor: "#cfe8f5",
+			TODOCOUNT: 0
 		},
 		{
 			icon: "../../static/digitalIcon/u4.svg",
-			text: "数字住建",
-			color: "#ffeccf",
-			value: 0
+			CNAME: "数字住建",
+			bgcColor: "#ffeccf",
+			TODOCOUNT: 0
 		},
 		{
 			icon: "../../static/digitalIcon/u5.svg",
-			text: "政务管理",
-			color: "#eae9f7",
-			value: 1
+			CNAME: "政务管理",
+			bgcColor: "#eae9f7",
+			TODOCOUNT: 1
 		},
 		{
 			icon: "../../static/digitalIcon/u6.svg",
-			text: "监察督办",
-			color: "#eae9f7",
-			value: 0
+			CNAME: "监察督办",
+			bgcColor: "#eae9f7",
+			TODOCOUNT: 0
 		}
 	])
-	const column = ref(["紧急程度", "公文种类", "标题", "操作"])
-	const tableData = ref([
+	const pageCurrent = ref(1)
+	const pageSize = ref(15)
+	const total = ref(0)
+	const column = ref([
+		{
+			title:"紧急程度",
+			key:"JJCD"
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"TITLE"
+		},
 		{
-			"date": "紧急",
-			"name": "Dcloud1",
-			"address": "上海市普陀区金沙江路 1518 弄"
-		}, {
-			"date": "紧急",
-			"name": "Dcloud2",
-			"address": "上海市普陀区金沙江路 1517 弄"
-		}, {
-			"date": "紧急",
-			"name": "Dcloud3",
-			"address": "上海市普陀区金沙江路 1519 弄"
-		}, {
-			"date": "紧急",
-			"name": "Dcloud4",
-			"address": "上海市普陀区金沙江路 1516 弄"
+			title:"操作",
+			key:"action"
 		}
 	])
+	const tableData = ref([])
 	
 	function link1() {
-		console.log(123)
+		console.log(123+'一张图')
 	}
 	
 	function link2() {
-		console.log(4562)
+		console.log(456+'分析平台')
+	}
+	
+	//加载顶部卡片
+	function loadCard(){
+		ApiRequest({
+			url: '/g2work/routeinfo/queryDataToDoFlowRouteCountDesktopByUseridGroup',
+			method: 'POST',
+			data:{
+				userid:uni.getStorageSync('GlWorkPlatform-userid')
+			}
+		}).then(res=>{
+			if(res.code === 0 && res.success){
+				cardList.value = res.data.map((item,index)=>{
+					return{
+						icon: `../../static/digitalIcon/u${index > 5 ? index - 5 : index + 1}.svg`,
+						CNAME: item.CNAME,
+						TODOCOUNT: item.TODOCOUNT,
+						bgcColor: index < 3 ? '#cfe8f5' : index===3 ? '#ffeccf': '#eae9f7'
+					}
+				})
+			}
+		})
+	}
+	
+	function getTableList(pageno){
+		ApiRequest({
+			url: '/g2work/routeinfo/queryDataTodoWithPage',
+			method: 'POST',
+			data:{
+				pageno: pageno || pageCurrent.value,
+				pagesize: pageSize.value,
+				userid: uni.getStorageSync('GlWorkPlatform-userid'),
+				querycondition: "[]",
+				ordercondition:  "",
+				flowid: "AA20|AA03|AA10|AA55|AA56|AA57|AA08|AA23|AA77|AA06",
+				columnscondition: '[{"COLID":"JJCD","COLUMNS":"FW_ZSWSXW.JJCD|FW_ZSWPXXW.JJCD|FW_ZB.JJCD|FW_GFXWJXGMRBM.JJCD|FW_WFH.JJCD|FW_SPJ.JJCD|FW_ZRBGHYJY.JJCD|FW_HYJY.JJCD"},{"COLID":"GWZL","COLUMNS":"FW_ZSWSXW.GWZL|FW_ZSWPXXW.GWZL|FW_ZB.GWZL|FW_GWHBGSFW.FWZL|FW_GWHFWGZ.FWZL|FW_GFXWJXGMRBM.GWZL|FW_WFH.GWZL|FW_SPJ.GWZL|FW_ZRBGHYJY.GWZL|FW_HYJY.GWZL"},{"COLID":"FWZH","COLUMNS":"FW_ZSWSXW.FWZH|FW_ZSWPXXW.FWZH|FW_ZB.FWZH|FW_GFXWJXGMRBM.FWZH|FW_WFH.FWZH|FW_SPJ.FWZH|FW_ZRBGHYJY.FWZH|FW_HYJY.FWZH"},{"COLID":"NGRBM","COLUMNS":"FW_ZSWSXW.NGRBM|FW_ZSWPXXW.NGRBM|FW_ZB.NGRBM|FW_GWHBGSFW.NGRBM|FW_GWHFWGZ.NGRBM|FW_GFXWJXGMRBM.NGRBM|FW_WFH.NGRBM|FW_SPJ.NGRBM|FW_ZRBGHYJY.NGRBM|FW_HYJY.NGRBM"},{"COLID":"NGR","COLUMNS":"FW_ZSWSXW.NGR|FW_ZSWPXXW.NGR|FW_ZB.NGR|FW_GWHBGSFW.NGR|FW_GWHFWGZ.NGR|FW_GFXWJXGMRBM.NGR|FW_WFH.NGR|FW_SPJ.NGR|FW_ZRBGHYJY.NGR|FW_HYJY.NGR"}]'
+			}
+		}).then(res=>{
+			if(res.code === 0 && res.success){
+				tableData.value = res.data
+				total.value = res.meta.totalCount
+			}
+		})
+	}
+	
+	function handleBL(row, blUrl){
+		console.log(row);
+		uni.reLaunch({
+			url: blUrl + '&name=' + row.name
+		})
 	}
 	
+	onReady(()=>{
+		loadCard() //加载卡片
+		getTableList()
+	})
 
 	
 </script>
@@ -113,9 +184,9 @@
 		.part{
 			display: flex;
 			flex-direction: row;
-			justify-content: center;
 			.card{
-				width: calc((100vw - 100rpx)/6.5);
+				width: 450rpx;
+				flex-shrink: 0;
 				margin: 10rpx;
 				height: 300rpx;
 				border-radius: 10rpx;

+ 162 - 26
pages/handleFile/handleFile.vue

@@ -2,11 +2,11 @@
 	<scroll-view style="flex:1">
 		<view class="tableTop">
 			<u-subsection bg-color="rgb(215,224,233)" button-color="rgb(0,99,208)" active-color="white" :list="list" @change="subChange"></u-subsection>
-			<view class="operation">
+	<!-- 		<view class="operation">
 				<uni-easyinput placeholder="请输入编号"></uni-easyinput>
 				<u-button type="primary" size="medium" ripple>查询</u-button>
-				<u-button size="medium" ripple>刷新</u-button>
-			</view>
+				<u-button size="medium" ripple @click="getTableList()">刷新</u-button>
+			</view> -->
 		</view>
 		<u-line length="95%" margin="auto" color="#000"/>
 		<myTable
@@ -18,22 +18,124 @@
 			blUrl="/pages/information/information?url=/pages/handleFile/handleFile"
 			@pageChange="pageChange"
 		>
+			<template #action="{row, blUrl}">
+				<button class="uni-button" size="mini" type="primary" @click="handleBL(row, blUrl)">办理</button>
+				<!-- <button class="uni-button" size="mini" type="warn" @click="handleDel(row)">删除</button> -->
+			</template>
 		</myTable>
 	</scroll-view>
 </template>
 
 <script setup>
-	import { ref } from 'vue';
-	import { onReady } from"@dcloudio/uni-app"
+	import { computed, ref } from 'vue';
+	import { onReady, onShow } from"@dcloudio/uni-app"
 	import { ApiRequest } from "@/utils/request.js"
 
 	const list = ref([{name: '待办'}, {name: '已办'}, {name: '办结'}])
-	
-	const currentUrl = ref('/g2work/routeinfo/queryDataTodoWithPage')
+	const s4 = new SM4Util()
+	const currentUrl = ref('')
 	const pageCurrent = ref(1)
 	const pageSize = ref(15)
 	const total = ref(0)
-	const column = ref(["紧急程度", "公文种类", "标题", "发文字号", "主办处室", "是否已阅", "操作"])
+	const jjcdList = ref([])
+	const column = ref([])
+	const column1 = ref([
+		{
+			title:"紧急程度",
+			key:"FW_WFH.JJCDCAPTION"
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"FW_WFH.BT"
+		},
+		{
+			title:"发文字号",
+			key:"FW_WFH.FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"FW_WFH.ZS"
+		},
+		{
+			title:"是否已阅",
+			key:"FW_WFH.SFXYJDCAPTION"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
+	const column2 = ref([
+		{
+			title:"紧急程度",
+			key:"JJCD",
+			formatter: (val)=>{
+				for(let i=0; i<jjcdList.value.length; i++){
+					if(jjcdList.value[i].CODE === val){
+						return jjcdList.value[i].CNAME
+					}
+				}
+			}
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"TITLE"
+		},
+		{
+			title:"发文字号",
+			key:"FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"NGRBM"
+		},
+		{
+			title:"上一节点转办时间",
+			key:"RECEIVEDATE"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
+	const column3 = ref([
+		{
+			title:"紧急程度",
+			key:"JJCD"
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"TITLE"
+		},
+		{
+			title:"发文字号",
+			key:"FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"NGRBM"
+		},
+		{
+			title:"上一节点转办时间",
+			key:"RECEIVEDATE"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
 	const tableData = ref([])
 	
 	//切换页签
@@ -41,23 +143,26 @@
 		pageCurrent.value = 1 //重置当前页码
 		switch (e){
 			case 0: //待办
+				column.value = column1.value
 				currentUrl.value = '/g2work/routeinfo/queryDataTodoWithPage'
-				getTableList('/g2work/routeinfo/queryDataTodoWithPage')
+				getTableList()
 				break;
 			case 1: //已办
+				column.value = column2.value
 				currentUrl.value = '/g2work/routeinfo/queryDataDoneWithPage'
-				getTableList('/g2work/routeinfo/queryDataDoneWithPage')
+				getTableList()
 				break;
 			case 2: //办结
+				column.value = column3.value
 				currentUrl.value = '/g2work/routeinfo/queryDataFinishWithPage'
-				getTableList('/g2work/routeinfo/queryDataFinishWithPage')
+				getTableList()
 				break;
 		}
 	}
 	
-	function getTableList(url, pageno){
+	function getTableList(pageno){
 		ApiRequest({
-			url: url,
+			url: currentUrl.value,
 			method: 'POST',
 			data:{
 				pageno: pageno || pageCurrent.value,
@@ -65,20 +170,12 @@
 				userid: uni.getStorageSync('GlWorkPlatform-userid'),
 				querycondition: "[]",
 				ordercondition:  "",
-				flowid: "AA20|AA03|AA10|AA55|AA56|AA57|AA08|AA23|AA77|AA06"
+				flowid: "AA20|AA03|AA10|AA55|AA56|AA57|AA08|AA23|AA77|AA06",
+				columnscondition: '[{"COLID":"JJCD","COLUMNS":"FW_ZSWSXW.JJCD|FW_ZSWPXXW.JJCD|FW_ZB.JJCD|FW_GFXWJXGMRBM.JJCD|FW_WFH.JJCD|FW_SPJ.JJCD|FW_ZRBGHYJY.JJCD|FW_HYJY.JJCD"},{"COLID":"GWZL","COLUMNS":"FW_ZSWSXW.GWZL|FW_ZSWPXXW.GWZL|FW_ZB.GWZL|FW_GWHBGSFW.FWZL|FW_GWHFWGZ.FWZL|FW_GFXWJXGMRBM.GWZL|FW_WFH.GWZL|FW_SPJ.GWZL|FW_ZRBGHYJY.GWZL|FW_HYJY.GWZL"},{"COLID":"FWZH","COLUMNS":"FW_ZSWSXW.FWZH|FW_ZSWPXXW.FWZH|FW_ZB.FWZH|FW_GFXWJXGMRBM.FWZH|FW_WFH.FWZH|FW_SPJ.FWZH|FW_ZRBGHYJY.FWZH|FW_HYJY.FWZH"},{"COLID":"NGRBM","COLUMNS":"FW_ZSWSXW.NGRBM|FW_ZSWPXXW.NGRBM|FW_ZB.NGRBM|FW_GWHBGSFW.NGRBM|FW_GWHFWGZ.NGRBM|FW_GFXWJXGMRBM.NGRBM|FW_WFH.NGRBM|FW_SPJ.NGRBM|FW_ZRBGHYJY.NGRBM|FW_HYJY.NGRBM"},{"COLID":"NGR","COLUMNS":"FW_ZSWSXW.NGR|FW_ZSWPXXW.NGR|FW_ZB.NGR|FW_GWHBGSFW.NGR|FW_GWHFWGZ.NGR|FW_GFXWJXGMRBM.NGR|FW_WFH.NGR|FW_SPJ.NGR|FW_ZRBGHYJY.NGR|FW_HYJY.NGR"}]'
 			}
 		}).then(res=>{
 			if(res.code === 0 && res.success){
-				tableData.value = res.data.map(item=>{
-					return {
-						'FW_WFH.JJCDCAPTION': item['FW_WFH.JJCDCAPTION'],
-						'FLOWNAME': item['FLOWNAME'],
-						'FW_WFH.BT': item['FW_WFH.BT'],
-						'FW_WFH.FWZH': item['FW_WFH.FWZH'],
-						'FW_WFH.ZS': item['FW_WFH.ZS'],
-						'FW_WFH.SFXYJDCAPTION': item['FW_WFH.SFXYJDCAPTION']
-					}
-				})
+				tableData.value = res.data
 				total.value = res.meta.totalCount
 			}
 		})
@@ -87,11 +184,50 @@
 	//更改页码
 	function pageChange(val){
 		pageCurrent.value = val
-		getTableList(currentUrl.value, val)
+		getTableList(val)
+	}
+	
+	function handleBL(row, blUrl){
+		console.log(row);
+		uni.reLaunch({
+			url: blUrl + '&name=' + row.name
+		})
+	}
+	
+	function handleDel(row){
+		uni.showModal({
+			title: "提示",
+			content: "再次确认是否删除",
+			confirmColor: "#ff1919",
+			success: (e)=>{
+				if(e.confirm){
+					console.log(row);
+				}
+			}
+		})
+	}
+	
+	
+	//获取紧急程度列表
+	function getJJCD(){
+		ApiRequest({
+			url: '/g2app/abase/queryDataCode',
+			method: 'POST',
+			data: {
+				data: s4.encryptData_CBC(JSON.stringify({ckey: "CODE_EMERGENCY", routeinfoid: '0'}))
+			}
+		}).then(obj=>{
+			let res = strToJson(s4.decryptData_CBC(obj.data))
+			if(res.code === 0 && res.success){
+				jjcdList.value = res.data.CODE_EMERGENCY
+				console.log(jjcdList.value);
+			}
+		})
 	}
 	
 	onReady(()=>{
-		getTableList('/g2work/routeinfo/queryDataTodoWithPage')
+		getJJCD() //获取紧急程度列表
+		subChange(0) //获取表格
 	})
 </script>
 

+ 161 - 26
pages/handleMeeting/handleMeeting.vue

@@ -2,11 +2,11 @@
 	<scroll-view style="flex:1">
 		<view class="tableTop">
 			<u-subsection bg-color="rgb(215,224,233)" button-color="rgb(0,99,208)" active-color="white" :list="list" @change="subChange"></u-subsection>
-			<view class="operation">
+	<!-- 		<view class="operation">
 				<uni-easyinput placeholder="请输入编号"></uni-easyinput>
 				<u-button type="primary" size="medium" ripple>查询</u-button>
-				<u-button size="medium" ripple>刷新</u-button>
-			</view>
+				<u-button size="medium" ripple @click="getTableList()">刷新</u-button>
+			</view> -->
 		</view>
 		<u-line length="95%" margin="auto" color="#000"/>
 		<myTable 
@@ -16,22 +16,125 @@
 			:pageSize="pageSize"
 			:total="total"
 			blUrl="/pages/information/information?url=/pages/handleMeeting/handleMeeting"
-		></myTable>
+		>
+			<template #action="{row, blUrl}">
+				<button class="uni-button" size="mini" type="primary" @click="handleBL(row, blUrl)">办理</button>
+				<!-- <button class="uni-button" size="mini" type="warn" @click="handleDel(row)">删除</button> -->
+			</template>
+		</myTable>
 	</scroll-view>
 </template>
 
 <script setup>
 	import { ref } from 'vue';
-	import { onReady } from"@dcloudio/uni-app"
+	import { onReady, onShow } from"@dcloudio/uni-app"
 	import { ApiRequest } from "@/utils/request.js"
 
 	const list = ref([{name: '待办'}, {name: '已办'}, {name: '办结'}])
-	
-	const currentUrl = ref('/g2work/routeinfo/queryDataTodoWithPage')
+	const s4 = new SM4Util()
+	const currentUrl = ref('')
 	const pageCurrent = ref(1)
 	const pageSize = ref(15)
 	const total = ref(0)
-	const column = ref(["紧急程度", "流程名称", "编号", "承办部门", "标题", "会议室", "参会人数", "当前节点", "接收时间", "操作"])
+	const jjcdList = ref([])
+	const column = ref([])
+	const column1 = ref([
+		{
+			title:"紧急程度",
+			key:"FW_WFH.JJCDCAPTION"
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"FW_WFH.BT"
+		},
+		{
+			title:"发文字号",
+			key:"FW_WFH.FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"FW_WFH.ZS"
+		},
+		{
+			title:"是否已阅",
+			key:"FW_WFH.SFXYJDCAPTION"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
+	const column2 = ref([
+		{
+			title:"紧急程度",
+			key:"JJCD",
+			formatter: (val)=>{
+				for(let i=0; i<jjcdList.value.length; i++){
+					if(jjcdList.value[i].CODE === val){
+						return jjcdList.value[i].CNAME
+					}
+				}
+			}
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"TITLE"
+		},
+		{
+			title:"发文字号",
+			key:"FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"NGRBM"
+		},
+		{
+			title:"上一节点转办时间",
+			key:"RECEIVEDATE"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
+	const column3 = ref([
+		{
+			title:"紧急程度",
+			key:"JJCD"
+		},
+		{
+			title:"公文种类",
+			key:"FLOWNAME"
+		},
+		{
+			title:"标题",
+			key:"TITLE"
+		},
+		{
+			title:"发文字号",
+			key:"FWZH"
+		},
+		{
+			title:"主办处室",
+			key:"NGRBM"
+		},
+		{
+			title:"上一节点转办时间",
+			key:"RECEIVEDATE"
+		},
+		{
+			title:"操作",
+			key:"action"
+		}
+	])
 	const tableData = ref([])
 	
 	//切换页签
@@ -39,23 +142,26 @@
 		pageCurrent.value = 1 //重置当前页码
 		switch (e){
 			case 0: //待办
+				column.value = column1.value
 				currentUrl.value = '/g2work/routeinfo/queryDataTodoWithPage'
-				getTableList('/g2work/routeinfo/queryDataTodoWithPage')
+				getTableList()
 				break;
 			case 1: //已办
+				column.value = column2.value
 				currentUrl.value = '/g2work/routeinfo/queryDataDoneWithPage'
-				getTableList('/g2work/routeinfo/queryDataDoneWithPage')
+				getTableList()
 				break;
 			case 2: //办结
+				column.value = column3.value
 				currentUrl.value = '/g2work/routeinfo/queryDataFinishWithPage'
-				getTableList('/g2work/routeinfo/queryDataFinishWithPage')
+				getTableList()
 				break;
 		}
 	}
 	
-	function getTableList(url, pageno){
+	function getTableList(pageno){
 		ApiRequest({
-			url: url,
+			url: currentUrl.value,
 			method: 'POST',
 			data:{
 				pageno: pageno || pageCurrent.value,
@@ -63,20 +169,12 @@
 				userid: uni.getStorageSync('GlWorkPlatform-userid'),
 				querycondition: "[]",
 				ordercondition:  "",
-				flowid: "AA20|AA03|AA10|AA55|AA56|AA57|AA08|AA23|AA77|AA06"
+				flowid: "AA20|AA03|AA10|AA55|AA56|AA57|AA08|AA23|AA77|AA06",
+				columnscondition: '[{"COLID":"JJCD","COLUMNS":"FW_ZSWSXW.JJCD|FW_ZSWPXXW.JJCD|FW_ZB.JJCD|FW_GFXWJXGMRBM.JJCD|FW_WFH.JJCD|FW_SPJ.JJCD|FW_ZRBGHYJY.JJCD|FW_HYJY.JJCD"},{"COLID":"GWZL","COLUMNS":"FW_ZSWSXW.GWZL|FW_ZSWPXXW.GWZL|FW_ZB.GWZL|FW_GWHBGSFW.FWZL|FW_GWHFWGZ.FWZL|FW_GFXWJXGMRBM.GWZL|FW_WFH.GWZL|FW_SPJ.GWZL|FW_ZRBGHYJY.GWZL|FW_HYJY.GWZL"},{"COLID":"FWZH","COLUMNS":"FW_ZSWSXW.FWZH|FW_ZSWPXXW.FWZH|FW_ZB.FWZH|FW_GFXWJXGMRBM.FWZH|FW_WFH.FWZH|FW_SPJ.FWZH|FW_ZRBGHYJY.FWZH|FW_HYJY.FWZH"},{"COLID":"NGRBM","COLUMNS":"FW_ZSWSXW.NGRBM|FW_ZSWPXXW.NGRBM|FW_ZB.NGRBM|FW_GWHBGSFW.NGRBM|FW_GWHFWGZ.NGRBM|FW_GFXWJXGMRBM.NGRBM|FW_WFH.NGRBM|FW_SPJ.NGRBM|FW_ZRBGHYJY.NGRBM|FW_HYJY.NGRBM"},{"COLID":"NGR","COLUMNS":"FW_ZSWSXW.NGR|FW_ZSWPXXW.NGR|FW_ZB.NGR|FW_GWHBGSFW.NGR|FW_GWHFWGZ.NGR|FW_GFXWJXGMRBM.NGR|FW_WFH.NGR|FW_SPJ.NGR|FW_ZRBGHYJY.NGR|FW_HYJY.NGR"}]'
 			}
 		}).then(res=>{
 			if(res.code === 0 && res.success){
-				tableData.value = res.data.map(item=>{
-					return {
-						'FW_WFH.JJCDCAPTION': item['FW_WFH.JJCDCAPTION'],
-						'FLOWNAME': item['FLOWNAME'],
-						'FW_WFH.BT': item['FW_WFH.BT'],
-						'FW_WFH.FWZH': item['FW_WFH.FWZH'],
-						'FW_WFH.ZS': item['FW_WFH.ZS'],
-						'FW_WFH.SFXYJDCAPTION': item['FW_WFH.SFXYJDCAPTION']
-					}
-				})
+				tableData.value = res.data
 				total.value = res.meta.totalCount
 			}
 		})
@@ -85,11 +183,48 @@
 	//更改页码
 	function pageChange(val){
 		pageCurrent.value = val
-		getTableList(currentUrl.value, val)
+		getTableList(val)
+	}
+	
+	function handleBL(row, blUrl){
+		console.log(row);
+		uni.reLaunch({
+			url: blUrl + '&name=' + row.name
+		})
+	}
+	
+	function handleDel(row){
+		uni.showModal({
+			title: "提示",
+			content: "再次确认是否删除",
+			confirmColor: "#ff1919",
+			success: (e)=>{
+				if(e.confirm){
+					console.log(row);
+				}
+			}
+		})
+	}
+	
+	//获取紧急程度列表
+	function getJJCD(){
+		ApiRequest({
+			url: '/g2app/abase/queryDataCode',
+			method: 'POST',
+			data: {
+				data: s4.encryptData_CBC(JSON.stringify({ckey: "CODE_EMERGENCY", routeinfoid: '0'}))
+			}
+		}).then(obj=>{
+			let res = strToJson(s4.decryptData_CBC(obj.data))
+			if(res.code === 0 && res.success){
+				jjcdList.value = res.data.CODE_EMERGENCY
+			}
+		})
 	}
 	
 	onReady(()=>{
-		getTableList('/g2work/routeinfo/queryDataTodoWithPage')
+		getJJCD() //获取紧急程度列表
+		subChange(0) //获取表格
 	})
 </script>
 

+ 73 - 20
pages/noticeFile/noticeFile.vue

@@ -5,16 +5,22 @@
 			<u-line length="95%" margin="auto" color="#000"/>
 			
 			<scroll-view scroll-y="true" style="padding: 30rpx 60rpx;box-sizing: border-box;height: calc(100vh - 900rpx);">
-				<view v-for="(it,idx) in info" class="detailItem">
-					<view>{{it.subTitle}}</view>
-					<view>{{it.time}}</view>
+				<view v-for="(it,idx) in info" :key="idx" class="detailItem" v-if="info.length">
+					<view v-if="!isCardInfo">{{it.GGBT}}</view>
+					<view v-if="!isCardInfo">{{it.FBSJ ? it.FBSJ.slice(0,10) : null}}</view>
+					
+					<view v-if="isCardInfo">{{it.WJBT}}</view>
+					<view v-if="isCardInfo">{{it.FBRQ ? it.FBRQ.slice(0,10) : null}}</view>
+				</view>
+				<view v-else>
+					暂无通知。
 				</view>
 			</scroll-view>
 		</view>
 		<view class="overview content">
 			<view class="title">已发布文件</view>
 			<view class="cardList">
-				<view v-for="(it,idx) in cardList" :key="idx" :style="{'background-color':it.color}" class="card">
+				<view v-for="(it,idx) in cardList" :key="idx" :style="{'background-color':it.color}" class="card" @click="clickCard(it)">
 					<view :style="{'background': it.iconColor}">
 						<image :src="it.icon"></image>
 					</view>
@@ -26,45 +32,92 @@
 </template>
 
 <script setup>
-	import {ref} from "vue";
+	import {ref} from "vue"
+	import { onReady, onShow } from "@dcloudio/uni-app"
+	import { ApiRequest } from "@/utils/request.js"
 	
-	const info = ref([
-		{
-			"subTitle": "深化政治监督 提升履职能力",
-			"time": "2026-50-10"
-		},
-		{
-			"subTitle": "关于8月份宣传报道情况的通报及 9月份宣传重点安排",
-			"time": "2026-50-10"
-		}
-	])
-		
+	const info = ref([])
+	const s4 = new SM4Util()
+	
+	const isCardInfo = ref(false)	
 	const cardList = ref([
 		{
 			icon: "../../static/notice/u31.svg",
 			iconColor: "linear-gradient(to bottom, rgb(0,196,213), rgb(0,218,151))",
 			text: "党建工作",
-			color: "rgb(200,245,225)"
+			color: "rgb(200,245,225)",
+			code: "P0102"
 		},
 		{
 			icon: "../../static/notice/u32.svg",
 			iconColor: "linear-gradient(to bottom, rgb(53,153,253), rgb(137,100,244))",
 			text: "委发文件",
-			color: "rgb(255,219,224)"
+			color: "rgb(255,219,224)",
+			code: "P0103"
 		},
 		{
 			icon: "../../static/notice/u33.svg",
 			iconColor: "linear-gradient(to bottom, rgb(0,136,255), rgb(0,181,255))",
 			text: "行政工作",
-			color: "rgb(207,232,245)"
+			color: "rgb(207,232,245)",
+			code: "P0101"
 		},
 		{
 			icon: "../../static/notice/u34.svg",
 			iconColor: "linear-gradient(to bottom, rgb(226,76,246), rgb(254,86,224))",
 			text: "相关知识",
-			color: "rgb(255,236,207)"
+			color: "rgb(255,236,207)",
+			code: "P0104"
 		}
 	])
+	
+	//获取所有通知消息
+	function getNotice(){
+		ApiRequest({
+			url: '/g2app/dataabase/queryDataByColWithPage3',
+			method: 'POST',
+			data:{
+				colums: "ID,GGBT,FBSJ,FBFW",
+				order: "FBSJ",
+				pageno: 1,
+				pagesize: 999,
+				sqlwhere: "and FBZT=1 and GGBK='C01' and (FBFWMANUSERID like '%0c67561f-5d0d-48fd-a90b-90d69a98fbac%' or FBFWMANUSERID='全部')",
+				tablename: "SX_TZGG"
+			}
+		}).then(res=>{
+			if(res.code === 0 && res.success){
+				info.value = res.data
+			}
+		})
+	}
+	
+	//点击卡片获取通知
+	function clickCard(it){
+		isCardInfo.value = true
+		ApiRequest({
+			url: '/g2app/dataabase/queryMainDataAndChildDataWithPage',
+			method: 'POST',
+			data: JSON.stringify({
+				data: s4.encryptData_CBC(JSON.stringify({
+					tablename: "SX_FBLIST",
+					pageno: 1,
+					pagesize: 999,
+					childtablename: "SX_FBLIST_02",
+					colums: "ID,WJBT,FBBM,LM ,GKFW,FBRQ",
+					childcolums: "TOP 1 ID,USERID,READSTATUS",
+					order: "FBRQ desc",
+					sqlwhere: `and LM in('${it.code}') and ( GKFW ISNULL OR GKFW LIKE '0c67561f-5d0d-48fd-a90b-90d69a98fbac')`
+				}))
+			})
+		}).then(obj=>{
+			let res = strToJson(s4.decryptData_CBC(obj.data))
+			info.value = res.data
+		})
+	}
+	
+	onReady(()=>{
+		getNotice()
+	})
 </script>
 
 <style lang="scss" scoped>