whx 4 ماه پیش
والد
کامیت
db20b10f82
100فایلهای تغییر یافته به همراه828 افزوده شده و 744 حذف شده
  1. 1 1
      virgo.wzfrontend/console/src/components/work/bill/routine/edit.vue
  2. 4 3
      virgo.wzfrontend/console/src/components/work/bim/integration.vue
  3. 9 4
      virgo.wzfrontend/console/src/components/work/contract/common/tagTree.vue
  4. 11 8
      virgo.wzfrontend/console/src/views/work/bill/routine/payment.vue
  5. 216 212
      virgo.wzfrontend/console/src/views/work/bim/index.vue
  6. 7 6
      virgo.wzfrontend/console/src/views/work/contract/list.vue
  7. 19 8
      virgo.wzfrontend/console/src/views/work/contract/template.vue
  8. 7 6
      virgo.wzfrontend/console/src/views/work/crm/agent.vue
  9. 10 9
      virgo.wzfrontend/console/src/views/work/crm/customer.vue
  10. 7 6
      virgo.wzfrontend/console/src/views/work/crm/organization.vue
  11. 18 11
      virgo.wzfrontend/console/src/views/work/invoice/contract/client.vue
  12. 40 33
      virgo.wzfrontend/console/src/views/work/invoice/contract/organization.vue
  13. 1 1
      virgo.wzfrontend/console/src/views/work/invoice/contract/payment.vue
  14. 147 145
      virgo.wzfrontend/console/src/views/work/operation/meeting/organization.vue
  15. 6 5
      virgo.wzfrontend/console/src/views/work/operation/meeting/project.vue
  16. 16 8
      virgo.wzfrontend/console/src/views/work/operation/meeting/set.vue
  17. 5 4
      virgo.wzfrontend/console/src/views/work/order/clear.vue
  18. 5 4
      virgo.wzfrontend/console/src/views/work/order/operation.vue
  19. 6 5
      virgo.wzfrontend/console/src/views/work/order/patrol.vue
  20. 10 7
      virgo.wzfrontend/console/src/views/work/order/service.vue
  21. 7 6
      virgo.wzfrontend/console/src/views/work/organization/depart.vue
  22. 3 2
      virgo.wzfrontend/console/src/views/work/organization/manager.vue
  23. 7 6
      virgo.wzfrontend/console/src/views/work/organization/seal.vue
  24. 6 5
      virgo.wzfrontend/console/src/views/work/organization/user.vue
  25. 208 203
      virgo.wzfrontend/console/src/views/work/space/housing.vue
  26. 5 4
      virgo.wzfrontend/console/src/views/work/space/project.vue
  27. 18 8
      virgo.wzfrontend/console/src/views/work/space/set.vue
  28. 1 1
      virgo.wzfrontend/src/main/resources/static/console/index.html
  29. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/1116.b6c7aaf0.css
  30. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2052.28d0077f.css
  31. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2540.863e2be4.css
  32. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3860.08408220.css
  33. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/391.f275a232.css
  34. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3948.86bf52d4.css
  35. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4126.bd099838.css
  36. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/428.28d0077f.css
  37. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4673.863e2be4.css
  38. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4812.4d5ca46a.css
  39. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4925.f43f4c00.css
  40. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/5571.710489ee.css
  41. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6192.08408220.css
  42. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6342.4d5ca46a.css
  43. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6391.710489ee.css
  44. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6483.bd099838.css
  45. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7026.f43f4c00.css
  46. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/784.f275a232.css
  47. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8077.b6c7aaf0.css
  48. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8171.86bf52d4.css
  49. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8183.af90e1b5.css
  50. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8386.c91856b9.css
  51. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/865.32d3f99b.css
  52. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9580.af90e1b5.css
  53. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1885.cff5ccdc.js
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1437-legacy.8c71710c.js
  55. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1437.517c95c9.js
  56. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1785.72c9f4f9.js
  57. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2036-legacy.9c09f446.js
  58. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2036.410dd827.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2052-legacy.867ce7cf.js
  60. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2439-legacy.cc38adc5.js
  61. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2484-legacy.0f1a0cd5.js
  62. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2484.eef0e1f5.js
  63. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2540-legacy.66dce50d.js
  64. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2550-legacy.09d8909c.js
  65. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2587-legacy.e41c2c2a.js
  66. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2587.3f72ae20.js
  67. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2658-legacy.08efc098.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2658.9b67135d.js
  69. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2695-legacy.2f748c8a.js
  70. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2695.621bac90.js
  71. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2966-legacy.5ba18124.js
  72. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2966.97fcf6cf.js
  73. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3036-legacy.8a6d4adb.js
  74. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3036.672987bf.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3094.5d499b6c.js
  76. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/326.93bc9f74.js
  77. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3327-legacy.6a18cd42.js
  78. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3327.7f362b95.js
  79. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3333.ab7cb04f.js
  80. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3860.22626706.js
  81. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/391.696d895c.js
  82. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3948.ee723148.js
  83. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3953-legacy.acece7de.js
  84. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4126.c58a588a.js
  85. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4238-legacy.66a46740.js
  86. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/428.bb78cb9d.js
  87. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4673.836822d2.js
  88. 2 2
      virgo.wzfrontend/src/main/resources/static/console/static/js/9579-legacy.9b21da44.js
  89. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4925.a6b10d9e.js
  90. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4947.7d27793c.js
  91. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5122-legacy.2f43766d.js
  92. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5338-legacy.7ba57ebe.js
  93. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5338.429c218e.js
  94. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5465-legacy.78f7b59a.js
  95. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5465.179de598.js
  96. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5539.7209b5fd.js
  97. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5571-legacy.079e4a3e.js
  98. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5778-legacy.f5eb6793.js
  99. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/5819.e9edd1f5.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5884-legacy.b013f130.js

+ 1 - 1
virgo.wzfrontend/console/src/components/work/bill/routine/edit.vue

@@ -42,7 +42,7 @@
 					</el-select>
 				</el-form-item>
 				<el-form-item label="关联合同">
-					<el-select v-model="form.contractId" placeholder="请选择关联合同" @change="changeContract">
+					<el-select v-model="form.contractId" placeholder="请选择关联合同">
 						<el-option :label="item.code" :value="item.id" v-for="(item,index) in contractList"
 							:key="index">
 						</el-option>

+ 4 - 3
virgo.wzfrontend/console/src/components/work/bim/integration.vue

@@ -20,7 +20,7 @@
 					<el-table-column prop="address" label="操作" width="80">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="previewBim(scope.row)">预览</span>
+								<span class="table-operation" @click="previewBim(scope.row)" v-permission="'/work/bim/integration/preview'">预览</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -29,7 +29,7 @@
 					</template>
 				</el-table>
 			</div>
-			<div class="hui-table-box-foot">
+			<div class="hui-table-box-foot" v-permission="'/work/bim/integration/integration'">
 				<div class="tips"><span style="color: red;">* </span>注:请勿选择两个相同的模型文件,否则导致模型数据错误。</div>
 				<el-button size="medium" type="primary" @click="integrateBim">
 					{{ (projectItem.bimIntegrateId ? '重新集成' : '集成') + '(' + (3 - projectItem.bimIntegrateNumber) + '次)' }}
@@ -82,7 +82,8 @@
 			});
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/bim/integration/list')) return;
 				getBimList(this.$store.getters.project.id).then(res => {
 					if (res.state) {
 						this.tableData = res.data.filter(node => node.status === 2 && node.projectItemId ===

+ 9 - 4
virgo.wzfrontend/console/src/components/work/contract/common/tagTree.vue

@@ -8,10 +8,14 @@
 					<el-dropdown @command="type=>command(type,data)" trigger="click">
 						<i class="el-icon-more"></i>
 						<el-dropdown-menu slot="dropdown">
-							<el-dropdown-item command="look">详情</el-dropdown-item>
-							<el-dropdown-item command="insert">新增</el-dropdown-item>
-							<el-dropdown-item command="update">编辑</el-dropdown-item>
-							<el-dropdown-item command="delete">删除</el-dropdown-item>
+							<el-dropdown-item command="look"
+								v-permission="'/work/contract/template/class/detail'">详情</el-dropdown-item>
+							<el-dropdown-item command="insert"
+								v-permission="'/work/contract/template/class/add'">新增</el-dropdown-item>
+							<el-dropdown-item command="update"
+								v-permission="'/work/contract/template/class/update'">编辑</el-dropdown-item>
+							<el-dropdown-item command="delete"
+								v-permission="'/work/contract/template/class/delete'">删除</el-dropdown-item>
 						</el-dropdown-menu>
 					</el-dropdown>
 				</div>
@@ -59,6 +63,7 @@
 		},
 		methods: {
 			init() {
+				if (!this.auth('/work/contract/template/class/list')) return;
 				getTagList(this.$store.getters.organization.id, this.$store.getters.project.id).then(res => {
 					if (res.state) {
 						this.treeData = res.data;

+ 11 - 8
virgo.wzfrontend/console/src/views/work/bill/routine/payment.vue

@@ -10,7 +10,9 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter ref="billContract" type="billRoutine" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insertItem">新增账单</el-button>
+					<el-button v-permission="'/work/bill/routine/payment/add'" type="primary" size="medium" @click="insertItem">
+						新增账单
+					</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -19,7 +21,7 @@
 								<div style="text-align: center;">{{scope.$index + 1}}</div>
 							</template>
 						</el-table-column>
-						<el-table-column label="账单名称" prop="name"width="160"></el-table-column>
+						<el-table-column label="账单名称" prop="name" width="160"></el-table-column>
 						<el-table-column label="金额" width="160">
 							<template slot-scope="scope">
 								<span>{{scope.row.amount + '元'}}</span>
@@ -30,7 +32,7 @@
 							<template slot-scope="scope">
 								<span> {{scope.row.payMerchantName || scope.row.payClientName}}</span>
 							</template>
-						</el-table-column>
+						</el-table-column>
 						<el-table-column label="关联合同" prop="contractCode"></el-table-column>
 						<el-table-column label="提醒日期" prop="code" width="200">
 							<template slot-scope="scope">
@@ -50,17 +52,17 @@
 						<el-table-column label="操作" width="220">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="sendItem(scope.row)" v-if="!scope.row.status">
+									<span class="table-operation" v-permission="'/work/bill/routine/payment/send'" @click="sendItem(scope.row)" v-if="!scope.row.status">
 										发送客户
 									</span>
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/bill/routine/payment/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" @click="updateItem(scope.row)"
+									<span class="table-operation" v-permission="'/work/bill/routine/payment/update'" @click="updateItem(scope.row)"
 										v-if="!scope.row.status">
 										编辑
 									</span>
-									<span class="table-operation" @click="deleteItem(scope.row)"
+									<span class="table-operation" v-permission="'/work/bill/routine/payment/delete'" @click="deleteItem(scope.row)"
 										v-if="!scope.row.status">
 										删除
 									</span>
@@ -123,7 +125,8 @@
 				this.currPage = 1;
 				this.init();
 			},
-			init() {
+			init() {
+				if (!this.auth('/work/bill/routine/payment/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 216 - 212
virgo.wzfrontend/console/src/views/work/bim/index.vue

@@ -1,214 +1,218 @@
-<template>
-	<div class="hui-flex hui-content">
-		<div class="hui-content-title">
-			<div class="hui-title-item active">模型列表</div>
-		</div>
-		<div class="hui-flex-box hui-flex hui-table">
-			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="drawer = true">上传模型</el-button>
-				<bim-upload ref="bimUpload" v-show="false" @changeBim="init"></bim-upload>
-			</div>
-			<div class="hui-flex-box">
-				<el-table ref="singleTable" :data="tableData" border height="100%">
-					<el-table-column label="序号" width="50">
-						<template slot-scope="scope">
-							{{scope.$index + 1}}
-						</template>
-					</el-table-column>
-					<el-table-column prop="name" label="模型名称"></el-table-column>
-					<el-table-column prop="projectItemName" label="单位建筑"></el-table-column>
-					<el-table-column prop="projectItemTargetName" label="具体位置"></el-table-column>
-					<el-table-column prop="createUserName" width="100" label="上传人"></el-table-column>
-					<el-table-column width="200" label="上传时间">
-						<template slot-scope="scope">
-							<span>{{$dayjs(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss')}}</span>
-						</template>
-					</el-table-column>
-					<el-table-column width="100" label="类型">
-						<template slot-scope="scope">
-							<div class="hui-table-tag">
-								<div class="hui-tag">
-									{{typeList.filter(item=>item.id == scope.row.type)[0].typeName}}
-								</div>
-							</div>
-						</template>
-					</el-table-column>
-					<el-table-column width="100" label="状态">
-						<template slot-scope="scope">
-							<div class="hui-table-tag">
-								<div class="hui-tag hui-tag-success" v-if="scope.row.status === 2">
-									转换成功
-								</div>
-								<div class="hui-tag hui-tag-warning" v-if="scope.row.status === 1">
-									转换中
-								</div>
-								<div class="hui-tag hui-tag-warning" v-if="scope.row.status === 0">
-									等待转换
-								</div>
-							</div>
-						</template>
-					</el-table-column>
-					<el-table-column width="220" label="操作">
-						<template slot-scope="scope">
-							<div class="hui-table-operation">
-								<span class="table-operation" @click="reloadUpload(scope.row)">
-									重新上传
-								</span>
-								<span class="table-operation" v-if="scope.row.status === 0"
-									@click="convertBim(scope.row)">
-									转换
-								</span>
-								<span class="table-operation" v-if="scope.row.status === 2"
-									@click="previewBim(scope.row)">
-									预览
-								</span>
-								<span class="table-operation" @click="deleteBim(scope.row)">
-									删除
-								</span>
-								<span class="table-operation" @click="downloadBim(scope.row)">
-									下载
-								</span>
-							</div>
-						</template>
-					</el-table-column>
-					<template slot="empty">
-						<empty description="暂无数据"></empty>
-					</template>
-				</el-table>
-			</div>
-		</div>
-		<el-dialog :close-on-click-modal="false" title="上传模型" :visible.sync="drawer" width="900px" :append-to-body="true">
-			<bim-form @callback="callback" v-if="drawer"></bim-form>
-		</el-dialog>
-		<el-dialog :close-on-click-modal="false" title="预览模型" :visible.sync="dialogVisible" :append-to-body="true" width="80%">
-			<preview v-if="dialogVisible" @close="dialogVisible = false" type="model" :file="file"></preview>
-		</el-dialog>
-	</div>
-</template>
-
-<script>
-	import {
-		getBimList,
-		updateProjectItemTargetBim,
-		getProjectItemTargetBimList,
-		translateBim,
-		toBimFace,
-		getBimType
-	} from '@/httpApi/bim';
-	import bimForm from '@/components/work/bim/bimForm'
-	import preview from '@/components/work/bim/preview'
-	import config from '@/config';
-	import bimUpload from '@/components/common/bimUpload'
-	export default {
-		data() {
-			return {
-				tableData: [],
-				drawer: false,
-				typeList: [],
-				dialogVisible: false,
-				file: {},
-				projectTargetBim: {},
-				timer: null
-			}
-		},
-		created() {
-			getBimType().then(res => {
-				if (res.state) this.typeList = res.data;
-				this.init();
-			});
-		},
-		beforeDestroy() {
-			if (this.timer) {
-				clearInterval(this.timer);
-				this.timer = null;
-			}
-		},
-		methods: {
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-content-title">
+			<div class="hui-title-item active">模型列表</div>
+		</div>
+		<div class="hui-flex-box hui-flex hui-table">
+			<div class="hui-content-insert">
+				<el-button v-permission="'/work/bim/upload'" type="primary" size="medium"
+					@click="drawer = true">上传模型</el-button>
+				<bim-upload ref="bimUpload" v-show="false" @changeBim="init"></bim-upload>
+			</div>
+			<div class="hui-flex-box">
+				<el-table ref="singleTable" :data="tableData" border height="100%">
+					<el-table-column label="序号" width="50">
+						<template slot-scope="scope">
+							{{scope.$index + 1}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="name" label="模型名称"></el-table-column>
+					<el-table-column prop="projectItemName" label="单位建筑"></el-table-column>
+					<el-table-column prop="projectItemTargetName" label="具体位置"></el-table-column>
+					<el-table-column prop="createUserName" width="100" label="上传人"></el-table-column>
+					<el-table-column width="200" label="上传时间">
+						<template slot-scope="scope">
+							<span>{{$dayjs(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss')}}</span>
+						</template>
+					</el-table-column>
+					<el-table-column width="100" label="类型">
+						<template slot-scope="scope">
+							<div class="hui-table-tag">
+								<div class="hui-tag">
+									{{typeList.filter(item=>item.id == scope.row.type)[0].typeName}}
+								</div>
+							</div>
+						</template>
+					</el-table-column>
+					<el-table-column width="100" label="状态">
+						<template slot-scope="scope">
+							<div class="hui-table-tag">
+								<div class="hui-tag hui-tag-success" v-if="scope.row.status === 2">
+									转换成功
+								</div>
+								<div class="hui-tag hui-tag-warning" v-if="scope.row.status === 1">
+									转换中
+								</div>
+								<div class="hui-tag hui-tag-warning" v-if="scope.row.status === 0">
+									等待转换
+								</div>
+							</div>
+						</template>
+					</el-table-column>
+					<el-table-column width="220" label="操作">
+						<template slot-scope="scope">
+							<div class="hui-table-operation">
+								<span v-permission="'/work/bim/reload'" class="table-operation" @click="reloadUpload(scope.row)">
+									重新上传
+								</span>
+								<span v-permission="'/work/bim/convert'" class="table-operation" v-if="scope.row.status === 0"
+									@click="convertBim(scope.row)">
+									转换
+								</span>
+								<span v-permission="'/work/bim/preview'" class="table-operation" v-if="scope.row.status === 2"
+									@click="previewBim(scope.row)">
+									预览
+								</span>
+								<span v-permission="'/work/bim/delete'" class="table-operation" @click="deleteBim(scope.row)">
+									删除
+								</span>
+								<span v-permission="'/work/bim/download'" class="table-operation" @click="downloadBim(scope.row)">
+									下载
+								</span>
+							</div>
+						</template>
+					</el-table-column>
+					<template slot="empty">
+						<empty description="暂无数据"></empty>
+					</template>
+				</el-table>
+			</div>
+		</div>
+		<el-dialog :close-on-click-modal="false" title="上传模型" :visible.sync="drawer" width="900px"
+			:append-to-body="true">
+			<bim-form @callback="callback" v-if="drawer"></bim-form>
+		</el-dialog>
+		<el-dialog :close-on-click-modal="false" title="预览模型" :visible.sync="dialogVisible" :append-to-body="true"
+			width="80%">
+			<preview v-if="dialogVisible" @close="dialogVisible = false" type="model" :file="file"></preview>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	import {
+		getBimList,
+		updateProjectItemTargetBim,
+		getProjectItemTargetBimList,
+		translateBim,
+		toBimFace,
+		getBimType
+	} from '@/httpApi/bim';
+	import bimForm from '@/components/work/bim/bimForm'
+	import preview from '@/components/work/bim/preview'
+	import config from '@/config';
+	import bimUpload from '@/components/common/bimUpload'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				drawer: false,
+				typeList: [],
+				dialogVisible: false,
+				file: {},
+				projectTargetBim: {},
+				timer: null
+			}
+		},
+		created() {
+			getBimType().then(res => {
+				if (res.state) this.typeList = res.data;
+				this.init();
+			});
+		},
+		beforeDestroy() {
+			if (this.timer) {
+				clearInterval(this.timer);
+				this.timer = null;
+			}
+		},
+		methods: {
 			init() {
-				getBimList(this.$store.getters.project.id).then(res => {
-					if (res.state) {
-						this.tableData = res.data;
-						this.projectTargetBimFunc(res.data);
-						let loading = this.tableData.filter(node => node.status === 1).length;
-						if (loading === 0 && this.timer) {
-							clearInterval(this.timer);
-							return this.timer = null;
-						}
-						if (loading > 0 && !this.timer) {
-							this.timer = setInterval(this.init, 30000);
-						}
-					}
-				})
-			},
-			projectTargetBimFunc(data) {
-				let obj = {};
-				for (let i = 0; i < data.length; i++) {
-					if (!obj[data[i].projectItemTargetId]) obj[data[i].projectItemTargetId] = [];
-					obj[data[i].projectItemTargetId].push(data[i].id)
-				}
-				this.projectTargetBim = obj;
-			},
-			callback(type) {
-				this.drawer = false;
-				if (type == 'init') this.init();
-			},
-			convertBim(item) {
-				this.$confirm('确定要转换该模型?', () => {
-					item.status == 0 ? toBimFace(item.id).then(res => {
-						if (res.state) this.translateBim(item);
-					}) : this.translateBim(item);
-				});
-			},
-			translateBim(item) {
-				translateBim(item.id).then(res => {
-					if (res.state) {
-						this.$message.success('开始转换模型');
-						this.init();
-						this.timer = setInterval(this.init, 30000);
-					}
-				})
-			},
-			previewBim(item) {
-				this.file = {
-					id: item.bimfaceInfo.fileId,
-					name: item.name
-				}
-				this.dialogVisible = true;
-			},
-			deleteBim(item) {
-				this.$confirm('确定要删除该模型?', () => {
-					let bims = this.projectTargetBim[item.projectItemTargetId];
-					let index = bims.findIndex(node => node == item.id);
-					bims.splice(index, 1);
-					getProjectItemTargetBimList(item.projectItemTargetId).then(node => {
-						if (node.state) {
-							updateProjectItemTargetBim({
-								projectItemTargetId: item.projectItemTargetId,
-								bims: bims.join(','),
-								id: node.data.id
-							}).then(res => {
-								if (res.state) {
-									this.$message.success('操作成功');
-									this.init();
-								}
-							});
-						}
-					})
-				})
-			},
-			reloadUpload(row) {
-				this.$refs.bimUpload.reloadUpload(row);
-			},
-			downloadBim(row) {
-				window.location.href = config.baseURL + '/bim/bim/download/' + row.id;
-			}
-		},
-		components: {
-			bimForm,
-			preview,
-			bimUpload
-		},
-	}
-</script>
-
+				if (!this.auth('/work/bim/list')) return;
+				getBimList(this.$store.getters.project.id).then(res => {
+					if (res.state) {
+						this.tableData = res.data;
+						this.projectTargetBimFunc(res.data);
+						let loading = this.tableData.filter(node => node.status === 1).length;
+						if (loading === 0 && this.timer) {
+							clearInterval(this.timer);
+							return this.timer = null;
+						}
+						if (loading > 0 && !this.timer) {
+							this.timer = setInterval(this.init, 30000);
+						}
+					}
+				})
+			},
+			projectTargetBimFunc(data) {
+				let obj = {};
+				for (let i = 0; i < data.length; i++) {
+					if (!obj[data[i].projectItemTargetId]) obj[data[i].projectItemTargetId] = [];
+					obj[data[i].projectItemTargetId].push(data[i].id)
+				}
+				this.projectTargetBim = obj;
+			},
+			callback(type) {
+				this.drawer = false;
+				if (type == 'init') this.init();
+			},
+			convertBim(item) {
+				this.$confirm('确定要转换该模型?', () => {
+					item.status == 0 ? toBimFace(item.id).then(res => {
+						if (res.state) this.translateBim(item);
+					}) : this.translateBim(item);
+				});
+			},
+			translateBim(item) {
+				translateBim(item.id).then(res => {
+					if (res.state) {
+						this.$message.success('开始转换模型');
+						this.init();
+						this.timer = setInterval(this.init, 30000);
+					}
+				})
+			},
+			previewBim(item) {
+				this.file = {
+					id: item.bimfaceInfo.fileId,
+					name: item.name
+				}
+				this.dialogVisible = true;
+			},
+			deleteBim(item) {
+				this.$confirm('确定要删除该模型?', () => {
+					let bims = this.projectTargetBim[item.projectItemTargetId];
+					let index = bims.findIndex(node => node == item.id);
+					bims.splice(index, 1);
+					getProjectItemTargetBimList(item.projectItemTargetId).then(node => {
+						if (node.state) {
+							updateProjectItemTargetBim({
+								projectItemTargetId: item.projectItemTargetId,
+								bims: bims.join(','),
+								id: node.data.id
+							}).then(res => {
+								if (res.state) {
+									this.$message.success('操作成功');
+									this.init();
+								}
+							});
+						}
+					})
+				})
+			},
+			reloadUpload(row) {
+				this.$refs.bimUpload.reloadUpload(row);
+			},
+			downloadBim(row) {
+				window.location.href = config.baseURL + '/bim/bim/download/' + row.id;
+			}
+		},
+		components: {
+			bimForm,
+			preview,
+			bimUpload
+		},
+	}
+</script>
+
 <style lang="scss"></style>

+ 7 - 6
virgo.wzfrontend/console/src/views/work/contract/list.vue

@@ -7,7 +7,7 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter type="contract" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增合同</el-button>
+					<el-button v-permission="'/work/contract/list/add'" type="primary" size="medium" @click="insert">新增合同</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -43,7 +43,7 @@
 						<el-table-column label="状态" width="100">
 							<template slot-scope="scope">
 								<div class="hui-table-operation" v-if="!scope.row.status">
-									<span class="table-operation" @click="sendItem(scope.row)">
+									<span v-permission="'/work/contract/list/send'" class="table-operation" @click="sendItem(scope.row)">
 										发送租客
 									</span>
 								</div>
@@ -56,14 +56,14 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/contract/list/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" v-if="scope.row.status != 2"
+									<span class="table-operation" v-permission="'/work/contract/list/update'" v-if="scope.row.status != 2"
 										@click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" v-if="scope.row.status != 2"
+									<span class="table-operation" v-permission="'/work/contract/list/delete'" v-if="scope.row.status != 2"
 										@click="deleteItem(scope.row)">
 										删除
 									</span>
@@ -121,7 +121,8 @@
 		},
 		methods: {
 			init() {
-				//合同状态,0-初始状态、1.已发送租客、2.已确认生成合同、3.已续费、4.即将过期、5.已过期、6.已退租。
+				//合同状态,0-初始状态、1.已发送租客、2.已确认生成合同、3.已续费、4.即将过期、5.已过期、6.已退租。
+				if (!this.auth('/work/contract/list/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 19 - 8
virgo.wzfrontend/console/src/views/work/contract/template.vue

@@ -5,7 +5,8 @@
 				<div class="hui-left-tree-title">
 					<svg-icon name="zhuangshi" width="16" height="20"></svg-icon>
 					<span class="hui-left-tree-sub">合同分类</span>
-					<i class="el-icon-plus" style="cursor: pointer;" @click="$refs.tagTree.insertTag({})"></i>
+					<i class="el-icon-plus" style="cursor: pointer;" v-permission="'/work/contract/template/class/add'"
+						@click="$refs.tagTree.insertTag({})"></i>
 				</div>
 				<div class="hui-left-tree-content">
 					<tag-tree ref="tagTree" @treeclick="treeclick"></tag-tree>
@@ -18,7 +19,8 @@
 					</div>
 					<div class="hui-flex-box hui-flex hui-table">
 						<div class="hui-content-insert">
-							<el-button type="primary" size="medium" :disabled="categoryId === -1" @click="upload">
+							<el-button v-permission="'/work/contract/template/upload'" type="primary" size="medium"
+								:disabled="categoryId === -1" @click="upload">
 								<i class="iconfont huifont-shangchuan"></i>上传合同模板
 							</el-button>
 							<document-upload ref="upload" v-show="false" @changeFile="changeFile"></document-upload>
@@ -33,7 +35,8 @@
 								<el-table-column label="合同名称" prop="name"></el-table-column>
 								<el-table-column label="模板字段" width="100">
 									<template slot-scope="scope">
-										<el-button size="small" type="primary" @click="setField(scope.row)">
+										<el-button v-permission="'/work/contract/template/set'" size="small"
+											type="primary" @click="setField(scope.row)">
 											设置
 										</el-button>
 									</template>
@@ -41,16 +44,23 @@
 								<el-table-column label="操作" width="240">
 									<template slot-scope="scope">
 										<div class="hui-table-operation">
-											<span class="table-operation" @click="reloadUpload(scope.row)">
+											<span class="table-operation"
+												v-permission="'/work/contract/template/reload'"
+												@click="reloadUpload(scope.row)">
 												重新上传
 											</span>
-											<span class="table-operation" @click="download(scope.row)">
+											<span class="table-operation" v-permission="'/work/contract/template/download'"
+												@click="download(scope.row)">
 												下载
 											</span>
-											<span class="table-operation" @click="preview(scope.row)">
+											<span class="table-operation"
+												v-permission="'/work/contract/template/preview'"
+												@click="preview(scope.row)">
 												预览
 											</span>
-											<span class="table-operation" @click="deleteItem(scope.row)">
+											<span class="table-operation"
+												v-permission="'/work/contract/template/delete'"
+												@click="deleteItem(scope.row)">
 												删除
 											</span>
 										</div>
@@ -114,7 +124,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/contract/template/list')) return;
 				getContractTemplateList({
 					categoryId: this.categoryId,
 					currPage: this.currPage,

+ 7 - 6
virgo.wzfrontend/console/src/views/work/crm/agent.vue

@@ -6,7 +6,7 @@
 		<div class="hui-flex-box hui-flex hui-table">
 			<list-filter type="agent" @filter="filterInit"></list-filter>
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertAgent">新增经纪人</el-button>
+				<el-button v-permission="'/work/crm/agent/add'" type="primary" size="medium" @click="insertAgent">新增经纪人</el-button>
 			</div>
 			<div class="hui-flex-box">
 				<el-table :data="tableData" row-key="id" border height="100%">
@@ -20,7 +20,7 @@
 					<el-table-column label="邀请项目" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation" v-if="!scope.row.status">
-								<span class="table-operation" @click="inviteAgent(scope.row)">发送邀请</span>
+								<span class="table-operation" v-permission="'/work/crm/agent/send'" @click="inviteAgent(scope.row)">发送邀请</span>
 							</div>
 							<div class="hui-table-operation" v-if="scope.row.status === 3">
 								<span class="table-operation" @click="inviteAgent(scope.row)">重新邀请</span>
@@ -50,9 +50,9 @@
 					<el-table-column label="操作" width="200">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookAgent(scope.row)">详情</span>
-								<span class="table-operation" @click="updateAgent(scope.row)">编辑</span>
-								<span class="table-operation" @click="deleteAgent(scope.row)">删除</span>
+								<span class="table-operation" v-permission="'/work/crm/agent/detail'" @click="lookAgent(scope.row)">详情</span>
+								<span class="table-operation" v-permission="'/work/crm/agent/update'" @click="updateAgent(scope.row)">编辑</span>
+								<span class="table-operation" v-permission="'/work/crm/agent/delete'" @click="deleteAgent(scope.row)">删除</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -109,7 +109,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/crm/agent/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 10 - 9
virgo.wzfrontend/console/src/views/work/crm/customer.vue

@@ -13,9 +13,9 @@
 		<div class="hui-flex-box hui-flex hui-table">
 			<list-filter type="customer" @filter="filterInit"></list-filter>
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertCustomer">新增客户</el-button>
+				<el-button v-permission="'/work/crm/customer/add'" type="primary" size="medium" @click="insertCustomer">新增客户</el-button>
 				<el-button type="info" size="medium" @click="downloadFile">标准模板下载</el-button>
-				<el-button type="info" size="medium" @click="$refs.upload.reloadUpload()">批量导入</el-button>
+				<el-button v-permission="'/work/crm/customer/add'" type="info" size="medium" @click="$refs.upload.reloadUpload()">批量导入</el-button>
 				<customer-upload ref="upload" v-show="false" @changeFile="init"></customer-upload>
 			</div>
 			<div class="hui-flex-box">
@@ -35,7 +35,7 @@
 					<el-table-column label="需求区间" prop="demand"></el-table-column>
 					<el-table-column label="公海客户">
 						<template slot-scope="scope">
-							<div class="hui-table-operation">
+							<div class="hui-table-operation" v-permission="'/work/crm/customer/highseas'">
 								<el-switch v-model="scope.row.highSeas" :active-value="1" :inactive-value="2"
 									@change="val=>putHighSeas(val,scope.row)">
 								</el-switch>
@@ -44,7 +44,7 @@
 					</el-table-column>
 					<el-table-column label="跟进记录">
 						<template slot-scope="scope">
-							<div class="hui-table-operation">
+							<div class="hui-table-operation" v-permission="'/work/crm/customer/record'">
 								<span class="table-operation" @click="lookCustomer(scope.row,'followUpRecord')">
 									查看
 								</span>
@@ -54,7 +54,7 @@
 					<el-table-column label="邀请项目">
 						<template slot-scope="scope">
 							<div class="hui-table-operation" v-if="!scope.row.status">
-								<span class="table-operation" @click="inviteCustomer(scope.row)">发送邀请</span>
+								<span class="table-operation" v-permission="'/work/crm/customer/send'" @click="inviteCustomer(scope.row)">发送邀请</span>
 							</div>
 							<div class="hui-table-operation" v-if="scope.row.status === 3">
 								<span class="table-operation" @click="inviteCustomer(scope.row)">重新邀请</span>
@@ -84,9 +84,9 @@
 					<el-table-column label="操作" width="200">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookCustomer(scope.row,'customer')">详情</span>
-								<span class="table-operation" @click="updateCustomer(scope.row)">编辑</span>
-								<span class="table-operation" @click="deleteCustomer(scope.row)">删除</span>
+								<span class="table-operation" v-permission="'/work/crm/customer/detail'" @click="lookCustomer(scope.row,'customer')">详情</span>
+								<span class="table-operation" v-permission="'/work/crm/customer/update'" @click="updateCustomer(scope.row)">编辑</span>
+								<span class="table-operation" v-permission="'/work/crm/customer/delete'" @click="deleteCustomer(scope.row)">删除</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -151,7 +151,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/crm/customer/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 7 - 6
virgo.wzfrontend/console/src/views/work/crm/organization.vue

@@ -6,7 +6,7 @@
 		<div class="hui-flex-box hui-flex hui-table">
 			<list-filter type="organization" @filter="filterInit"></list-filter>
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertProject">新增企业</el-button>
+				<el-button v-permission="'/work/crm/organization/add'" type="primary" size="medium" @click="insertProject">新增企业</el-button>
 			</div>
 			<div class="hui-flex-box">
 				<el-table :data="tableData" row-key="id" border height="100%">
@@ -27,7 +27,7 @@
 					<el-table-column label="绑定组织" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation" v-if="!scope.row.status">
-								<span class="table-operation" @click="bindOrganization(scope.row)">绑定组织</span>
+								<span class="table-operation" v-permission="'/work/crm/organization/send'" @click="bindOrganization(scope.row)">绑定组织</span>
 							</div>
 							<div v-else class="hui-table-tag">
 								<div class="hui-tag hui-tag-success">已绑定</div>
@@ -37,9 +37,9 @@
 					<el-table-column label="操作" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookProject(scope.row)">详情</span>
-								<span class="table-operation" @click="updateProject(scope.row)">编辑</span>
-								<span class="table-operation" @click="deleteOrganization(scope.row)">删除</span>
+								<span class="table-operation" v-permission="'/work/crm/organization/detail'" @click="lookProject(scope.row)">详情</span>
+								<span class="table-operation" v-permission="'/work/crm/organization/update'" @click="updateProject(scope.row)">编辑</span>
+								<span class="table-operation" v-permission="'/work/crm/organization/delete'" @click="deleteOrganization(scope.row)">删除</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -98,7 +98,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/crm/organization/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 18 - 11
virgo.wzfrontend/console/src/views/work/invoice/contract/client.vue

@@ -14,23 +14,30 @@
 							</template>
 						</el-table-column>
 						<el-table-column label="发票名称" prop="name"></el-table-column>
-						<el-table-column label="发票类型" prop="code" width="200">
+						<el-table-column label="发票类型" prop="code">
 							<template slot-scope="scope">
 								<span>{{$field.findTypeName('invoiceType',scope.row.invoiceType)}}</span>
 							</template>
 						</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="状态" 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 label="开票时间" prop="date"></el-table-column>
+						<el-table-column label="发票金额" prop="invoiceAmount"></el-table-column>
+						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="采购方" prop="name">
+							<template slot-scope="scope">
+								<span>{{scope.row.payMerchantName || scope.row.payClientName}}</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="销售方" prop="organizationName"></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">
+						<el-table-column label="操作" width="120">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
 									<span class="table-operation" @click="detailItem(scope.row)">

+ 40 - 33
virgo.wzfrontend/console/src/views/work/invoice/contract/organization.vue

@@ -8,39 +8,46 @@
 				<list-filter ref="invoice" type="invoice" @filter="filterInit"></list-filter>
 				<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">
-								<div style="text-align: center;">{{scope.$index + 1}}</div>
-							</template>
-						</el-table-column>
-						<el-table-column label="发票名称" prop="name"></el-table-column>
-						<el-table-column label="发票类型" prop="code" width="200">
-							<template slot-scope="scope">
-								<span>{{$field.findTypeName('invoiceType',scope.row.invoiceType)}}</span>
-							</template>
-						</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="状态" 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">
-									<span class="table-operation" @click="detailItem(scope.row)">
-										详情
-									</span>
-								</div>
-							</template>
-						</el-table-column>
-						<template slot="empty">
-							<empty description="暂无数据"></empty>
+						<el-table-column label="序号" width="50">
+							<template slot-scope="scope">
+								<div style="text-align: center;">{{scope.$index + 1}}</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="发票名称" prop="name"></el-table-column>
+						<el-table-column label="发票类型" prop="code">
+							<template slot-scope="scope">
+								<span>{{$field.findTypeName('invoiceType',scope.row.invoiceType)}}</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="发票号码" prop="number"></el-table-column>
+						<el-table-column label="开票时间" prop="date"></el-table-column>
+						<el-table-column label="发票金额" prop="invoiceAmount"></el-table-column>
+						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
+						<el-table-column label="采购方" prop="name">
+							<template slot-scope="scope">
+								<span>{{scope.row.payMerchantName || scope.row.payClientName}}</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="销售方" prop="organizationName"></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="120">
+							<template slot-scope="scope">
+								<div class="hui-table-operation">
+									<span class="table-operation" @click="detailItem(scope.row)">
+										详情
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<template slot="empty">
+							<empty description="暂无数据"></empty>
 						</template>
 					</el-table>
 				</div>

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

@@ -13,7 +13,6 @@
 								<div style="text-align: center;">{{scope.$index + 1}}</div>
 							</template>
 						</el-table-column>
-						<el-table-column label="开票时间" prop="date"></el-table-column>
 						<el-table-column label="发票名称" prop="name"></el-table-column>
 						<el-table-column label="发票类型" prop="code">
 							<template slot-scope="scope">
@@ -21,6 +20,7 @@
 							</template>
 						</el-table-column>
 						<el-table-column label="发票号码" prop="number"></el-table-column>
+						<el-table-column label="开票时间" prop="date"></el-table-column>
 						<el-table-column label="发票金额" prop="invoiceAmount"></el-table-column>
 						<el-table-column label="货物名称" prop="cargoName"></el-table-column>
 						<el-table-column label="采购方" prop="name">

+ 147 - 145
virgo.wzfrontend/console/src/views/work/operation/meeting/organization.vue

@@ -1,150 +1,152 @@
-<template>
-	<div class="hui-flex hui-content">
-		<div class="hui-flex">
-			<div class="hui-content-title">
-				<div class="hui-title-item active">公司会议</div>
-			</div>
-			<div class="hui-flex-box hui-flex hui-table">
-				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增会议</el-button>
-				</div>
-				<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">
-								<div style="text-align: center;">{{scope.$index + 1}}</div>
-							</template>
-						</el-table-column>
-						<el-table-column label="会议名称" prop="name"></el-table-column>
-						<el-table-column label="会议时间" prop="date"></el-table-column>
-						<el-table-column label="会议类型" prop="typeName"></el-table-column>
-						<el-table-column label="发起人" prop="userName"></el-table-column>
-						<el-table-column label="会议地点" prop="placeName"></el-table-column>
-						<el-table-column label="会议纪要" prop="meetingMinutes"></el-table-column>
-						<el-table-column label="操作" width="150">
-							<template slot-scope="scope">
-								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
-										详情
-									</span>
-									<span class="table-operation" @click="updateItem(scope.row)">
-										编辑
-									</span>
-									<span class="table-operation" @click="deleteItem(scope.row)">
-										删除
-									</span>
-								</div>
-							</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>
-		</div>
-		<el-dialog :close-on-click-modal="false" :title="isUpdate?'编辑':'新增'" :visible.sync="visible" width="900px" :append-to-body="true">
-			<edit v-if="visible" @callback="callback" :isUpdate="isUpdate" :detailId="detailId" :type="type"></edit>
-		</el-dialog>
-		<el-drawer title="会议详情" :visible.sync="drawer" :size="400" :append-to-body="true">
-			<detail v-if="drawer" :detailId="detailId" @callback="callback"></detail>
-		</el-drawer>
-	</div>
-</template>
-
-<script>
-	import {
-		getMeetingListByQuery,
-		deleteMeetingById
-	} from '@/httpApi/operation'
-	import edit from '@/components/work/operation/meeting/edit'
-	import detail from '@/components/work/operation/meeting/detail'
-	export default {
-		data() {
-			return {
-				tableData: [],
-				currPage: 1,
-				pageSize: 10,
-				totalCount: 0,
-				filterOption: {},
-				type: 2,
-				isUpdate: false,
-				visible: false,
-				detailId: '',
-				drawer: false
-			}
-		},
-		created() {
-			this.init();
-		},
-		methods: {
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-flex">
+			<div class="hui-content-title">
+				<div class="hui-title-item active">项目会议</div>
+			</div>
+			<div class="hui-flex-box hui-flex hui-table">
+				<div class="hui-content-insert">
+					<el-button v-permission="'/work/operation/meeting/organization/add'" type="primary" size="medium" @click="insert">新增会议</el-button>
+				</div>
+				<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">
+								<div style="text-align: center;">{{scope.$index + 1}}</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="会议名称" prop="name"></el-table-column>
+						<el-table-column label="会议时间" prop="date"></el-table-column>
+						<el-table-column label="会议类型" prop="typeName"></el-table-column>
+						<el-table-column label="发起人" prop="userName"></el-table-column>
+						<el-table-column label="会议地点" prop="placeName"></el-table-column>
+						<el-table-column label="会议纪要" prop="meetingMinutes"></el-table-column>
+						<el-table-column label="操作" width="150">
+							<template slot-scope="scope">
+								<div class="hui-table-operation">
+									<span class="table-operation" v-permission="'/work/operation/meeting/organization/detail'" @click="detailItem(scope.row)">
+										详情
+									</span>
+									<span class="table-operation" v-permission="'/work/operation/meeting/organization/update'" @click="updateItem(scope.row)">
+										编辑
+									</span>
+									<span class="table-operation" v-permission="'/work/operation/meeting/organization/delete'" @click="deleteItem(scope.row)">
+										删除
+									</span>
+								</div>
+							</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>
+		</div>
+		<el-dialog :close-on-click-modal="false" :title="isUpdate?'编辑':'新增'" :visible.sync="visible" width="900px"
+			:append-to-body="true">
+			<edit v-if="visible" @callback="callback" :isUpdate="isUpdate" :detailId="detailId" :type="type"></edit>
+		</el-dialog>
+		<el-drawer title="会议详情" :visible.sync="drawer" :size="400" :append-to-body="true">
+			<detail v-if="drawer" :detailId="detailId" @callback="callback"></detail>
+		</el-drawer>
+	</div>
+</template>
+
+<script>
+	import {
+		getMeetingListByQuery,
+		deleteMeetingById
+	} from '@/httpApi/operation'
+	import edit from '@/components/work/operation/meeting/edit'
+	import detail from '@/components/work/operation/meeting/detail'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 10,
+				totalCount: 0,
+				filterOption: {},
+				type: 2,
+				isUpdate: false,
+				visible: false,
+				detailId: '',
+				drawer: false
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
 			init() {
-				let postData = {
+				if (!this.auth('/work/operation/meeting/organization/list')) return;
+				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,
 					organizationId: this.$store.getters.organization.id,
-					type: this.type
-				}
-				postData = Object.assign(postData, this.filterOption);
-				getMeetingListByQuery(postData).then(res => {
-					if (res.state) {
-						this.tableData = res.data.dataList;
-						this.totalCount = res.data.totalCount;
-					}
-				})
-			},
-			filterInit(option) {
-				this.filterOption = option;
-				this.currPage = 1;
-				this.init();
-			},
-			insert() {
-				this.detailId = '';
-				this.isUpdate = false;
-				this.visible = true;
-			},
-			updateItem(item) {
-				this.detailId = item.id;
-				this.isUpdate = true;
-				this.visible = true;
-			},
-			detailItem(item) {
-				this.detailId = item.id;
-				this.drawer = true;
-			},
-			currentChange(currPage) {
-				this.currPage = currPage;
-				this.init();
-			},
-			deleteItem(item) {
-				this.$confirm('确定要删除该会议记录?', () => {
-					deleteMeetingById(item.id).then(res => {
-						if (res.state) {
-							this.$message({
-								type: 'success',
-								message: '操作成功'
-							})
-							this.init();
-						}
-					})
-				});
-			},
-			callback(type) {
-				if (type === 'init') this.init();
-				this.visible = false;
-			}
-		},
-		components: {
-			edit,
-			detail
-		},
-	}
-</script>
-
-<style>
+					type: this.type
+				}
+				postData = Object.assign(postData, this.filterOption);
+				getMeetingListByQuery(postData).then(res => {
+					if (res.state) {
+						this.tableData = res.data.dataList;
+						this.totalCount = res.data.totalCount;
+					}
+				})
+			},
+			filterInit(option) {
+				this.filterOption = option;
+				this.currPage = 1;
+				this.init();
+			},
+			insert() {
+				this.detailId = '';
+				this.isUpdate = false;
+				this.visible = true;
+			},
+			updateItem(item) {
+				this.detailId = item.id;
+				this.isUpdate = true;
+				this.visible = true;
+			},
+			detailItem(item) {
+				this.detailId = item.id;
+				this.drawer = true;
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			deleteItem(item) {
+				this.$confirm('确定要删除该会议记录?', () => {
+					deleteMeetingById(item.id).then(res => {
+						if (res.state) {
+							this.$message({
+								type: 'success',
+								message: '操作成功'
+							})
+							this.init();
+						}
+					})
+				});
+			},
+			callback(type) {
+				if (type === 'init') this.init();
+				this.visible = false;
+			}
+		},
+		components: {
+			edit,
+			detail
+		},
+	}
+</script>
+
+<style>
 </style>

+ 6 - 5
virgo.wzfrontend/console/src/views/work/operation/meeting/project.vue

@@ -6,7 +6,7 @@
 			</div>
 			<div class="hui-flex-box hui-flex hui-table">
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增会议</el-button>
+					<el-button v-permission="'/work/operation/meeting/project/add'" type="primary" size="medium" @click="insert">新增会议</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -24,13 +24,13 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/operation/meeting/project/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" @click="updateItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/operation/meeting/project/update'" @click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" @click="deleteItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/operation/meeting/project/delete'" @click="deleteItem(scope.row)">
 										删除
 									</span>
 								</div>
@@ -84,7 +84,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/operation/meeting/project/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 16 - 8
virgo.wzfrontend/console/src/views/work/operation/meeting/set.vue

@@ -8,10 +8,13 @@
 				<div class="tag">
 					<div class="target-item" v-for="item in placeList" :key="item.id">
 						<span class="label">{{item.name}}</span>
-						<i class="iconfont huifont-bianji" @click.stop="updateFunc(1,item)"></i>
-						<i class="iconfont huifont-guanbi" @click.stop="deleteFunc(1,item)"></i>
+						<i class="iconfont huifont-bianji" v-permission="'/work/operation/meeting/set/place/update'"
+							@click.stop="updateFunc(1,item)"></i>
+						<i class="iconfont huifont-guanbi" v-permission="'/work/operation/meeting/set/place/delete'"
+							@click.stop="deleteFunc(1,item)"></i>
 					</div>
-					<div class="target-item target-item-insert" @click="insertFunc(1)">
+					<div class="target-item target-item-insert" v-permission="'/work/operation/meeting/set/place/add'"
+						@click="insertFunc(1)">
 						<i class="iconfont huifont-xinzeng"></i>
 						<span class="label">新增场所</span>
 					</div>
@@ -27,10 +30,13 @@
 				<div class="tag">
 					<div class="target-item" v-for="item in typeList" :key="item.id">
 						<span class="label">{{item.name}}</span>
-						<i class="iconfont huifont-bianji" @click.stop="updateFunc(2,item)"></i>
-						<i class="iconfont huifont-guanbi" @click.stop="deleteFunc(2,item)"></i>
+						<i class="iconfont huifont-bianji" v-permission="'/work/operation/meeting/set/type/update'"
+							@click.stop="updateFunc(2,item)"></i>
+						<i class="iconfont huifont-guanbi" v-permission="'/work/operation/meeting/set/type/delete'"
+							@click.stop="deleteFunc(2,item)"></i>
 					</div>
-					<div class="target-item target-item-insert" @click="insertFunc(2)">
+					<div class="target-item target-item-insert" v-permission="'/work/operation/meeting/set/type/add'"
+						@click="insertFunc(2)">
 						<i class="iconfont huifont-xinzeng"></i>
 						<span class="label">新增类型</span>
 					</div>
@@ -63,7 +69,8 @@
 			this.initTypeList();
 		},
 		methods: {
-			initPlaceList() {
+			initPlaceList() {
+				if (!this.auth('/work/operation/meeting/set/place/list')) return;
 				getMeetingPlaceListByQuery({
 					organizationId: this.$store.getters.organization.id,
 					projectId: this.$store.getters.project.id
@@ -73,7 +80,8 @@
 					}
 				})
 			},
-			initTypeList() {
+			initTypeList() {
+				if (!this.auth('/work/operation/meeting/set/type/list')) return;
 				getMeetingTypeListByQuery({
 					organizationId: this.$store.getters.organization.id,
 					projectId: this.$store.getters.project.id

+ 5 - 4
virgo.wzfrontend/console/src/views/work/order/clear.vue

@@ -7,7 +7,7 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter type="order" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+					<el-button v-permission="'/work/order/clear/add'" type="primary" size="medium" @click="insert">新增工单</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -50,14 +50,14 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/clear/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/clear/update'" v-if="!scope.row.status"
 										@click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/clear/delete'" v-if="!scope.row.status"
 										@click="deleteItem(scope.row)">
 										删除
 									</span>
@@ -114,6 +114,7 @@
 		},
 		methods: {
 			init() {
+				if (!this.auth('/work/order/clear/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 5 - 4
virgo.wzfrontend/console/src/views/work/order/operation.vue

@@ -7,7 +7,7 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter type="order" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+					<el-button v-permission="'/work/order/operation/add'" type="primary" size="medium" @click="insert">新增工单</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -41,14 +41,14 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/operation/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/operation/update'" v-if="!scope.row.status"
 										@click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/operation/delete'" v-if="!scope.row.status"
 										@click="deleteItem(scope.row)">
 										删除
 									</span>
@@ -105,6 +105,7 @@
 		},
 		methods: {
 			init() {
+				if (!this.auth('/work/order/operation/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 6 - 5
virgo.wzfrontend/console/src/views/work/order/patrol.vue

@@ -7,7 +7,7 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter type="order" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+					<el-button v-permission="'/work/order/patrol/add'" type="primary" size="medium" @click="insert">新增工单</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -50,14 +50,14 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/patrol/detail'" @click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/patrol/update'" v-if="!scope.row.status"
 										@click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
+									<span class="table-operation" v-permission="'/work/order/patrol/delete'" v-if="!scope.row.status"
 										@click="deleteItem(scope.row)">
 										删除
 									</span>
@@ -114,7 +114,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/order/patrol/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 10 - 7
virgo.wzfrontend/console/src/views/work/order/service.vue

@@ -7,7 +7,8 @@
 			<div class="hui-flex-box hui-flex hui-table">
 				<list-filter type="order" @filter="filterInit"></list-filter>
 				<div class="hui-content-insert">
-					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+					<el-button v-permission="'/work/order/service/add'" type="primary" size="medium"
+						@click="insert">新增工单</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<el-table :data="tableData" row-key="id" border height="100%">
@@ -50,15 +51,16 @@
 						<el-table-column label="操作" width="150">
 							<template slot-scope="scope">
 								<div class="hui-table-operation">
-									<span class="table-operation" @click="detailItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/service/detail'"
+										@click="detailItem(scope.row)">
 										详情
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
-										@click="updateItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/service/update'"
+										v-if="!scope.row.status" @click="updateItem(scope.row)">
 										编辑
 									</span>
-									<span class="table-operation" v-if="!scope.row.status"
-										@click="deleteItem(scope.row)">
+									<span class="table-operation" v-permission="'/work/order/service/delete'"
+										v-if="!scope.row.status" @click="deleteItem(scope.row)">
 										删除
 									</span>
 								</div>
@@ -114,7 +116,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/order/service/list')) return;
 				let postData = {
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 7 - 6
virgo.wzfrontend/console/src/views/work/organization/depart.vue

@@ -5,7 +5,7 @@
 		</div>
 		<div class="hui-flex-box hui-flex hui-table">
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertDepartment({})">新建部门</el-button>
+				<el-button v-permission="'/work/organization/depart/add'" type="primary" size="medium" @click="insertDepartment({})">新建部门</el-button>
 			</div>
 			<div class="hui-flex-box">
 				<el-table :data="treeData" row-key="id" border height="100%">
@@ -35,16 +35,16 @@
 					<el-table-column label="操作" width="240">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookFlow(scope.row)">
+								<span v-permission="'/work/organization/depart/detail'" class="table-operation" @click="lookFlow(scope.row)">
 									详情
 								</span>
-								<span class="table-operation" @click="insertDepartment(scope.row)">
+								<span v-permission="'/work/organization/depart/add'" class="table-operation" @click="insertDepartment(scope.row)">
 									添加子部门
 								</span>
-								<span class="table-operation" @click="updateDepartment(scope.row)">
+								<span v-permission="'/work/organization/depart/update'" class="table-operation" @click="updateDepartment(scope.row)">
 									编辑
 								</span>
-								<span class="table-operation" @click="deleteDepartment(scope.row)">
+								<span v-permission="'/work/organization/depart/delete'" class="table-operation" @click="deleteDepartment(scope.row)">
 									删除
 								</span>
 							</div>
@@ -89,7 +89,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/organization/depart/list')) return;
 				getPartList(this.$store.getters.organization.id, this.$store.getters.project.id).then(res => {
 					if (res.state) {
 						this.treeData = res.data;

+ 3 - 2
virgo.wzfrontend/console/src/views/work/organization/manager.vue

@@ -6,7 +6,7 @@
 		<div class="hui-flex-box">
 			<div class="manager-index hui-flex hui-table">
 				<div class="hui-content-insert" style="text-align: right;">
-					<el-button type="primary" size="medium" @click="visible = true">修改</el-button>
+					<el-button v-permission="'/work/organization/manager/update'" type="primary" size="medium" @click="visible = true">修改</el-button>
 				</div>
 				<div class="hui-flex-box">
 					<div class="manager-content">
@@ -80,7 +80,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/organization/manager/information')) return;
 				this.organization = this.$store.getters.organization;
 				if (this.organization.address) {
 					let address = JSON.parse(this.organization.address);

+ 7 - 6
virgo.wzfrontend/console/src/views/work/organization/seal.vue

@@ -5,7 +5,7 @@
 		</div>
 		<div class="hui-flex-box hui-flex hui-table">
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertSeal">新增印章</el-button>
+				<el-button v-permission="'/work/organization/seal/add'" type="primary" size="medium" @click="insertSeal">新增印章</el-button>
 			</div>
 			<div class="hui-flex-box">
 				<el-table :data="tableData" row-key="id" border height="100%">
@@ -24,16 +24,16 @@
 					<el-table-column label="申请印章" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="requestSeal(scope.row)">查看</span>
+								<span  v-permission="'/work/organization/seal/approve'" class="table-operation" @click="requestSeal(scope.row)">查看</span>
 							</div>
 						</template>
 					</el-table-column>
 					<el-table-column label="操作" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookSeal(scope.row)">详情</span>
-								<span class="table-operation" @click="updateSeal(scope.row)">编辑</span>
-								<span class="table-operation" @click="deleteSeal(scope.row)">删除</span>
+								<span class="table-operation" v-permission="'/work/organization/seal/detail'" @click="lookSeal(scope.row)">详情</span>
+								<span class="table-operation" v-permission="'/work/organization/seal/update'" @click="updateSeal(scope.row)">编辑</span>
+								<span class="table-operation" v-permission="'/work/organization/seal/delete'" @click="deleteSeal(scope.row)">删除</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -80,7 +80,8 @@
 			this.init();
 		},
 		methods: {
-			init() {
+			init() {
+				if (!this.auth('/work/organization/seal/list')) return;
 				getSealList(this.$store.getters.organization.id).then(res => {
 					if (res.state) {
 						this.tableData = res.data;

+ 6 - 5
virgo.wzfrontend/console/src/views/work/organization/user.vue

@@ -35,7 +35,7 @@
 			<div class="hui-tree-content">
 				<div class="hui-flex hui-table">
 					<div class="hui-content-insert">
-						<el-button type="primary" size="medium" @click="insertUser" :disabled="!part.id">
+						<el-button v-permission="'/work/organization/user/add'" type="primary" size="medium" @click="insertUser" :disabled="!part.id">
 							新增成员
 						</el-button>
 					</div>
@@ -64,7 +64,7 @@
 							</el-table-column>
 							<el-table-column label="权限">
 								<template slot-scope="scope">
-									<el-button size="small" type="primary" @click="updateUser(scope.row,2,'设置权限')">
+									<el-button v-permission="'/work/organization/user/set'" size="small" type="primary" @click="updateUser(scope.row,2,'设置权限')">
 										设置
 									</el-button>
 								</template>
@@ -72,14 +72,14 @@
 							<el-table-column label="操作" width="150">
 								<template slot-scope="scope">
 									<div class="hui-table-operation">
-										<span class="table-operation" @click="lookUser(scope.row)">
+										<span v-permission="'/work/organization/user/detail'" class="table-operation" @click="lookUser(scope.row)">
 											详情
 										</span>
-										<span class="table-operation" v-if="!scope.row.projectFlowId"
+										<span v-permission="'/work/organization/user/update'" class="table-operation" v-if="!scope.row.projectFlowId"
 											@click="updateUser(scope.row,3,'修改用户')">
 											编辑
 										</span>
-										<span class="table-operation" v-if="!scope.row.projectFlowId"
+										<span v-permission="'/work/organization/user/delete'" class="table-operation" v-if="!scope.row.projectFlowId"
 											@click="deleteUser(scope.row)">
 											删除
 										</span>
@@ -145,6 +145,7 @@
 		},
 		methods: {
 			init() {
+				if (!this.auth('/work/organization/user/list')) return;
 				getPartList(this.organization.id, this.project.id).then(res => {
 					if (res.state) {
 						this.treeData = res.data;

+ 208 - 203
virgo.wzfrontend/console/src/views/work/space/housing.vue

@@ -1,204 +1,209 @@
-<template>
-	<div class="hui-flex">
-		<div class="hui-flex-box yui-tree-box">
-			<div class="hui-left-tree">
-				<div class="hui-left-tree-title">
-					<svg-icon name="zhuangshi" width="16" height="20"></svg-icon>
-					<span class="hui-left-tree-sub">空间列表</span>
-				</div>
-				<div class="hui-left-tree-content">
-					<project-item-tree @treeclick="treeclick"></project-item-tree>
-				</div>
-			</div>
-			<div class="hui-tree-content">
-				<div class="hui-flex hui-content box-background">
-					<div class="hui-content-title">
-						<div class="hui-title-item active">房源列表</div>
-					</div>
-					<div class="hui-flex-box hui-flex hui-table">
-						<div class="hui-content-insert">
-							<el-button type="primary" size="medium" @click="insertHouse">新增房源</el-button>
-						</div>
-						<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">
-										<div style="text-align: center;">{{scope.$index + 1}}</div>
-									</template>
-								</el-table-column>
-								<el-table-column label="房间号" prop="roomNumber"></el-table-column>
-								<el-table-column label="楼宇" prop="projectItemName"></el-table-column>
-								<el-table-column label="楼层" prop="projectItemTargetName"></el-table-column>
-								<el-table-column label="房源面积(m²)" prop="area"></el-table-column>
-								<el-table-column label="招商状态">
-									<template slot-scope="scope">
-										<div v-if="scope.row.investmentState === 0" class="hui-state">
-											<span class="hui-state-bage hui-state-info"></span>
-											<span class="hui-state-label">待招商</span>
-										</div>
-										<div v-else class="hui-state">
-											<span class="hui-state-bage hui-state-primary"></span>
-											<span class="hui-state-label">已招商</span>
-										</div>
-									</template>
-								</el-table-column>
-								<el-table-column label="公海房源" width="100">
-									<template slot-scope="scope">
-										<div class="hui-table-operation">
-											<el-switch v-model="scope.row.openState" :active-value="2"
-												:inactive-value="1" @change="val=>putOpenState(val,scope.row)">
-											</el-switch>
-										</div>
-									</template>
-								</el-table-column>
-								<el-table-column label="带看记录" width="100">
-									<template slot-scope="scope">
-										<div class="hui-table-operation">
-											<span class="table-operation"
-												@click="lookHouse(scope.row,'lookRecordDetail')">查看</span>
-										</div>
-									</template>
-								</el-table-column>
-								<el-table-column label="操作" width="150">
-									<template slot-scope="scope">
-										<div class="hui-table-operation">
-											<span class="table-operation"
-												@click="lookHouse(scope.row,'detail')">详情</span>
-											<span class="table-operation" @click="updateHouse(scope.row)">编辑</span>
-											<span class="table-operation" @click="deleteHouse(scope.row)">删除</span>
-										</div>
-									</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="sizes, prev, pager, next"
-								:page-sizes="[10, 15, 20, 25,30]" :total="totalCount" @current-change="currentChange"
-								@size-change="currentChangeSize">
-							</el-pagination>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-		<el-dialog :close-on-click-modal="false" :title="isUpdate?'编辑':'新增'" :visible.sync="visible" width="900px" :append-to-body="true">
-			<edit v-if="visible" @callback="callback" :isUpdate="isUpdate" :detailId="detailId"></edit>
-		</el-dialog>
-		<el-drawer :title="type === 'detail'?'房源详情':'带看列表'" :visible.sync="drawer" :size="400" :append-to-body="true">
-			<detail v-if="drawer && type === 'detail'" :detailId="detailId"></detail>
-			<look-record-detail v-if="drawer && type === 'lookRecordDetail'" :detailId="detailId"></look-record-detail>
-		</el-drawer>
-	</div>
-</template>
-
-<script>
-	import {
-		getHouseListByPage,
-		deleteHouseById,
-		updateHouse
-	} from '@/httpApi/space'
-	import edit from '@/components/work/space/house/edit'
-	import detail from '@/components/work/space/house/detail'
-	import lookRecordDetail from '@/components/work/space/house/lookRecordDetail'
-	import projectItemTree from '@/components/common/projectItemTree'
-	export default {
-		data() {
-			return {
-				tableData: [],
-				currPage: 1,
-				pageSize: 10,
-				totalCount: 0,
-				visible: false,
-				detailId: '',
-				isUpdate: false,
-				drawer: false,
-				type: 'detail',
-				projectItemTargetId: ''
-			}
-		},
-		created() {
-			this.init();
-		},
-		methods: {
-			init() {
-				let postData = {
-					currPage: this.currPage,
-					pageSize: this.pageSize,
-					projectId: this.$store.getters.project.id
-				}
-				if (this.projectItemTargetId) postData['projectItemTargetId'] = this.projectItemTargetId;
-				getHouseListByPage(postData).then(res => {
-					if (res.state) {
-						this.tableData = res.data.dataList;
-						this.totalCount = res.data.totalCount;
-					}
-				})
-			},
-			treeclick(data) {
-				this.projectItemTargetId = data.id;
-				this.currPage = 1;
-				this.init();
-			},
-			currentChange(currPage) {
-				this.currPage = currPage;
-				this.init();
-			},
-			currentChangeSize(pageSize) {
-				this.currPage = 1;
-				this.pageSize = pageSize;
-				this.init();
-			},
-			insertHouse() {
-				this.isUpdate = false;
-				this.visible = true;
-			},
-			updateHouse(val) {
-				this.detailId = val.id;
-				this.isUpdate = true;
-				this.visible = true;
-			},
-			putOpenState(val, item) {
-				updateHouse({
-					id: item.id,
-					openState: val
-				}).then(res => {
-					if (res.state) {
-						this.init();
-						this.$message.success('操作成功');
-					}
-				})
-			},
-			lookHouse(val, type) {
-				this.detailId = val.id;
-				this.type = type;
-				this.drawer = true;
-			},
-			deleteHouse(val) {
-				this.$confirm('确定要删除该房源?', () => {
-					deleteHouseById(val.id).then(res => {
-						if (res.state) {
-							this.init();
-							this.$message.success('操作成功');
-						}
-					})
-				});
-			},
-			callback(type) {
-				if (type === 'init') this.init();
-				this.visible = false;
-			}
-		},
-		components: {
-			edit,
-			detail,
-			lookRecordDetail,
-			projectItemTree
-		},
-	}
-</script>
-
-<style>
+<template>
+	<div class="hui-flex">
+		<div class="hui-flex-box yui-tree-box">
+			<project-item-tree @treeclick="treeclick"></project-item-tree>
+			<div class="hui-tree-content">
+				<div class="hui-flex hui-content box-background">
+					<div class="hui-content-title">
+						<div class="hui-title-item active">房源列表</div>
+					</div>
+					<div class="hui-flex-box hui-flex hui-table">
+						<div class="hui-content-insert">
+							<el-button v-permission="'/work/space/housing/add'" type="primary" size="medium"
+								@click="insertHouse">新增房源</el-button>
+						</div>
+						<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">
+										<div style="text-align: center;">{{scope.$index + 1}}</div>
+									</template>
+								</el-table-column>
+								<el-table-column label="房间号" prop="roomNumber"></el-table-column>
+								<el-table-column label="楼宇" prop="projectItemName"></el-table-column>
+								<el-table-column label="楼层" prop="projectItemTargetName"></el-table-column>
+								<el-table-column label="房源面积(m²)" prop="area"></el-table-column>
+								<el-table-column label="招商状态">
+									<template slot-scope="scope">
+										<div v-if="scope.row.investmentState === 0" class="hui-state">
+											<span class="hui-state-bage hui-state-info"></span>
+											<span class="hui-state-label">待招商</span>
+										</div>
+										<div v-else class="hui-state">
+											<span class="hui-state-bage hui-state-primary"></span>
+											<span class="hui-state-label">已招商</span>
+										</div>
+									</template>
+								</el-table-column>
+								<el-table-column label="公海房源" width="100">
+									<template slot-scope="scope">
+										<div class="hui-table-operation" v-permission="'/work/space/housing/highseas'">
+											<el-switch v-model="scope.row.openState" :active-value="2"
+												:inactive-value="1" @change="val=>putOpenState(val,scope.row)">
+											</el-switch>
+										</div>
+									</template>
+								</el-table-column>
+								<el-table-column label="带看记录" width="100">
+									<template slot-scope="scope">
+										<div class="hui-table-operation">
+											<span class="table-operation" v-permission="'/work/space/housing/record'"
+												@click="lookHouse(scope.row,'lookRecordDetail')">
+												查看
+											</span>
+										</div>
+									</template>
+								</el-table-column>
+								<el-table-column label="操作" width="150">
+									<template slot-scope="scope">
+										<div class="hui-table-operation">
+											<span class="table-operation" v-permission="'/work/space/housing/detail'"
+												@click="lookHouse(scope.row,'detail')">
+												详情
+											</span>
+											<span class="table-operation" v-permission="'/work/space/housing/update'"
+												@click="updateHouse(scope.row)">
+												编辑
+											</span>
+											<span class="table-operation" v-permission="'/work/space/housing/delete'"
+												@click="deleteHouse(scope.row)">
+												删除
+											</span>
+										</div>
+									</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="sizes, prev, pager, next"
+								:page-sizes="[10, 15, 20, 25,30]" :total="totalCount" @current-change="currentChange"
+								@size-change="currentChangeSize">
+							</el-pagination>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+		<el-dialog :close-on-click-modal="false" :title="isUpdate?'编辑':'新增'" :visible.sync="visible" width="900px"
+			:append-to-body="true">
+			<edit v-if="visible" @callback="callback" :isUpdate="isUpdate" :detailId="detailId"></edit>
+		</el-dialog>
+		<el-drawer :title="type === 'detail'?'房源详情':'带看列表'" :visible.sync="drawer" :size="400" :append-to-body="true">
+			<detail v-if="drawer && type === 'detail'" :detailId="detailId"></detail>
+			<look-record-detail v-if="drawer && type === 'lookRecordDetail'" :detailId="detailId"></look-record-detail>
+		</el-drawer>
+	</div>
+</template>
+
+<script>
+	import {
+		getHouseListByPage,
+		deleteHouseById,
+		updateHouse
+	} from '@/httpApi/space'
+	import edit from '@/components/work/space/house/edit'
+	import detail from '@/components/work/space/house/detail'
+	import lookRecordDetail from '@/components/work/space/house/lookRecordDetail'
+	import projectItemTree from '@/components/common/projectItemTree'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 10,
+				totalCount: 0,
+				visible: false,
+				detailId: '',
+				isUpdate: false,
+				drawer: false,
+				type: 'detail',
+				projectItemTargetId: ''
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				if (!this.auth('/work/space/housing/list')) return;
+				let postData = {
+					currPage: this.currPage,
+					pageSize: this.pageSize,
+					projectId: this.$store.getters.project.id
+				}
+				if (this.projectItemTargetId) postData['projectItemTargetId'] = this.projectItemTargetId;
+				getHouseListByPage(postData).then(res => {
+					if (res.state) {
+						this.tableData = res.data.dataList;
+						this.totalCount = res.data.totalCount;
+					}
+				})
+			},
+			treeclick(data) {
+				this.projectItemTargetId = data.id;
+				this.currPage = 1;
+				this.init();
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			currentChangeSize(pageSize) {
+				this.currPage = 1;
+				this.pageSize = pageSize;
+				this.init();
+			},
+			insertHouse() {
+				this.isUpdate = false;
+				this.visible = true;
+			},
+			updateHouse(val) {
+				this.detailId = val.id;
+				this.isUpdate = true;
+				this.visible = true;
+			},
+			putOpenState(val, item) {
+				updateHouse({
+					id: item.id,
+					openState: val
+				}).then(res => {
+					if (res.state) {
+						this.init();
+						this.$message.success('操作成功');
+					}
+				})
+			},
+			lookHouse(val, type) {
+				this.detailId = val.id;
+				this.type = type;
+				this.drawer = true;
+			},
+			deleteHouse(val) {
+				this.$confirm('确定要删除该房源?', () => {
+					deleteHouseById(val.id).then(res => {
+						if (res.state) {
+							this.init();
+							this.$message.success('操作成功');
+						}
+					})
+				});
+			},
+			callback(type) {
+				if (type === 'init') this.init();
+				this.visible = false;
+			}
+		},
+		components: {
+			edit,
+			detail,
+			lookRecordDetail,
+			projectItemTree
+		},
+	}
+</script>
+
+<style>
 </style>

+ 5 - 4
virgo.wzfrontend/console/src/views/work/space/project.vue

@@ -5,7 +5,7 @@
 		</div>
 		<div class="hui-flex-box hui-flex hui-table">
 			<div class="hui-content-insert">
-				<el-button type="primary" size="medium" @click="insertProject">新增项目</el-button>
+				<el-button v-permission="'/work/space/project/add'" type="primary" size="medium" @click="insertProject">新增项目</el-button>
 			</div>
 			<div class="hui-flex-box">
 				<el-table :data="tableData" row-key="id" border height="100%">
@@ -31,9 +31,9 @@
 					<el-table-column label="操作" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
-								<span class="table-operation" @click="lookProject(scope.row)">详情</span>
-								<span class="table-operation" @click="updateProject(scope.row)">编辑</span>
-								<span class="table-operation" @click="deleteProject(scope.row)">删除</span>
+								<span class="table-operation" v-permission="'/work/space/project/detail'" @click="lookProject(scope.row)">详情</span>
+								<span class="table-operation" v-permission="'/work/space/project/update'" @click="updateProject(scope.row)">编辑</span>
+								<span class="table-operation" v-permission="'/work/space/project/delete'" @click="deleteProject(scope.row)">删除</span>
 							</div>
 						</template>
 					</el-table-column>
@@ -91,6 +91,7 @@
 		},
 		methods: {
 			init() {
+				if (!this.auth('/work/property/project/list')) return;
 				getProjectListByPage({
 					currPage: this.currPage,
 					pageSize: this.pageSize,

+ 18 - 8
virgo.wzfrontend/console/src/views/work/space/set.vue

@@ -4,7 +4,8 @@
 			<img :src="nullImage" alt="" />
 			<div class="space-null-text">您还未添加楼宇信息,可新增楼宇,开启您的空间设置吧!</div>
 			<div class="flow-button">
-				<el-button size="medium" type="primary" @click="insert('projectItem')">
+				<el-button v-permission="'/work/space/set/projectItem/add'" size="medium" type="primary"
+					@click="insert('projectItem')">
 					<i class="iconfont huifont-xinzeng"></i>新增楼宇
 				</el-button>
 			</div>
@@ -13,7 +14,8 @@
 			<div class="space-content-item">
 				<div class="space-title">
 					<div class="space-title-label">楼宇</div>
-					<el-button size="medium" type="primary" @click="insert('projectItem')">
+					<el-button v-permission="'/work/space/set/projectItem/add'" size="medium" type="primary"
+						@click="insert('projectItem')">
 						<i class="iconfont huifont-xinzeng"></i>新增
 					</el-button>
 				</div>
@@ -37,9 +39,12 @@
 												<i class="iconfont huifont-jinhangzhong"></i>
 											</div>
 											<el-dropdown-menu slot="dropdown">
-												<el-dropdown-item command="detail">详情</el-dropdown-item>
-												<el-dropdown-item command="update">编辑</el-dropdown-item>
-												<el-dropdown-item command="delete">删除</el-dropdown-item>
+												<el-dropdown-item command="detail"
+													v-permission="'/work/space/set/projectItem/detail'">详情</el-dropdown-item>
+												<el-dropdown-item command="update"
+													v-permission="'/work/space/set/projectItem/update'">编辑</el-dropdown-item>
+												<el-dropdown-item command="delete"
+													v-permission="'/work/space/set/projectItem/delete'">删除</el-dropdown-item>
 											</el-dropdown-menu>
 										</el-dropdown>
 									</div>
@@ -53,7 +58,8 @@
 			<div class="space-target">
 				<div class="space-title">
 					<div class="space-title-label">楼层</div>
-					<el-button size="medium" type="primary" @click="insert('projectItemTarget')">
+					<el-button v-permission="'/work/space/set/projectItemTarget/add'" size="medium" type="primary"
+						@click="insert('projectItemTarget')">
 						<i class="iconfont huifont-xinzeng"></i>新增
 					</el-button>
 				</div>
@@ -75,8 +81,10 @@
 										<i class="iconfont huifont-jinhangzhong"></i>
 									</div>
 									<el-dropdown-menu slot="dropdown">
-										<el-dropdown-item command="update">编辑</el-dropdown-item>
-										<el-dropdown-item command="delete">删除</el-dropdown-item>
+										<el-dropdown-item command="update"
+											v-permission="'/work/space/set/projectItemTarget/update'">编辑</el-dropdown-item>
+										<el-dropdown-item command="delete"
+											v-permission="'/work/space/set/projectItemTarget/delete'">删除</el-dropdown-item>
 									</el-dropdown-menu>
 								</el-dropdown>
 							</div>
@@ -131,6 +139,7 @@
 		},
 		methods: {
 			getProjectItemList() {
+				if (!this.auth('/work/space/set/projectItem/list')) return;
 				getProjectDetailById(this.$store.getters.project.id).then(res => {
 					if (res.state) {
 						this.projectItemList = res.data.projectItemList || [];
@@ -152,6 +161,7 @@
 			},
 			selectTarget(item) {
 				this.projectItem = item;
+				if (!this.auth('/work/space/set/projectItemTarget/list')) return;
 				this.projectItemTargetList = item.projectItemTargetList;
 			},
 			commandFunc(operationType, item, type) {

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/index.html


virgo.wzfrontend/src/main/resources/static/console/static/css/1885.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/console/static/css/1116.b6c7aaf0.css


virgo.wzfrontend/src/main/resources/static/console/static/css/946.28d0077f.css → virgo.wzfrontend/src/main/resources/static/console/static/css/2052.28d0077f.css


virgo.wzfrontend/src/main/resources/static/console/static/css/1785.863e2be4.css → virgo.wzfrontend/src/main/resources/static/console/static/css/2540.863e2be4.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5122.08408220.css → virgo.wzfrontend/src/main/resources/static/console/static/css/3860.08408220.css


virgo.wzfrontend/src/main/resources/static/console/static/css/3094.f275a232.css → virgo.wzfrontend/src/main/resources/static/console/static/css/391.f275a232.css


virgo.wzfrontend/src/main/resources/static/console/static/css/4238.86bf52d4.css → virgo.wzfrontend/src/main/resources/static/console/static/css/3948.86bf52d4.css


virgo.wzfrontend/src/main/resources/static/console/static/css/8249.bd099838.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4126.bd099838.css


virgo.wzfrontend/src/main/resources/static/console/static/css/9579.28d0077f.css → virgo.wzfrontend/src/main/resources/static/console/static/css/428.28d0077f.css


virgo.wzfrontend/src/main/resources/static/console/static/css/807.863e2be4.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4673.863e2be4.css


virgo.wzfrontend/src/main/resources/static/console/static/css/6945.4d5ca46a.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4812.4d5ca46a.css


virgo.wzfrontend/src/main/resources/static/console/static/css/2550.f43f4c00.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4925.f43f4c00.css


virgo.wzfrontend/src/main/resources/static/console/static/css/326.710489ee.css → virgo.wzfrontend/src/main/resources/static/console/static/css/5571.710489ee.css


virgo.wzfrontend/src/main/resources/static/console/static/css/7394.08408220.css → virgo.wzfrontend/src/main/resources/static/console/static/css/6192.08408220.css


virgo.wzfrontend/src/main/resources/static/console/static/css/9579.4d5ca46a.css → virgo.wzfrontend/src/main/resources/static/console/static/css/6342.4d5ca46a.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5884.710489ee.css → virgo.wzfrontend/src/main/resources/static/console/static/css/6391.710489ee.css


virgo.wzfrontend/src/main/resources/static/console/static/css/8656.bd099838.css → virgo.wzfrontend/src/main/resources/static/console/static/css/6483.bd099838.css


virgo.wzfrontend/src/main/resources/static/console/static/css/4947.f43f4c00.css → virgo.wzfrontend/src/main/resources/static/console/static/css/7026.f43f4c00.css


virgo.wzfrontend/src/main/resources/static/console/static/css/3953.f275a232.css → virgo.wzfrontend/src/main/resources/static/console/static/css/784.f275a232.css


virgo.wzfrontend/src/main/resources/static/console/static/css/8148.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/console/static/css/8077.b6c7aaf0.css


virgo.wzfrontend/src/main/resources/static/console/static/css/9310.86bf52d4.css → virgo.wzfrontend/src/main/resources/static/console/static/css/8171.86bf52d4.css


virgo.wzfrontend/src/main/resources/static/console/static/css/2439.af90e1b5.css → virgo.wzfrontend/src/main/resources/static/console/static/css/8183.af90e1b5.css


virgo.wzfrontend/src/main/resources/static/console/static/css/2484.c91856b9.css → virgo.wzfrontend/src/main/resources/static/console/static/css/8386.c91856b9.css


virgo.wzfrontend/src/main/resources/static/console/static/css/6282.32d3f99b.css → virgo.wzfrontend/src/main/resources/static/console/static/css/865.32d3f99b.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5539.af90e1b5.css → virgo.wzfrontend/src/main/resources/static/console/static/css/9580.af90e1b5.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1885.cff5ccdc.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1437-legacy.8c71710c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1437.517c95c9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1785.72c9f4f9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2036-legacy.9c09f446.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2036.410dd827.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2052-legacy.867ce7cf.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2439-legacy.cc38adc5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2484-legacy.0f1a0cd5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2484.eef0e1f5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2540-legacy.66dce50d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2550-legacy.09d8909c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2587-legacy.e41c2c2a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2587.3f72ae20.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2658-legacy.08efc098.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2658.9b67135d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2695-legacy.2f748c8a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2695.621bac90.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2966-legacy.5ba18124.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2966.97fcf6cf.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3036-legacy.8a6d4adb.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3036.672987bf.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3094.5d499b6c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/326.93bc9f74.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3327-legacy.6a18cd42.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3327.7f362b95.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3333.ab7cb04f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3860.22626706.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/391.696d895c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3948.ee723148.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3953-legacy.acece7de.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4126.c58a588a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4238-legacy.66a46740.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/428.bb78cb9d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4673.836822d2.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 2 - 2
virgo.wzfrontend/src/main/resources/static/console/static/js/9579-legacy.9b21da44.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4925.a6b10d9e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4947.7d27793c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5122-legacy.2f43766d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5338-legacy.7ba57ebe.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5338.429c218e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5465-legacy.78f7b59a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5465.179de598.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5539.7209b5fd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5571-legacy.079e4a3e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5778-legacy.f5eb6793.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/5819.e9edd1f5.js


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5884-legacy.b013f130.js


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است