whx 1 ano atrás
pai
commit
dbfd8d4920
100 arquivos alterados com 487 adições e 111 exclusões
  1. 22 0
      virgo.wzfrontend/console/src/components/message/detail.vue
  2. 108 0
      virgo.wzfrontend/console/src/components/message/modules/detail2.vue
  3. 60 35
      virgo.wzfrontend/console/src/components/work/invoice/detail.vue
  4. 13 1
      virgo.wzfrontend/console/src/httpApi/invoice.js
  5. 12 0
      virgo.wzfrontend/console/src/httpApi/message.js
  6. 5 0
      virgo.wzfrontend/console/src/layout/components/topNav.vue
  7. 9 0
      virgo.wzfrontend/console/src/router/modules/message.js
  8. 1 1
      virgo.wzfrontend/console/src/uitls/permission.js
  9. 117 0
      virgo.wzfrontend/console/src/views/message/list.vue
  10. 7 0
      virgo.wzfrontend/console/src/views/system/log.vue
  11. 9 1
      virgo.wzfrontend/console/src/views/work/invoice/contract/client.vue
  12. 8 0
      virgo.wzfrontend/console/src/views/work/invoice/contract/organization.vue
  13. 8 0
      virgo.wzfrontend/console/src/views/work/invoice/contract/payment.vue
  14. 8 0
      virgo.wzfrontend/console/src/views/work/invoice/routine/client.vue
  15. 9 1
      virgo.wzfrontend/console/src/views/work/invoice/routine/organization.vue
  16. 9 1
      virgo.wzfrontend/console/src/views/work/invoice/routine/payment.vue
  17. 1 1
      virgo.wzfrontend/src/main/resources/static/index.html
  18. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/1498.57af0964.css
  19. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/2525.48097c97.css
  20. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/2529.20e33a6e.css
  21. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/2813.f43f4c00.css
  22. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/3396.b8abf9c9.css
  23. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/3788.225bc5ff.css
  24. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/4397.de937fcd.css
  25. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/4906.bedeeaa7.css
  26. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/5050.3f9acf7e.css
  27. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/5649.b6c7aaf0.css
  28. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/5850.32d3f99b.css
  29. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/6061.034ef163.css
  30. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/6197.096e91e5.css
  31. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/6458.48fa06e5.css
  32. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/6568.863e2be4.css
  33. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/6631.52c2cdde.css
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/664.de937fcd.css
  35. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/7132.62c9bb7a.css
  36. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/7719.22d48ee0.css
  37. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/8207.f275a232.css
  38. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/9153.dc2bf83b.css
  39. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/9404.b6c7aaf0.css
  40. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/1-legacy.83a3e348.js
  41. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1129-legacy.cfb6741b.js
  42. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/129-legacy.4603d34c.js
  43. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/132-legacy.12094bd2.js
  44. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1433-legacy.19a002b7.js
  45. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1471-legacy.3b0b5f7c.js
  46. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1498-legacy.dfc78576.js
  47. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.158112ed.js
  48. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/162-legacy.84eb54fa.js
  49. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/169-legacy.90c06e0e.js
  50. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/169.2f4f1083.js
  51. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/191-legacy.ae2bb191.js
  52. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/197-legacy.58bc4f57.js
  53. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2072-legacy.e6a7d91d.js
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/231-legacy.3e707cfe.js
  55. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/245-legacy.a7789e5f.js
  56. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/252.fa7aedac.js
  57. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2525-legacy.0d04797c.js
  58. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2529-legacy.c3ae9adc.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2587-legacy.831746ad.js
  60. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/271-legacy.9d0d3c5d.js
  61. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/271.a459d9bd.js
  62. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2813-legacy.0fef4e9e.js
  63. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3231-legacy.b44b8b25.js
  64. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/333-legacy.b1980367.js
  65. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/333.fc4d6d30.js
  66. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3396-legacy.5dac9859.js
  67. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/363.bad82310.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3764-legacy.913fae8e.js
  69. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3919-legacy.f68d8a93.js
  70. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3939-legacy.60eec412.js
  71. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/396-legacy.cf685539.js
  72. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/404-legacy.3dc7470b.js
  73. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/4041-legacy.2560d86b.js
  74. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/41-legacy.abcd8531.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/433-legacy.932c00f2.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/4397-legacy.ff4d52fe.js
  77. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/458-legacy.5b2e5a7e.js
  78. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/4588-legacy.b75630fc.js
  79. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/471.f18e2e81.js
  80. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/4906-legacy.b7ba110f.js
  81. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.6d197f44.js
  82. 0 42
      virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.68c901b2.js
  83. 42 0
      virgo.wzfrontend/src/main/resources/static/static/js/5050-legacy.976fcdf5.js
  84. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5051-legacy.03c3cc15.js
  85. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/51-legacy.5f07d519.js
  86. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5191-legacy.6c0cfcdf.js
  87. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.4f4431e3.js
  88. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.567fbd9f.js
  89. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/531-legacy.5916a514.js
  90. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/531.4939dd7c.js
  91. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5649-legacy.35018ee9.js
  92. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5656-legacy.331c32a9.js
  93. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/568-legacy.72979f69.js
  94. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5850-legacy.bcbda21b.js
  95. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/587.50c5492d.js
  96. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/588-legacy.f191fe8d.js
  97. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/5923-legacy.7182ab94.js
  98. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/6001-legacy.c0b55eeb.js
  99. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/6061-legacy.ac32aba4.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.9145f269.js

+ 22 - 0
virgo.wzfrontend/console/src/components/message/detail.vue

@@ -0,0 +1,22 @@
+<template>
+	<div class="message-detail">
+		<detail2 v-if="type === 2" :detail="detail"></detail2>
+	</div>
+</template>
+
+<script>
+	import detail2 from './modules/detail2'
+	export default {
+		props: ['type', 'detail'],
+		components: {
+			detail2
+		},
+	}
+</script>
+
+<style lang="scss">
+	.message-detail {
+		width: 100%;
+		height: 100%;
+	}
+</style>

+ 108 - 0
virgo.wzfrontend/console/src/components/message/modules/detail2.vue

@@ -0,0 +1,108 @@
+<template>
+	<div class="hui-flex">
+		<div class="hui-flex-box">
+			<div class="hui-detail">
+				<div class="hui-detail-title">消息内容</div>
+				<div class="hui-detail-content">
+					<div class="hui-detail-item">
+						<div class="hui-detail-value"> {{detail.sendUserName}}邀请{{detail.message}}</div>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="hui-drawer-submit" v-if="dataDetail.status === 1">
+			<el-button size="medium" type="primary" @click="btnClick('同意',2)">同意</el-button>
+			<el-button size="medium" type="danger" @click="btnClick('拒绝',3)">拒绝</el-button>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		getCustomerDetailById,
+		getAgentDetailById,
+		updateCustomer,
+		updateAgent
+	} from '@/httpApi/crm'
+	import {
+		bindProject
+	} from '@/httpApi/organization'
+
+	export default {
+		props: ['detail'],
+		data() {
+			return {
+				dataDetail: {}
+			}
+		},
+		created() {
+			this.init()
+		},
+		methods: {
+			init() {
+				if (this.detail.identityId === 1) { //客户
+					getCustomerDetailById(this.detail.dataId).then(res => {
+						if (res.state) {
+							this.dataDetail = res.data;
+						}
+					})
+				} else if (this.detail.identityId === 2) { //经纪人
+					getAgentDetailById(this.detail.dataId).then(res => {
+						if (res.state) {
+							this.dataDetail = res.data;
+						}
+					})
+				}
+			},
+			btnClick(msg, type) {
+				this.$confirm('是否' + msg + '加入该项目', () => {
+					if (this.detail.identityId === 1) { //客户
+						updateCustomer({
+							id: this.dataDetail.id,
+							status: type
+						}).then(res => {
+							if (res.state) {
+								if (type === 2) return this.operationProject();
+								this.init();
+								this.$message.success('操作成功');
+							}
+						})
+					} else if (this.detail.identityId === 2) { //经纪人
+						updateAgent({
+							id: this.dataDetail.id,
+							status: type
+						}).then(res => {
+							if (res.state) {
+								if (type === 2) return this.operationProject();
+								this.init();
+								this.$message.success('操作成功');
+							}
+						})
+					}
+				})
+			},
+			operationProject() {
+				let postData = {
+					organizationId: this.detail.organizationId,
+					projectId: this.detail.projectId,
+					userId: this.$store.getters.user.userId,
+					identityId: this.detail.identityId
+				}
+				if (this.detail.identityId === 1) { //客户
+					postData['clientId'] = this.detail.dataId
+				} else if (this.detail.identityId === 2) { //经纪人
+					postData['agentId'] = this.detail.dataId
+				}
+				bindProject(postData).then(res => {
+					if (res.state) {
+						this.$message.success('操作成功')
+						this.init();
+					}
+				})
+			}
+		},
+	}
+</script>
+
+<style>
+</style>

+ 60 - 35
virgo.wzfrontend/console/src/components/work/invoice/detail.vue

@@ -1,47 +1,60 @@
 <template>
-	<div class="hui-detail">
-		<div class="hui-detail-title">基础信息</div>
-		<div class="hui-detail-content">
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">发票名称</div>
-				<div class="hui-detail-value">{{detail.name}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">发票类型</div>
-				<div class="hui-detail-value">{{$field.findTypeName('invoiceType',detail.invoiceType)}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">发票代码</div>
-				<div class="hui-detail-value">{{detail.code}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">发票号码</div>
-				<div class="hui-detail-value">{{detail.number}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">货物名称</div>
-				<div class="hui-detail-value">{{detail.cargoName}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">收款方</div>
-				<div class="hui-detail-value">{{detail.organizationName}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">付款方</div>
-				<div class="hui-detail-value">{{detail.payMerchantName || detail.payClientName}}</div>
+	<div class="hui-flex">
+		<div class="hui-flex-box">
+			<div class="hui-detail">
+				<div class="hui-detail-title">基础信息</div>
+				<div class="hui-detail-content">
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">发票名称</div>
+						<div class="hui-detail-value">{{detail.name}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">发票类型</div>
+						<div class="hui-detail-value">{{$field.findTypeName('invoiceType',detail.invoiceType)}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">发票代码</div>
+						<div class="hui-detail-value">{{detail.code}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">发票号码</div>
+						<div class="hui-detail-value">{{detail.number}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">货物名称</div>
+						<div class="hui-detail-value">{{detail.cargoName}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">收款方</div>
+						<div class="hui-detail-value">{{detail.organizationName}}</div>
+					</div>
+					<div class="hui-detail-item">
+						<div class="hui-detail-label">付款方</div>
+						<div class="hui-detail-value">{{detail.payMerchantName || detail.payClientName}}</div>
+					</div>
+				</div>
+				<div class="hui-detail-title">发票附件</div>
+				<div class="hui-detail-content hui-detail-image">
+					<upload ref="upload" :list="detail.attachment ? JSON.parse(detail.attachment) : []" type="preview">
+					</upload>
+				</div>
 			</div>
 		</div>
-		<div class="hui-detail-title">发票附件</div>
-		<div class="hui-detail-content hui-detail-image">
-			<upload ref="upload" :list="detail.attachment ? JSON.parse(detail.attachment) : []" type="preview">
-			</upload>
+		<div class="hui-drawer-submit" v-if="detail.id">
+			<el-button size="medium" type="warning" @click="paymentOperation(1)" v-if="!detail.status">
+				作废
+			</el-button>
+			<el-button size="medium" type="primary" @click="paymentOperation(0)" v-if="detail.status === 1">
+				正常
+			</el-button>
 		</div>
 	</div>
 </template>
 
 <script>
 	import {
-		getInvoiceDetailById
+		getInvoiceDetailById,
+		updateInvoice
 	} from '@/httpApi/invoice'
 	import upload from '@/components/common/upload'
 	export default {
@@ -69,6 +82,18 @@
 						this.detail = res.data;
 					}
 				})
+			},
+			paymentOperation(state) {
+				updateInvoice({
+					id: this.detailId,
+					status: state
+				}).then(res => {
+					if (res.state) {
+						this.init();
+						this.$message.success('操作成功');
+						this.$emit('reload');
+					}
+				})
 			}
 		},
 		components: {

+ 13 - 1
virgo.wzfrontend/console/src/httpApi/invoice.js

@@ -10,7 +10,7 @@ export function getInvoiceListByPage(data) {
 		method: 'post',
 		data: data
 	})
-}
+}
 /* 
  * 通过id获取发票详情
  * 
@@ -21,4 +21,16 @@ export function getInvoiceDetailById(id) {
 		url: `/api/payment/invoice/${id}/`,
 		method: 'get',
 	})
+}
+/* 
+ * 更新发票
+ * 
+ * 
+ */
+export function updateInvoice(data) {
+	return request({
+		url: `/api/payment/invoice/update`,
+		method: 'put',
+		data: data
+	})
 }

+ 12 - 0
virgo.wzfrontend/console/src/httpApi/message.js

@@ -0,0 +1,12 @@
+import request from '@/axios'
+/* 
+ * 获取消息分页列表
+ * 
+ */
+export function getMessagePageListByQuery(currPage, pageSize, data) {
+	return request({
+		url: `/manager/message/${currPage}/${pageSize}`,
+		method: 'post',
+		data: data
+	})
+}

+ 5 - 0
virgo.wzfrontend/console/src/layout/components/topNav.vue

@@ -16,6 +16,11 @@
 			</div>
 		</div>
 		<div class="work-layout-right">
+			<div class="work-layout-badge" @click="$router.push('/message')">
+				<el-badge is-dot>
+					<i class="iconfont huifont-xiaoxi"></i>
+				</el-badge>
+			</div>
 			<el-dropdown @visible-change="value => userDropdown = value" @command="userCommand">
 				<div class="work-layout-user">
 					<div class="work-layout-avatar">

+ 9 - 0
virgo.wzfrontend/console/src/router/modules/message.js

@@ -0,0 +1,9 @@
+const message = [{
+	path: '/message',
+	component: () => import('@/views/message/list'),
+	name: '消息列表',
+	meta: {
+		title: '消息列表'
+	}
+}]
+export default message;

+ 1 - 1
virgo.wzfrontend/console/src/uitls/permission.js

@@ -14,7 +14,7 @@ import Vue from 'vue'
 NProgress.configure({
 	showSpinner: false
 })
-const baseUrl = ['/', '/401', '/404', '/loginRegister/login'];
+const baseUrl = ['/', '/401', '/404', '/loginRegister/login', '/message'];
 
 const testBaseUrl = (path) => { //判断公共路由
 	let nowBaseUrl = ['/loginRegister/login'].filter((item) => {

+ 117 - 0
virgo.wzfrontend/console/src/views/message/list.vue

@@ -0,0 +1,117 @@
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-flex-box hui-flex hui-table">
+			<div class="hui-flex-box">
+				<el-table :data="tableData" row-key="id" border height="100%">
+					<el-table-column label="序号" width="50">
+						<template slot-scope="scope">
+							{{scope.$index + 1}}
+						</template>
+					</el-table-column>
+					<el-table-column label="消息内容">
+						<template slot-scope="scope">
+							<div class="hui-ellipsis">
+								{{scope.row.sendUserName}}邀请{{scope.row.message}}
+							</div>
+						</template>
+					</el-table-column>
+					<el-table-column label="是否已读" width="180">
+						<template slot-scope="scope">
+							<div class="hui-table-tag">
+								<div class="hui-tag hui-tag-info" v-if="scope.row.viewed">已读</div>
+								<div class="hui-tag hui-tag-error" v-else>未读</div>
+							</div>
+						</template>
+					</el-table-column>
+					<el-table-column label="时间" prop="sentTime" width="180"></el-table-column>
+					<el-table-column label="消息类型" prop="messageType" width="150">
+						<template slot-scope="scope">
+							<div class="hui-table-tag">
+								<div class="hui-tag">
+									<div>{{messageType(scope.row.messageType).name}}</div>
+								</div>
+							</div>
+						</template>
+					</el-table-column>
+					<el-table-column width="150" label="操作">
+						<template slot-scope="scope">
+							<span class="table-operation" @click="detail(scope.row)">
+								详情
+							</span>
+						</template>
+					</el-table-column>
+					<template slot="empty">
+						<empty description="暂无数据"></empty>
+					</template>
+				</el-table>
+			</div>
+			<div class="hui-content-pagination">
+				<el-pagination :page-size="pageSize" :pager-count="9" layout="prev, pager, next" :total="totalCount"
+					@current-change="currentChange">
+				</el-pagination>
+			</div>
+		</div>
+		<el-drawer title="消息详情" :visible.sync="drawer" :size="400" :append-to-body="true">
+			<detail v-if="drawer" :type="item.messageType" :detail="item" @close="drawer = false">
+			</detail>
+		</el-drawer>
+	</div>
+</template>
+
+<script>
+	import {
+		getMessagePageListByQuery
+	} from '@/httpApi/message'
+	import detail from '@/components/message/detail'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				pageIndex: 1,
+				pageSize: 10,
+				totalCount: 0,
+				item: {},
+				drawer: false
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				let data = {
+					projectId: this.$store.getters.project.id,
+					organizationId: this.$store.getters.organization.id,
+					userId: this.$store.getters.user.userId
+				}
+				getMessagePageListByQuery(this.pageIndex, this.pageSize, data).then(res => {
+					if (res.state) {
+						this.tableData = res.data.dataList.map(node => {
+							return Object.assign(node, JSON.parse(node.json));
+						});
+						this.totalCount = res.data.totalCount;
+					}
+				})
+			},
+			detail(item) {
+				if (!item.viewed) this.$msg.viewed(item.id, this.init);
+				this.item = item;
+				console.log(this.item);
+				this.drawer = true;
+			},
+			messageType(type) {
+				return this.$msg.messageType.filter(item => item.id === type)[0];
+			},
+			currentChange(pageIndex) {
+				this.pageIndex = pageIndex;
+				this.init();
+			}
+		},
+		components: {
+			detail
+		},
+	}
+</script>
+
+<style lang="scss">
+</style>

+ 7 - 0
virgo.wzfrontend/console/src/views/system/log.vue

@@ -75,6 +75,13 @@
 					<div class="log-item">3、新增发票管理-常规发票功能,包含收款发票、企业付款、个人付款。</div>
 				</div>
 			</el-timeline-item>
+			<el-timeline-item timestamp="2024-06-19" placement="top">
+				<div class="log-box">
+					<div class="log-item">1、新增发票管理-作废/正常操作的功能。</div>
+					<div class="log-item">2、新增消息通知-列表、详情、已读的功能。</div>
+					<div class="log-item">3、新增项目邀请消息操作的功能。</div>
+				</div>
+			</el-timeline-item>
 		</el-timeline>
 	</div>
 </template>

+ 9 - 1
virgo.wzfrontend/console/src/views/work/invoice/contract/client.vue

@@ -21,7 +21,15 @@
 						</el-table-column>
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
-						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

+ 8 - 0
virgo.wzfrontend/console/src/views/work/invoice/contract/organization.vue

@@ -22,6 +22,14 @@
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
 						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

+ 8 - 0
virgo.wzfrontend/console/src/views/work/invoice/contract/payment.vue

@@ -22,6 +22,14 @@
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
 						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

+ 8 - 0
virgo.wzfrontend/console/src/views/work/invoice/routine/client.vue

@@ -22,6 +22,14 @@
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
 						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

+ 9 - 1
virgo.wzfrontend/console/src/views/work/invoice/routine/organization.vue

@@ -21,7 +21,15 @@
 						</el-table-column>
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
-						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

+ 9 - 1
virgo.wzfrontend/console/src/views/work/invoice/routine/payment.vue

@@ -21,7 +21,15 @@
 						</el-table-column>
 						<el-table-column label="发票代码" prop="code"></el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
-						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="状态" width="80">
+							<template slot-scope="scope">
+								<div class="hui-table-tag">
+									<div class="hui-tag hui-tag-success" v-if="!scope.row.status">正常</div>
+									<div class="hui-tag hui-tag-warning" v-else-if="scope.row.status === 1">作废</div>
+								</div>
+							</template>
+						</el-table-column>
 						<el-table-column label="操作" width="80">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/index.html


virgo.wzfrontend/src/main/resources/static/static/css/498.57af0964.css → virgo.wzfrontend/src/main/resources/static/static/css/1498.57af0964.css


virgo.wzfrontend/src/main/resources/static/static/css/525.48097c97.css → virgo.wzfrontend/src/main/resources/static/static/css/2525.48097c97.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/2529.20e33a6e.css


virgo.wzfrontend/src/main/resources/static/static/css/813.f43f4c00.css → virgo.wzfrontend/src/main/resources/static/static/css/2813.f43f4c00.css


virgo.wzfrontend/src/main/resources/static/static/css/396.b8abf9c9.css → virgo.wzfrontend/src/main/resources/static/static/css/3396.b8abf9c9.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/3788.225bc5ff.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/4397.de937fcd.css


virgo.wzfrontend/src/main/resources/static/static/css/906.bedeeaa7.css → virgo.wzfrontend/src/main/resources/static/static/css/4906.bedeeaa7.css


virgo.wzfrontend/src/main/resources/static/static/css/50.3f9acf7e.css → virgo.wzfrontend/src/main/resources/static/static/css/5050.3f9acf7e.css


virgo.wzfrontend/src/main/resources/static/static/css/404.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/static/css/5649.b6c7aaf0.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/5850.32d3f99b.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/6061.034ef163.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/6197.096e91e5.css


virgo.wzfrontend/src/main/resources/static/static/css/458.48fa06e5.css → virgo.wzfrontend/src/main/resources/static/static/css/6458.48fa06e5.css


virgo.wzfrontend/src/main/resources/static/static/css/568.863e2be4.css → virgo.wzfrontend/src/main/resources/static/static/css/6568.863e2be4.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/6631.52c2cdde.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/664.de937fcd.css


virgo.wzfrontend/src/main/resources/static/static/css/132.62c9bb7a.css → virgo.wzfrontend/src/main/resources/static/static/css/7132.62c9bb7a.css


virgo.wzfrontend/src/main/resources/static/static/css/719.22d48ee0.css → virgo.wzfrontend/src/main/resources/static/static/css/7719.22d48ee0.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/8207.f275a232.css


virgo.wzfrontend/src/main/resources/static/static/css/153.dc2bf83b.css → virgo.wzfrontend/src/main/resources/static/static/css/9153.dc2bf83b.css


virgo.wzfrontend/src/main/resources/static/static/css/649.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/static/css/9404.b6c7aaf0.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/1-legacy.83a3e348.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/1129-legacy.cfb6741b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/129-legacy.4603d34c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/132-legacy.12094bd2.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/1433-legacy.19a002b7.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/1471-legacy.3b0b5f7c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/1498-legacy.dfc78576.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.158112ed.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/162-legacy.84eb54fa.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/169-legacy.90c06e0e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/169.2f4f1083.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/191-legacy.ae2bb191.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/197-legacy.58bc4f57.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2072-legacy.e6a7d91d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/231-legacy.3e707cfe.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/245-legacy.a7789e5f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/252.fa7aedac.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2525-legacy.0d04797c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2529-legacy.c3ae9adc.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2587-legacy.831746ad.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/271-legacy.9d0d3c5d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/271.a459d9bd.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2813-legacy.0fef4e9e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3231-legacy.b44b8b25.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/333-legacy.b1980367.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/333.fc4d6d30.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3396-legacy.5dac9859.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/363.bad82310.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3764-legacy.913fae8e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3919-legacy.f68d8a93.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3939-legacy.60eec412.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/396-legacy.cf685539.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/404-legacy.3dc7470b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/4041-legacy.2560d86b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/41-legacy.abcd8531.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/433-legacy.932c00f2.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/4397-legacy.ff4d52fe.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/458-legacy.5b2e5a7e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/4588-legacy.b75630fc.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/471.f18e2e81.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/4906-legacy.b7ba110f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.6d197f44.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 42
virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.68c901b2.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 42 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5050-legacy.976fcdf5.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5051-legacy.03c3cc15.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/51-legacy.5f07d519.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5191-legacy.6c0cfcdf.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.4f4431e3.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.567fbd9f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/531-legacy.5916a514.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/531.4939dd7c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5649-legacy.35018ee9.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5656-legacy.331c32a9.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/568-legacy.72979f69.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5850-legacy.bcbda21b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/587.50c5492d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/588-legacy.f191fe8d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/5923-legacy.7182ab94.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/6001-legacy.c0b55eeb.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/6061-legacy.ac32aba4.js


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.9145f269.js


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff