whx 1 year ago
parent
commit
265afd842a
90 changed files with 857 additions and 145 deletions
  1. 4 1
      virgo.wzfrontend/console/src/assets/scss/common.scss
  2. 227 0
      virgo.wzfrontend/console/src/components/work/contract/common/clause.vue
  3. 102 0
      virgo.wzfrontend/console/src/components/work/contract/common/selectTemplate.vue
  4. 288 76
      virgo.wzfrontend/console/src/components/work/contract/list/edit.vue
  5. 67 1
      virgo.wzfrontend/console/src/config/field.js
  6. 12 1
      virgo.wzfrontend/console/src/httpApi/business.js
  7. 23 0
      virgo.wzfrontend/console/src/httpApi/organization.js
  8. 7 1
      virgo.wzfrontend/console/src/views/system/log.vue
  9. 66 7
      virgo.wzfrontend/console/src/views/work/business/organization.vue
  10. 1 1
      virgo.wzfrontend/src/main/resources/static/index.html
  11. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/102.67e250a9.css
  12. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/110.20e33a6e.css
  13. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/539.afd836c5.css
  14. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/17.c8e48dd1.css
  15. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/192.968c8c10.css
  16. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/197.bd4ff39e.css
  17. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/207.71fbab52.css
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/37.968c8c10.css
  19. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/376.52c2cdde.css
  20. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/396.b8abf9c9.css
  21. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/404.67d356a0.css
  22. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/404.b6c7aaf0.css
  23. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/412.22d48ee0.css
  24. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/412.5d3d6f6a.css
  25. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/449.67e250a9.css
  26. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/461.67d356a0.css
  27. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/461.b6c7aaf0.css
  28. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/510.b05b624d.css
  29. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/498.b05b624d.css
  30. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/740.656d03ec.css
  31. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/529.20e33a6e.css
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/539.b8abf9c9.css
  33. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/568.f43f4c00.css
  34. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/153.aafd2239.css
  35. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/376.f1acec87.css
  36. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/61.246cda98.css
  37. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/625.b179d095.css
  38. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/689.aafd2239.css
  39. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/6.7c90d69a.css
  40. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/719.22d48ee0.css
  41. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/719.5d3d6f6a.css
  42. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/525.656d03ec.css
  43. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/746.d89f7a15.css
  44. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/758.b179d095.css
  45. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/788.225bc5ff.css
  46. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/788.acde2536.css
  47. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/838.7c90d69a.css
  48. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/396.afd836c5.css
  49. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/842.c8e48dd1.css
  50. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/913.f43f4c00.css
  51. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/929.d89f7a15.css
  52. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/944.096e91e5.css
  53. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/944.bd4ff39e.css
  54. 1 1
      virgo.wzfrontend/src/main/resources/static/static/css/app.e9e944ca.css
  55. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/102-legacy.84f23104.js
  56. 0 0
      virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.7056c136.js
  57. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/17-legacy.bdc507ee.js
  58. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/192-legacy.3c51e556.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/202.5b7814d2.js
  60. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/293.ba7748d2.js
  61. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/37.c044cfb5.js
  62. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/386-legacy.2da7b5bf.js
  63. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/449.e4098437.js
  64. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.2e39e6ea.js
  65. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/510.b1171170.js
  66. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.689098c7.js
  67. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.05dc6088.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/568.0468dea8.js
  69. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/6.5dffc6b2.js
  70. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.cefaf697.js
  71. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.ff76bc4a.js
  72. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/61.bcb04045.js
  73. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/61.ff76bc4a.js
  74. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/625-legacy.a7962f15.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/625.ebaa0be9.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/654-legacy.c0da7fba.js
  77. 0 0
      virgo.wzfrontend/src/main/resources/static/static/js/689.c1cbfd5b.js
  78. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/740.fee814fb.js
  79. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/746-legacy.ea2f75b8.js
  80. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/758.c4243ffb.js
  81. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/838-legacy.ffbe0e42.js
  82. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/842.5f22ac2c.js
  83. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/913-legacy.60bb7049.js
  84. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/919-legacy.4e399dbc.js
  85. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/929.d61ab8c8.js
  86. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.9a379b0a.js
  87. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.b14afb3b.js
  88. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/app.a7c96cb4.js
  89. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/app.b5a16ce4.js
  90. 6 6
      virgo.wzfrontend/wx/request/api/message.js

+ 4 - 1
virgo.wzfrontend/console/src/assets/scss/common.scss

@@ -73,7 +73,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts';
 
 .el-button--small,
 .el-button--mini{
-	font-size: 14px;
+	font-size: 12px;
 	padding: 4px 8px;
 }
 
@@ -424,6 +424,9 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts';
 	.el-cascader-node:not(.is-disabled):hover,
 	.el-cascader-node:not(.is-disabled):focus {
 		background: $--color-background-hover;
+	}
+	.el-cascader-node.is-selectable.in-active-path{
+		color: $--color-primary;
 	}
 }
 

+ 227 - 0
virgo.wzfrontend/console/src/components/work/contract/common/clause.vue

@@ -0,0 +1,227 @@
+<template>
+	<div class="clause-box">
+		<slot></slot>
+		<div class="clause-box-form" v-if="type === 1">
+			<el-form ref="form" :model="form" label-position="top">
+				<el-form-item label="计租方式" prop="rentWay" :rules="[{required: true, message: '请选择计租方式'}]">
+					<el-select v-model="form.rentWay" placeholder="请选择计租方式">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.rentWay" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="开始时间" prop="startTime" :rules="[{required: true, message: '请选择开始时间'}]">
+					<el-date-picker v-model="form.startTime" value-format="yyyy-MM-dd" type="date"
+						placeholder="请选择开始时间">
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="结束时间" prop="endTime" :rules="[{required: true, message: '请选择结束时间'}]">
+					<el-date-picker v-model="form.endTime" value-format="yyyy-MM-dd" type="date" placeholder="请选择结束时间">
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="合同单价(元/月)" prop="unitPrice" :rules="[{required: true, message: '请输入合同单价(元/月)'}]">
+					<el-input type="number" v-model="form.unitPrice" placeholder="请输入合同单价(元/月)"></el-input>
+				</el-form-item>
+				<el-form-item label="付款时间" prop="payTime" :rules="[{required: true, message: '请选择付款时间'}]">
+					<el-select v-model="form.payTime" placeholder="请选择付款时间">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.payTime" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="计费类型" prop="chargingType" :rules="[{required: true, message: '请选择计费类型'}]">
+					<el-select v-model="form.chargingType" placeholder="请选择计费类型">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.chargingType" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="非自然月计费方式" prop="unnaturalMonthChargingWay"
+					:rules="[{required: true, message: '请选择非自然月计费方式'}]">
+					<el-select v-model="form.unnaturalMonthChargingWay" placeholder="请选择非自然月计费方式">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.unnaturalMonthChargingWay" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="年天数" prop="yearDays" :rules="[{required: true, message: '请输入年天数'}]">
+					<el-input type="number" v-model="form.yearDays" placeholder="请输入年天数">
+						<span slot="suffix">天</span>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="付款周期(几月一付)" prop="payCycle" :rules="[{required: true, message: '请输入付款周期'}]">
+					<el-input type="number" v-model="form.payCycle" placeholder="请输入付款周期">
+						<span slot="suffix">月</span>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="租期划分方式" prop="leaseTermWay" :rules="[{required: true, message: '请选择租期划分方式'}]">
+					<el-select v-model="form.leaseTermWay" placeholder="请选择租期划分方式">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.leaseTermWay" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="clause-box-form" v-if="type === 2">
+			<el-form ref="form" :model="form" label-position="top">
+				<el-form-item label="保证金类型" prop="earnestMoneyType" :rules="[{required: true, message: '请选择保证金类型'}]">
+					<el-select v-model="form.earnestMoneyType" placeholder="请选择保证金类型">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.earnestMoneyType" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="保证金金额" prop="earnestMoney" :rules="[{required: true, message: '请输入保证金金额'}]">
+					<el-input type="number" v-model="form.earnestMoney" placeholder="请输入保证金金额"></el-input>
+				</el-form-item>
+				<el-form-item label="币种" prop="currencyType" :rules="[{required: true, message: '请选择币种'}]">
+					<el-select v-model="form.currencyType" placeholder="请选择币种">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.currencyType" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="clause-box-form" v-if="type === 3">
+			<el-form ref="form" :model="form" label-position="top">
+				<el-form-item label="递增时间点" prop="incrementalTime" :rules="[{required: true, message: '请选择递增时间点'}]">
+					<el-date-picker v-model="form.incrementalTime" value-format="yyyy-MM-dd" type="date"
+						placeholder="请选择递增时间点">
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="单价递增" prop="incrementalUnitPrice" :rules="[{required: true, message: '请输入单价递增'}]">
+					<el-input type="number" v-model="form.incrementalUnitPrice" placeholder="请输入单价递增">
+						<span slot="suffix">%</span>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="保证金递增" prop="incrementalEarnestMoney"
+					:rules="[{required: true, message: '请输入保证金递增'}]">
+					<el-input type="number" v-model="form.incrementalEarnestMoney" placeholder="请输入保证金递增">
+						<span slot="suffix">%</span>
+					</el-input>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="clause-box-form" v-if="type === 4">
+			<el-form ref="form" :model="form" label-position="top">
+				<el-form-item label="优惠类型" prop="preferentialType" :rules="[{required: true, message: '请选择优惠类型'}]">
+					<el-select v-model="form.preferentialType" placeholder="请选择优惠类型">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.preferentialType" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="开始时间" prop="preferentialStartTime" :rules="[{required: true, message: '请选择开始时间'}]">
+					<el-date-picker v-model="form.preferentialStartTime" value-format="yyyy-MM-dd" type="date"
+						placeholder="请选择开始时间">
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="结束时间" prop="preferentialEndTime" :rules="[{required: true, message: '请选择结束时间'}]">
+					<el-date-picker v-model="form.preferentialEndTime" value-format="yyyy-MM-dd" type="date"
+						placeholder="请选择结束时间">
+					</el-date-picker>
+				</el-form-item>
+				<el-form-item label="免租期划分方式" prop="preferentialRentFreeWay"
+					:rules="[{required: true, message: '请选择免租期划分方式'}]">
+					<el-select v-model="form.preferentialRentFreeWay" placeholder="请选择免租期划分方式">
+						<el-option :label="item.name" :value="String(item.id)"
+							v-for="(item,index) in $field.field.preferentialRentFreeWay" :key="item.id">
+						</el-option>
+					</el-select>
+				</el-form-item>
+				<el-form-item label="备注" prop="preferentialRemark">
+					<el-input type="text" v-model="form.preferentialRemark" placeholder="请输入备注"></el-input>
+				</el-form-item>
+			</el-form>
+		</div>
+	</div>
+</template>
+
+<script>
+	export default {
+		props: ['type'],
+		data() {
+			return {
+				form: {
+					type: 1, //1-租期条款
+					rentWay: '1', //计租方式
+					startTime: '', //开始时间
+					endTime: '', //结束时间
+					unitPrice: '', //单价
+					payTime: '', //付款时间
+					chargingType: '1', //计费类型
+					unnaturalMonthChargingWay: '1', //非自然月计费方式
+					yearDays: '', //年天数
+					payCycle: '', //付款周期
+					leaseTermWay: '', //租期划分方式
+					earnestMoneyType: '1', //保证金类型
+					earnestMoney: '', //保证金金额
+					currencyType: '1', //币种
+					incrementalTime: '', //递增时间点
+					incrementalUnitPrice: '', //单价递增率
+					incrementalEarnestMoney: '', //保证金递增
+					preferentialType: '', //优惠类型
+					preferentialStartTime: '', //优惠开始时间
+					preferentialEndTime: '', //优惠结束时间
+					preferentialRemark: '', //优惠备注
+					preferentialRentFreeWay: '1' //免租期划分方式
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.clause-box {
+		width: 100%;
+		position: relative;
+		padding-top: 20px;
+
+		&::before {
+			background: $--background;
+			content: '';
+			height: 12px;
+			top: -10px;
+			right: 0;
+			left: -25px;
+			position: absolute;
+		}
+
+		.clause-box-form {
+			width: 100%;
+			padding-right: 10px;
+
+			.el-form {
+				.el-form-item {
+					width: 16.6666% !important;
+				}
+			}
+
+			.el-input__suffix {
+				right: 10px;
+			}
+
+			.clause-box-select {
+				width: 100%;
+				display: flex;
+				align-items: center;
+
+				.prev {
+					margin-right: 10px;
+				}
+
+				.last {
+					margin-left: 10px;
+				}
+
+				.el-select,
+				.el-input {
+					flex: 1;
+					width: 0;
+				}
+			}
+		}
+	}
+</style>

+ 102 - 0
virgo.wzfrontend/console/src/components/work/contract/common/selectTemplate.vue

@@ -0,0 +1,102 @@
+<template>
+	<div class="hui-flex select-template">
+		<div class="hui-content-insert">
+			<el-button type="primary" size="medium" @click="selectTemplate">
+				选择合同模板
+			</el-button>
+		</div>
+		<div class="select-template-box">
+			<el-table :data="templateData" 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="操作" width="240">
+					<template slot-scope="scope">
+						<div class="hui-table-operation">
+							<span class="table-operation" @click="preview(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>
+		<el-dialog title="预览" :visible.sync="detailsDialogVisible" width="80%" class="document-dialog"
+			:append-to-body="true">
+			<preview v-if="detailsDialogVisible" :templateId="templateId" @close="detailsDialogVisible = false">
+			</preview>
+		</el-dialog>
+		<el-dialog title="选择合同模板" :visible.sync="visible" width="900px" :append-to-body="true">
+			<div class="hui-flex hui-dialog">
+				<div class="hui-flex-box hui-dialog-content">
+
+				</div>
+				<div class="hui-dialog-submit">
+					<el-button size="medium" @click="visible = false">取 消</el-button>
+					<el-button size="medium" type="primary" @click="submit">保 存</el-button>
+				</div>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	import preview from '@/components/document/preview'
+	import {
+		getContractTemplateList,
+	} from '@/httpApi/contract'
+	export default {
+		data() {
+			return {
+				templateData: [],
+				detailsDialogVisible: false,
+				templateId: '',
+				visible: false,
+				tableData: []
+			}
+		},
+		methods: {
+			selectTemplate() {
+				this.visible = true;
+				// getContractTemplateList()
+			},
+			deleteItem(item) {
+				this.$confirm('确定要移除该模板文件?', () => {
+					let index = this.templateData.findIndex(node => node.id === item.id);
+					this.templateData.splice(index, 1);
+				});
+			},
+			preview(item) {
+				this.templateId = item.id;
+				this.detailsDialogVisible = true;
+			},
+			submit() {
+
+			}
+		},
+		components: {
+			preview
+		},
+	}
+</script>
+
+<style lang="scss">
+	.select-template {
+		background: $--box-background;
+		padding: 10px;
+
+		.select-template-box {
+			flex: 1;
+			height: 0;
+		}
+	}
+</style>

+ 288 - 76
virgo.wzfrontend/console/src/components/work/contract/list/edit.vue

@@ -1,51 +1,36 @@
 <template>
 	<div class="hui-flex contract-edit">
 		<div class="contract-step">
-			<div class="step-item active">
-				<div class="step-number">1</div>
-				<div class="step-label">基本信息</div>
-			</div>
-			<div class="line"><i class="el-icon-arrow-right"></i></div>
-			<div class="step-item">
-				<div class="step-number">2</div>
-				<div class="step-label">费用条款</div>
-			</div>
-			<div class="line"><i class="el-icon-arrow-right"></i></div>
-			<div class="step-item">
-				<div class="step-number">3</div>
-				<div class="step-label">合同文本</div>
+			<div :class="stepId === item.id ?'step-item active':'step-item'" v-for="(item,index) in stepList">
+				<div class="step-number">{{item.id}}</div>
+				<div class="step-label">{{item.name}}</div>
+				<i class="el-icon-arrow-right" v-if="index < stepList.length - 1"></i>
 			</div>
 		</div>
-		<el-form ref="form" :model="form" class="hui-flex-box" label-position="top">
+		<el-form ref="form" :model="form" class="hui-flex-box" label-position="top" v-show="stepId === 1">
 			<div class="contract-left">
 				<div class="contract-box">
 					<div class="hui-chart-title">所属公司信息</div>
 					<div class="contract-from">
 						<el-form-item label="所属公司">
-							<el-select v-model="form.type" placeholder="请选择所属公司">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+							<el-input v-model="organization.name" disabled></el-input>
 						</el-form-item>
 						<el-form-item label="所属部门">
-							<el-select v-model="form.type" placeholder="请选择所属部门">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+							<el-cascader ref="partCascader" v-model="partValue" :options="partData" :props="partProps"
+								collapse-tags clearable @change="changePart" placeholder="请选择所属部门">
+							</el-cascader>
 						</el-form-item>
 						<el-form-item label="招商跟进人">
-							<el-select v-model="form.type" placeholder="请选择招商跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
+							<el-select v-model="form.investmentPromotion" placeholder="请选择招商跟进人">
+								<el-option :label="item.name" :value="item.id" v-for="(item,index) in partUserList"
+									:key="index">
 								</el-option>
 							</el-select>
 						</el-form-item>
 						<el-form-item label="运营跟进人">
-							<el-select v-model="form.type" placeholder="请选择运营跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
+							<el-select v-model="form.operator" placeholder="请选择运营跟进人">
+								<el-option :label="item.name" :value="item.id" v-for="(item,index) in partUserList"
+									:key="index">
 								</el-option>
 							</el-select>
 						</el-form-item>
@@ -54,67 +39,86 @@
 				<div class="contract-box">
 					<div class="hui-chart-title">租客信息</div>
 					<div class="contract-from">
-						<el-form-item label="所属公司">
-							<el-select v-model="form.type" placeholder="请选择所属公司">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
+						<el-form-item label="租客类型">
+							<el-select v-model="form.renterType" placeholder="请选择租客类型">
+								<el-option label="企业" :value="1"></el-option>
+								<el-option label="客户" :value="2"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="所属部门">
-							<el-select v-model="form.type" placeholder="请选择所属部门">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
+						<el-form-item label="企业" v-if="form.renterType === 1">
+							<el-select v-model="form.merchantId" placeholder="请选择企业" @change="changeMerchant">
+								<el-option :label="item.name" :value="item.id" v-for="(item,index) in merchantList"
+									:key="index">
 								</el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="招商跟进人">
-							<el-select v-model="form.type" placeholder="请选择招商跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
+						<el-form-item label="客户" v-else-if="form.renterType === 2">
+							<el-select v-model="form.clientId" placeholder="请选择客户">
+								<el-option :label="item.name" :value="item.id" v-for="(item,index) in clientList"
+									:key="index">
 								</el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="运营跟进人">
-							<el-select v-model="form.type" placeholder="请选择运营跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+						<el-form-item label="法人" v-if="form.renterType === 1">
+							<el-input v-model="form.corporation" disabled></el-input>
+						</el-form-item>
+						<el-form-item label="行业">
+							<el-input v-model="form.industry" placeholder="请输入行业"></el-input>
+						</el-form-item>
+						<el-form-item label="签订人">
+							<el-input v-model="form.signatory" placeholder="请输入签订人"></el-input>
+						</el-form-item>
+						<el-form-item label="租客联系人">
+							<el-input v-model="form.tenantContactPerson" placeholder="请输入租客联系人"></el-input>
 						</el-form-item>
 					</div>
 				</div>
 				<div class="contract-box">
 					<div class="hui-chart-title">基本信息</div>
 					<div class="contract-from">
-						<el-form-item label="所属公司">
-							<el-select v-model="form.type" placeholder="请选择所属公司">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+						<el-form-item label="签订日" prop="signingDate" :rules="[{required: true, message: '请选择签订日'}]">
+							<el-date-picker v-model="form.signingDate" value-format="yyyy-MM-dd" type="date"
+								placeholder="请选择签订日">
+							</el-date-picker>
 						</el-form-item>
-						<el-form-item label="所属部门">
-							<el-select v-model="form.type" placeholder="请选择所属部门">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+						<el-form-item label="开始日" prop="startDate" :rules="[{required: true, message: '请选择开始日'}]">
+							<el-date-picker v-model="form.startDate" value-format="yyyy-MM-dd" type="date"
+								placeholder="请选择开始日">
+							</el-date-picker>
 						</el-form-item>
-						<el-form-item label="招商跟进人">
-							<el-select v-model="form.type" placeholder="请选择招商跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+						<el-form-item label="结束日" prop="endDate" :rules="[{required: true, message: '请选择结束日'}]">
+							<el-date-picker v-model="form.endDate" value-format="yyyy-MM-dd" type="date"
+								placeholder="请选择结束日">
+							</el-date-picker>
 						</el-form-item>
-						<el-form-item label="运营跟进人">
-							<el-select v-model="form.type" placeholder="请选择运营跟进人">
-								<el-option :label="item.name" :value="item.id"
-									v-for="(item,index) in $field.field.fieldType" :key="index">
-								</el-option>
-							</el-select>
+					</div>
+				</div>
+				<div class="contract-box">
+					<div class="hui-chart-title">滞纳金</div>
+					<div class="contract-from">
+						<el-form-item label="起算天数(天)">
+							<el-input v-model="form.lateFeesStartingDays" placeholder="请输入起算天数(天)"></el-input>
 						</el-form-item>
+						<el-form-item label="滞纳金比例(%/天)">
+							<el-input v-model="form.lateFeesProportion" placeholder="请输入滞纳金比例(%/天)"></el-input>
+						</el-form-item>
+						<el-form-item label="滞纳金上限(%)">
+							<el-input v-model="form.lateFeesCeiling" placeholder="请输入滞纳金上限(%)"></el-input>
+						</el-form-item>
+					</div>
+				</div>
+				<div class="contract-box">
+					<div class="hui-chart-title">合同标签</div>
+					<div class="contract-from" style="padding-bottom: 20px;">
+						<tag ref="tag" type="insert" :tagType="4"
+							:tagActive="form.tagIds ? form.tagIds.split(',') : []">
+						</tag>
+					</div>
+				</div>
+				<div class="contract-box">
+					<div class="hui-chart-title">自定义字段</div>
+					<div class="contract-from" style="padding-bottom: 20px;">
+						<custom-data ref="customData" :list="customList"></custom-data>
 					</div>
 				</div>
 			</div>
@@ -128,25 +132,207 @@
 				</div>
 			</div>
 		</el-form>
+		<div class="hui-flex-box" v-show="stepId === 2">
+			<div class="contract-clause">
+				<div class="contract-box" v-for="(clause,index) in clauseList" :key="clause.id">
+					<div class="hui-chart-title">
+						<span>{{clause.name}}</span>
+						<el-button type="primary" size="mini" icon="el-icon-plus"
+							@click="insertClause(clause.id)">{{clause.name}}</el-button>
+					</div>
+					<div class="contract-from">
+						<clause :ref="'clause' + item.id " :type="item.type"
+							v-for="(item,index) in clauseData.filter(node => node.type === clause.id)" :key="item.id">
+							<i class="el-icon-close" v-if="item.isDelete" @click="deleteClause(item.id)"></i>
+						</clause>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="hui-flex-box" v-show="stepId === 3">
+			<select-template></select-template>
+		</div>
 		<div class="contract-btn">
-			<el-button size="medium">上一步</el-button>
-			<el-button type="primary" size="medium">保存</el-button>
+			<el-button size="medium" @click="lastSubmit">上一步</el-button>
+			<el-button type="primary" size="medium" @click="submit">{{stepId === 3 ? '保存' : '下一步'}}</el-button>
 		</div>
 	</div>
 </template>
 
 <script>
+	import {
+		getPartList
+	} from '@/httpApi/organization'
 	import projectItemTreeSelect from '@/components/common/projectItemTreeSelect'
+	import {
+		getOrganizationList,
+	} from '@/httpApi/business'
+	import {
+		getCustomerListByPage
+	} from '@/httpApi/crm'
+	import tag from '@/components/common/tag'
+	import customData from '@/components/common/customData'
+	import clause from '@/components/work/contract/common/clause'
+	import selectTemplate from '@/components/work/contract/common/selectTemplate'
 	export default {
 		data() {
 			return {
+				stepList: [{
+					id: 1,
+					name: '基本信息'
+				}, {
+					id: 2,
+					name: '费用条款'
+				}, {
+					id: 3,
+					name: '合同文本'
+				}],
+				stepId: 1,
+				organization: {},
+				partValue: [],
+				partData: [],
+				partProps: {
+					value: 'id',
+					label: 'name',
+					checkStrictly: true
+				},
+				partUserList: [],
+				merchantList: [],
+				clientList: [],
+				customList: [],
 				form: {
+					organizationId: '',
+					roleId: '',
+					roleName: '',
+					investmentPromotion: '',
+					operator: '',
+					renterType: 1,
+					merchantId: '',
+					clientId: '',
+					tenant: '', //租客
+					industry: '',
+					corporation: '',
+					signatory: '',
+					tenantContactPerson: '',
+					signingDate: '',
+					startDate: '',
+					endDate: '',
+					lateFeesStartingDays: '',
+					lateFeesProportion: '',
+					tagIds: '',
 					type: ''
+				},
+				clauseList: [{
+					id: 1,
+					name: '租期条款'
+				}, {
+					id: 2,
+					name: '保证金条款'
+				}, {
+					id: 3,
+					name: '递增条款'
+				}, {
+					id: 4,
+					name: '优惠条款'
+				}],
+				clauseData: [{
+					id: 1,
+					type: 1,
+					isDelete: false
+				}, {
+					id: 2,
+					type: 2,
+					isDelete: false
+				}],
+				clauseIndex: 3
+			}
+		},
+		created() {
+			this.organization = this.$store.getters.organization;
+			this.form['organizationId'] = this.organization.id;
+			this.partList();
+			this.merchant();
+			this.client();
+		},
+		methods: {
+			partList() {
+				getPartList(this.organization.id, this.$store.getters.project.id).then(res => {
+					if (res.state) {
+						this.partData = res.data;
+						this.returnPartList(this.partData);
+					}
+				})
+			},
+			merchant() {
+				getOrganizationList({
+					organizationId: this.organization.id,
+					status: 1
+				}).then(res => {
+					if (res.state) {
+						this.merchantList = res.data;
+					}
+				})
+			},
+			changeMerchant() {
+				let data = this.merchantList.find(node => node.id == this.form.merchantId);
+				this.form.corporation = data.legalPerson;
+			},
+			client() {
+				getCustomerListByPage({
+					currPage: 1,
+					pageSize: 100,
+					organizationId: this.organization.id,
+					status: 2
+				}).then(res => {
+					if (res.state) {
+						this.clientList = res.data.dataList;
+					}
+				})
+			},
+			returnPartList(data) {
+				for (var i = 0; i < data.length; i++) {
+					if (data[i].children.length > 0) {
+						this.returnPartList(data[i].children)
+					} else {
+						data[i].children = null;
+					}
 				}
+			},
+			changePart(val) {
+				this.form.investmentPromotion = '';
+				this.form.operator = '';
+				this.partUserList = this.$refs.partCascader.getCheckedNodes(true)[0].data.users || [];
+			},
+			lastSubmit() {
+				if (this.stepId > 0) return this.stepId--;
+			},
+			submit() {
+				if (this.stepId < 3) return this.stepId++;
+				// let post = {}
+				// postData['data'] = JSON.stringify(this.$refs.customData.listData);
+				// postData['tagIds'] = this.$refs.tag.tagIds();
+			},
+			insertClause(type) {
+				this.clauseData.push({
+					id: this.clauseIndex,
+					type: type,
+					isDelete: true
+				})
+				this.clauseIndex++;
+			},
+			deleteClause(id) {
+				this.$confirm('确定要删除该条款', () => {
+					let index = this.clauseData.findIndex(node => node.id === id);
+					this.clauseData.splice(index, 1);
+				});
 			}
 		},
 		components: {
-			projectItemTreeSelect
+			projectItemTreeSelect,
+			tag,
+			customData,
+			clause,
+			selectTemplate
 		},
 	}
 </script>
@@ -159,6 +345,13 @@
 			padding: 12px 0;
 		}
 
+		.contract-clause {
+			flex: 1;
+			width: 0;
+			height: 100%;
+			overflow-y: auto;
+		}
+
 		.contract-project-title {
 			height: 42px;
 			border-radius: 2px;
@@ -200,6 +393,18 @@
 			background: $--box-background;
 			margin-bottom: 12px;
 
+			.el-icon-close {
+				position: absolute;
+				right: 10px;
+				top: 10px;
+				cursor: pointer;
+				font-size: 18px;
+			}
+
+			.hui-chart-title {
+				padding-right: 20px;
+			}
+
 			.contract-from {
 				padding: 20px 0 0 15px;
 				display: flex;
@@ -242,6 +447,13 @@
 				position: relative;
 			}
 
+			.el-icon-arrow-right {
+				position: absolute;
+				top: 16px;
+				right: -8px;
+				font-size: 18px;
+			}
+
 			.step-number {
 				width: 26px;
 				height: 26px;

+ 67 - 1
virgo.wzfrontend/console/src/config/field.js

@@ -107,6 +107,63 @@ const industryType = [{
 	name: '旅游休闲'
 }];
 
+const rentWay = [{
+	id: 1,
+	name: '固定租金'
+}]
+const chargingType = [{
+	id: 1,
+	name: '按月计费'
+}, {
+	id: 2,
+	name: '按季计费'
+}, {
+	id: 3,
+	name: '按年计费'
+}]
+const payTime = [{
+	id: 1,
+	name: '当天提醒'
+}, {
+	id: 2,
+	name: '提前一天提醒'
+}, {
+	id: 3,
+	name: '提前三天提醒'
+}, {
+	id: 4,
+	name: '提前五天提醒'
+}]
+const unnaturalMonthChargingWay = [{
+	id: 1,
+	name: '按天单价计算'
+}]
+const leaseTermWay = [{
+	id: 1,
+	name: '按起始日划分'
+}, {
+	id: 2,
+	name: '延迟一日划分'
+}]
+const earnestMoneyType = [{
+	id: 1,
+	name: '租金保证金'
+}, {
+	id: 2,
+	name: '装修保证金'
+}]
+const currencyType = [{
+	id: 1,
+	name: '人民币CNY'
+}]
+const preferentialType = [{
+	id: 1,
+	name: '免租期'
+}]
+const preferentialRentFreeWay = [{
+	id: 1,
+	name: '免租期划入租期'
+}]
 const findItem = (type, id) => {
 	return eval(type).find(node => node.id == id) || {
 		id: 0,
@@ -121,7 +178,16 @@ export default {
 		customerType,
 		followUpState,
 		fieldType,
-		industryType
+		industryType,
+		rentWay,
+		chargingType,
+		payTime,
+		unnaturalMonthChargingWay,
+		leaseTermWay,
+		earnestMoneyType,
+		currencyType,
+		preferentialType,
+		preferentialRentFreeWay
 	},
 	findTypeName(type, id) {
 		return findItem(type, id).name;

+ 12 - 1
virgo.wzfrontend/console/src/httpApi/business.js

@@ -1,6 +1,6 @@
 import request from '@/axios'
 /* 
- * 获取企业列表
+ * 分页获取企业列表
  * 
  */
 export function getOrganizationListByPage(data) {
@@ -10,6 +10,17 @@ export function getOrganizationListByPage(data) {
 		data: data
 	})
 }
+/* 
+ * 获取企业列表
+ * 
+ */
+export function getOrganizationList(data) {
+	return request({
+		url: `/api/Merchant/list`,
+		method: 'post',
+		data: data
+	})
+}
 /* 
  * 新增企业
  * 

+ 23 - 0
virgo.wzfrontend/console/src/httpApi/organization.js

@@ -12,6 +12,29 @@ export function updateOrganization(data) {
 		data: data
 	})
 }
+/* 
+ * 通过code获取组织信息
+ * 
+ * 
+ */
+export function getOrganizationByCode(organizationCode) {
+	return request({
+		url: `/manager/base/organizationCode/${organizationCode}`,
+		method: 'get'
+	})
+}
+/* 
+ * 绑定客户/经纪人/组织至组织项目
+ * 
+ * 
+ */
+export function bindProject(data) {
+	return request({
+		url: `/manager/bindProject`,
+		method: 'post',
+		data: data
+	})
+}
 /* 
  * 获取组织项目部门列表
  * 

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

@@ -10,11 +10,17 @@
 			</el-timeline-item>
 			<el-timeline-item timestamp="2024-06-05" placement="top">
 				<div class="log-box">
-					<div class="log-item">1、客户管理新增批量导入、模板下载功能。</div>
+					<div class="log-item">1、客户管理新增批量导入、模板下载功能。</div>
 					<div class="log-item">2、新增客商管理-企业管理功能。</div>
 					<div class="log-item">3、完成合同列表、新增合同部分UI部分。</div>
 				</div>
 			</el-timeline-item>
+			<el-timeline-item timestamp="2024-06-06" placement="top">
+				<div class="log-box">
+					<div class="log-item">1、完成企业管理和组织的绑定功能。</div>
+					<div class="log-item">2、新增合同-基本信息、费用条款的数据逻辑部分以及合同文本部分逻辑。</div>
+				</div>
+			</el-timeline-item>
 		</el-timeline>
 	</div>
 </template>

+ 66 - 7
virgo.wzfrontend/console/src/views/work/business/organization.vue

@@ -23,6 +23,16 @@
 					<el-table-column label="企业法人" prop="legalPerson"></el-table-column>
 					<el-table-column label="成立时间" prop="establishDate"></el-table-column>
 					<el-table-column label="营业期限" prop="businessTerm"></el-table-column>
+					<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>
+							</div>
+							<div v-else class="hui-table-tag">
+								<div class="hui-tag hui-tag-success">已绑定</div>
+							</div>
+						</template>
+					</el-table-column>
 					<el-table-column label="操作" width="150">
 						<template slot-scope="scope">
 							<div class="hui-table-operation">
@@ -55,8 +65,14 @@
 <script>
 	import {
 		getOrganizationListByPage,
-		deleteOrganizationById
+		deleteOrganizationById,
+		updateOrganization
 	} from '@/httpApi/business'
+	import {
+		getOrganizationByCode,
+		bindProject
+	} from '@/httpApi/organization'
+
 	import edit from '@/components/work/business/organization/edit'
 	import detail from '@/components/work/business/organization/detail'
 	export default {
@@ -96,18 +112,18 @@
 				this.isUpdate = false;
 				this.visible = true;
 			},
-			updateProject(val) {
-				this.detailId = val.id;
+			updateProject(item) {
+				this.detailId = item.id;
 				this.isUpdate = true;
 				this.visible = true;
 			},
-			lookProject(val) {
-				this.detailId = val.id;
+			lookProject(item) {
+				this.detailId = item.id;
 				this.drawer = true;
 			},
-			deleteProject(val) {
+			deleteProject(item) {
 				this.$confirm('确定要删除该企业?', () => {
-					deleteOrganizationById(val.id).then(res => {
+					deleteOrganizationById(item.id).then(res => {
 						if (res.state) {
 							this.init();
 							this.$message.success('操作成功');
@@ -115,6 +131,49 @@
 					})
 				});
 			},
+			bindOrganization(item) {
+				let organizationId = '';
+				this.$prompt('请输入组织编码', '有极提示', {
+					confirmButtonText: '确 定',
+					cancelButtonClass: 'cancel',
+					confirmButtonClass: 'confirm',
+					cancelButtonText: '取 消',
+					inputPattern: /\S/,
+					inputErrorMessage: '请输入组织编码',
+					beforeClose(action, instance, done) {
+						if (action === 'confirm') {
+							getOrganizationByCode(instance.inputValue).then(res => {
+								if (res.state) {
+									if (!res.data) return this.$message.warning('该组织编码无效,请重新输入');
+									organizationId = res.data.id;
+									done();
+								}
+							})
+						} else {
+							done();
+						}
+					}
+				}).then((data) => {
+					bindProject({
+						organizationId: this.$store.getters.organization.id,
+						projectId: this.$store.getters.project.id,
+						merchantId: organizationId,
+						identityId: 3
+					}).then(res => {
+						if (res.state) {
+							updateOrganization({
+								id: item.id,
+								status: 1
+							}).then(res => {
+								if (res.state) {
+									this.init();
+									this.$message.success('操作成功');
+								}
+							})
+						}
+					})
+				}).catch(() => {});
+			},
 			callback(type) {
 				if (type === 'init') this.init();
 				this.visible = false;

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/index.html


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/102.67e250a9.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/110.20e33a6e.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/539.afd836c5.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/17.c8e48dd1.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/192.968c8c10.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/197.bd4ff39e.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/207.71fbab52.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/37.968c8c10.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/376.52c2cdde.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/396.b8abf9c9.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/404.67d356a0.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/404.b6c7aaf0.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/412.22d48ee0.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/412.5d3d6f6a.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/449.67e250a9.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/461.67d356a0.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/461.b6c7aaf0.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/510.b05b624d.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/498.b05b624d.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/740.656d03ec.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/529.20e33a6e.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/539.b8abf9c9.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/568.f43f4c00.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/153.aafd2239.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/376.f1acec87.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/61.246cda98.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/625.b179d095.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/689.aafd2239.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/6.7c90d69a.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/719.22d48ee0.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/719.5d3d6f6a.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/525.656d03ec.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/746.d89f7a15.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/758.b179d095.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/788.225bc5ff.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/788.acde2536.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/838.7c90d69a.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/396.afd836c5.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/842.c8e48dd1.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/913.f43f4c00.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/929.d89f7a15.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/944.096e91e5.css


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/css/944.bd4ff39e.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/css/app.e9e944ca.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/102-legacy.84f23104.js


virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.4a2adf1a.js → virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.7056c136.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/17-legacy.bdc507ee.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/192-legacy.3c51e556.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/202.5b7814d2.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/293.ba7748d2.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/37.c044cfb5.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/386-legacy.2da7b5bf.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/449.e4098437.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.2e39e6ea.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/510.b1171170.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.689098c7.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.05dc6088.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/568.0468dea8.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/6.5dffc6b2.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.cefaf697.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.ff76bc4a.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/61.bcb04045.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/61.ff76bc4a.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/625-legacy.a7962f15.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/625.ebaa0be9.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/654-legacy.c0da7fba.js


virgo.wzfrontend/src/main/resources/static/static/js/689.811774bc.js → virgo.wzfrontend/src/main/resources/static/static/js/689.c1cbfd5b.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/740.fee814fb.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/746-legacy.ea2f75b8.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/758.c4243ffb.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/838-legacy.ffbe0e42.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/842.5f22ac2c.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/913-legacy.60bb7049.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/919-legacy.4e399dbc.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/929.d61ab8c8.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.9a379b0a.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.b14afb3b.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/app.a7c96cb4.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/app.b5a16ce4.js


+ 6 - 6
virgo.wzfrontend/wx/request/api/message.js

@@ -41,7 +41,7 @@ export function getMessageDetailById(id) {
 		url: `/manager/message/get/${id}`,
 		method: 'get'
 	})
-}
+}
 /* 
  * 获取客户详情
  * 
@@ -52,7 +52,7 @@ export function getCustomerDetailById(id) {
 		url: `/manager/client/${id}`,
 		method: 'get'
 	})
-}
+}
 /* 
  * 编辑客户
  * 
@@ -64,7 +64,7 @@ export function updateCustomer(data) {
 		method: 'put',
 		data: data
 	})
-}
+}
 /* 
  * 编辑经纪人
  * 
@@ -87,9 +87,9 @@ export function getAgentDetailById(id) {
 		url: `/manager/agent/${id}`,
 		method: 'get'
 	})
-}
+}
 /* 
- * 绑定客户/经纪人至组织项目
+ * 绑定客户/经纪人/组织至组织项目
  * 
  * 
  */
@@ -99,4 +99,4 @@ export function bindProject(data) {
 		method: 'post',
 		data: data
 	})
-}
+}