Commit e6492ccf533b91f18be623cff9fbfe06ceed2f9a

Authored by 史婷婷
1 parent 0e085b64

feat: 新增完成+详情-暂存

@@ -733,7 +733,6 @@ export default { @@ -733,7 +733,6 @@ export default {
733 width: 32rpx; 733 width: 32rpx;
734 height: 28rpx; 734 height: 28rpx;
735 margin-right: 16rpx; 735 margin-right: 16rpx;
736 - margin-top: 8rpx;  
737 } 736 }
738 737
739 span { 738 span {
1 <template> 1 <template>
2 <view class="core-personnel"> 2 <view class="core-personnel">
3 - <view class="header"> 3 + <view class="header" :class="{'bp': mode !== 'add'}">
4 <image class="opCollapse" src="/static/images/title.png" /> 4 <image class="opCollapse" src="/static/images/title.png" />
5 <text class="title">核心人员</text> 5 <text class="title">核心人员</text>
6 <view class="ops"> 6 <view class="ops">
@@ -77,7 +77,7 @@ @@ -77,7 +77,7 @@
77 </uni-list-item> 77 </uni-list-item>
78 </uni-list> 78 </uni-list>
79 <view class="block-ops"> 79 <view class="block-ops">
80 - <div class="del" @click="onRemove(idx)"> 80 + <div class="del" @click="onRemove(item.personId)">
81 <image src="/static/images/delete.png" class="icon" /> 81 <image src="/static/images/delete.png" class="icon" />
82 删除 82 删除
83 </div> 83 </div>
@@ -109,6 +109,7 @@ @@ -109,6 +109,7 @@
109 </template> 109 </template>
110 <script> 110 <script>
111 import SingleSelectSheet from '@/components/single-select/index.vue' 111 import SingleSelectSheet from '@/components/single-select/index.vue'
  112 +import { uuid } from '@/utils/uuid.js'
112 export default { 113 export default {
113 name: 'CorePersonnel', 114 name: 'CorePersonnel',
114 props: { 115 props: {
@@ -162,7 +163,7 @@ export default { @@ -162,7 +163,7 @@ export default {
162 }, 163 },
163 methods: { 164 methods: {
164 defaultItem() { 165 defaultItem() {
165 - return { name: '', sex: '', sexName: '', nativePlace: '', age: '', position: '', mobile: '', phone: '', email: '', address: '', collapsed: false } 166 + return { personId: uuid(), name: '', sex: '', sexName: '', nativePlace: '', age: '', position: '', mobile: '', phone: '', email: '', address: '', collapsed: false }
166 }, 167 },
167 getSexName(item) { 168 getSexName(item) {
168 const opts = this.selectOptions 169 const opts = this.selectOptions
@@ -200,9 +201,23 @@ export default { @@ -200,9 +201,23 @@ export default {
200 this.items.push(obj) 201 this.items.push(obj)
201 this.emitChange() 202 this.emitChange()
202 }, 203 },
203 - onRemove(idx) {  
204 - this.items.splice(idx, 1)  
205 - this.emitChange() 204 + onRemove(id) {
  205 + if (!id) return
  206 + uni.showModal({
  207 + title: '系统提示',
  208 + content: '是否确定删除选中的核心人员?',
  209 + confirmText: '确定',
  210 + cancelText: '取消',
  211 + success: (res) => {
  212 + if (res && res.confirm) {
  213 + const i = this.items.findIndex(it => String(it.personId) === String(id))
  214 + if (i >= 0) {
  215 + this.items.splice(i, 1)
  216 + this.emitChange()
  217 + }
  218 + }
  219 + }
  220 + })
206 }, 221 },
207 toggleItem(idx) { 222 toggleItem(idx) {
208 const it = this.items[idx] 223 const it = this.items[idx]
@@ -232,7 +247,9 @@ export default { @@ -232,7 +247,9 @@ export default {
232 display: flex; 247 display: flex;
233 align-items: center; 248 align-items: center;
234 padding: 24rpx 32rpx; 249 padding: 24rpx 32rpx;
235 - border-bottom: 1rpx solid #f0f0f0; 250 + &.bp {
  251 + border-bottom: 1rpx solid #f0f0f0;
  252 + }
236 } 253 }
237 254
238 .dot { 255 .dot {
@@ -275,7 +292,6 @@ export default { @@ -275,7 +292,6 @@ export default {
275 width: 32rpx; 292 width: 32rpx;
276 height: 28rpx; 293 height: 28rpx;
277 margin-right: 16rpx; 294 margin-right: 16rpx;
278 - margin-top: 8rpx;  
279 } 295 }
280 296
281 297
@@ -7,8 +7,10 @@ @@ -7,8 +7,10 @@
7 <view :class="['status', `status_${form.status}`]" /> 7 <view :class="['status', `status_${form.status}`]" />
8 <view class="row"><text class="label">编号</text><text class="value">{{ form.serialNumber }}</text></view> 8 <view class="row"><text class="label">编号</text><text class="value">{{ form.serialNumber }}</text></view>
9 <view class="row"><text class="label">区域</text><text class="value">{{ form.region }}</text></view> 9 <view class="row"><text class="label">区域</text><text class="value">{{ form.region }}</text></view>
  10 + <view class="row"><text class="label">客户简称</text><text class="value">{{ form.customerShortName }}</text></view>
10 <view class="row"><text class="label">企业类型</text><text class="value">{{ getDicName('ENTERPRISE_TYPE', 11 <view class="row"><text class="label">企业类型</text><text class="value">{{ getDicName('ENTERPRISE_TYPE',
11 form.enterpriseType, enterpriseTypeOptions) }}</text></view> 12 form.enterpriseType, enterpriseTypeOptions) }}</text></view>
  13 + <view class="row"><text class="label">企业操作类型</text><text class="value">{{ form.enterpriseOperationType }}</text></view>
12 <view class="row"><text class="label">登记日期</text><text class="value">{{ form.registerDate }}</text></view> 14 <view class="row"><text class="label">登记日期</text><text class="value">{{ form.registerDate }}</text></view>
13 </view> 15 </view>
14 16
@@ -18,15 +20,17 @@ @@ -18,15 +20,17 @@
18 </view> 20 </view>
19 <view class="section"> 21 <view class="section">
20 <view class="row"><text class="label">企业性质</text><text class="value">{{ form.companyNature }}</text></view> 22 <view class="row"><text class="label">企业性质</text><text class="value">{{ form.companyNature }}</text></view>
21 - <view class="row"><text class="label">单位地址</text><text class="value">{{ form.companyAddress }}</text></view>  
22 <view class="row"><text class="label">注册资本</text><text class="value">{{ form.registeredCapital }} 万元</text> 23 <view class="row"><text class="label">注册资本</text><text class="value">{{ form.registeredCapital }} 万元</text>
23 </view> 24 </view>
24 <view class="row"><text class="label">账号</text><text class="value">{{ form.bankAccount }}</text></view> 25 <view class="row"><text class="label">账号</text><text class="value">{{ form.bankAccount }}</text></view>
25 - <view class="row"><text class="label">开户行</text><text class="value">{{ form.bankName }}</text></view> 26 + <view class="row"><text class="label">开户行</text><text class="value">{{ form.bankName }}</text></view>
26 <view class="row"><text class="label">税号</text><text class="value">{{ form.taxNumber }}</text></view> 27 <view class="row"><text class="label">税号</text><text class="value">{{ form.taxNumber }}</text></view>
27 <view class="row"><text class="label">注册时间</text><text class="value">{{ form.registrationTime }}</text></view> 28 <view class="row"><text class="label">注册时间</text><text class="value">{{ form.registrationTime }}</text></view>
28 <view class="row"><text class="label">经营年限</text><text class="value">{{ form.businessYears }}</text></view> 29 <view class="row"><text class="label">经营年限</text><text class="value">{{ form.businessYears }}</text></view>
  30 + <view class="row"><text class="label">单位地址</text><text class="value">{{ form.companyAddress }}</text></view>
29 <view class="row"><text class="label">经营范围</text><text class="value">{{ form.businessScope }}</text></view> 31 <view class="row"><text class="label">经营范围</text><text class="value">{{ form.businessScope }}</text></view>
  32 + <view class="row"><text class="label">工商信息</text><text class="value act">{{ form.businessFileName }}</text></view>
  33 + <view class="row"><text class="label">股东信息</text><text class="value act">{{ form.shareholderFileName }}</text></view>
30 </view> 34 </view>
31 35
32 <!-- 核心人员 --> 36 <!-- 核心人员 -->
@@ -50,6 +54,14 @@ @@ -50,6 +54,14 @@
50 <view class="row"><text class="label">资产评估</text><text class="value">{{ form.assetEvaluation }}</text></view> 54 <view class="row"><text class="label">资产评估</text><text class="value">{{ form.assetEvaluation }}</text></view>
51 <view class="row"><text class="label">上年度销售额</text><text class="value">{{ form.lastYearSales }}</text></view> 55 <view class="row"><text class="label">上年度销售额</text><text class="value">{{ form.lastYearSales }}</text></view>
52 <view class="row"><text class="label">月均销量</text><text class="value">{{ form.monthlyAvgSales }}</text></view> 56 <view class="row"><text class="label">月均销量</text><text class="value">{{ form.monthlyAvgSales }}</text></view>
  57 + <view class="row"><text class="label">销项发票所开品名与计量单位</text><text class="value">{{ form.invoiceItemUnit }}</text></view>
  58 + <view class="row"><text class="label">认证证书</text><text class="value">{{ form.certificationCertificate }}</text></view>
  59 + <view class="row"><text class="label">我司售与产品于经营范围是否匹配</text><text class="value">{{ form.productMatch }}</text></view>
  60 + <view class="row"><text class="label">主要客户</text><text class="value">{{ form.majorCustomers }}</text></view>
  61 + <view class="row"><text class="label">主营项目</text><text class="value">{{ form.mainProjects }}</text></view>
  62 + <view class="row"><text class="label">从事行业</text><text class="value">{{ form.industryInvolved }}</text></view>
  63 + <view class="row"><text class="label">在该行业中的经验</text><text class="value">{{ form.industryExperience }}</text></view>
  64 + <view class="row"><text class="label">是否与其他企业有经济纠纷 违规信息 拖欠员工薪资</text><text class="value">{{ form.hasDispute }}</text></view>
53 </view> 65 </view>
54 66
55 <view class="title-header"> 67 <view class="title-header">
@@ -65,10 +77,10 @@ @@ -65,10 +77,10 @@
65 </view> 77 </view>
66 <view class="row"><text class="label">是否签订其他协议</text><text class="value">{{ form.otherAgreements }}</text> 78 <view class="row"><text class="label">是否签订其他协议</text><text class="value">{{ form.otherAgreements }}</text>
67 </view> 79 </view>
68 - <view class="row"><text class="label">是否签订长年合同</text><text class="value">{{ form.hasLongTermContract }}</text> 80 + <view class="row"><text class="label">与我司操作是否签订长年合同</text><text class="value">{{ form.hasLongTermContract }}</text>
69 </view> 81 </view>
70 <view class="row"><text class="label">合同类型</text><text class="value">{{ form.contractType }}</text></view> 82 <view class="row"><text class="label">合同类型</text><text class="value">{{ form.contractType }}</text></view>
71 - <view class="row"><text class="label">是否有过中断及原因</text><text class="value">{{ form.hasInterruption }}</text> 83 + <view class="row"><text class="label">是否有过中断及中断原因</text><text class="value">{{ form.hasInterruption }}</text>
72 </view> 84 </view>
73 </view> 85 </view>
74 86
@@ -124,10 +136,11 @@ @@ -124,10 +136,11 @@
124 </view> 136 </view>
125 <view class="row"><text class="label">加工操作方案</text><text class="value">{{ form.companyMaterialSupplyPlan 137 <view class="row"><text class="label">加工操作方案</text><text class="value">{{ form.companyMaterialSupplyPlan
126 }}</text></view> 138 }}</text></view>
127 - <view class="row"><text class="label">复核人</text><text class="value">{{ form.reviewerName }}</text></view>  
128 - <view class="row"><text class="label">审批人</text><text class="value">{{ form.approverName }}</text></view>  
129 </view> 139 </view>
130 - 140 + <view class="title-header">
  141 + <image class="title-header_icon" src="/static/images/title.png" />
  142 + <span>变更记录</span>
  143 + </view>
131 144
132 </view> 145 </view>
133 </scroll-view> 146 </scroll-view>
@@ -287,7 +300,7 @@ export default { @@ -287,7 +300,7 @@ export default {
287 } 300 }
288 301
289 .label { 302 .label {
290 - width: 180rpx; 303 + max-width: 420rpx;
291 line-height: 32rpx; 304 line-height: 32rpx;
292 font-size: 28rpx; 305 font-size: 28rpx;
293 color: rgba(0, 0, 0, 0.6); 306 color: rgba(0, 0, 0, 0.6);
@@ -300,6 +313,10 @@ export default { @@ -300,6 +313,10 @@ export default {
300 color: rgba(0, 0, 0, 0.9); 313 color: rgba(0, 0, 0, 0.9);
301 text-align: right; 314 text-align: right;
302 315
  316 + &.act {
  317 + color: $theme-primary;
  318 + }
  319 +
303 .category { 320 .category {
304 display: inline-block; 321 display: inline-block;
305 padding: 4rpx 12rpx; 322 padding: 4rpx 12rpx;
@@ -345,7 +362,6 @@ export default { @@ -345,7 +362,6 @@ export default {
345 width: 32rpx; 362 width: 32rpx;
346 height: 28rpx; 363 height: 28rpx;
347 margin-right: 16rpx; 364 margin-right: 16rpx;
348 - margin-top: 8rpx;  
349 } 365 }
350 366
351 span { 367 span {
@@ -742,7 +742,6 @@ export default { @@ -742,7 +742,6 @@ export default {
742 width: 32rpx; 742 width: 32rpx;
743 height: 28rpx; 743 height: 28rpx;
744 margin-right: 16rpx; 744 margin-right: 16rpx;
745 - margin-top: 8rpx;  
746 } 745 }
747 746
748 span { 747 span {
  1 +const hexList = []
  2 +for (let i = 0; i <= 15; i++) {
  3 + hexList[i] = i.toString(16)
  4 +}
  5 +
  6 +export function buildUUID() {
  7 + let uuid = ''
  8 + for (let i = 1; i <= 36; i++) {
  9 + if (i === 9 || i === 14 || i === 19 || i === 24) {
  10 + uuid += '-'
  11 + } else if (i === 15) {
  12 + uuid += 4
  13 + } else if (i === 20) {
  14 + uuid += hexList[(Math.random() * 4) | 8]
  15 + } else {
  16 + uuid += hexList[(Math.random() * 16) | 0]
  17 + }
  18 + }
  19 + return uuid.replace(/-/g, '')
  20 +}
  21 +
  22 +let unique = 0
  23 +export function buildShortUUID(prefix = '') {
  24 + const time = Date.now()
  25 + const random = Math.floor(Math.random() * 1000000000)
  26 + unique++
  27 + return prefix + '_' + random + unique + String(time)
  28 +}
  29 +
  30 +export const uuid = function () {
  31 + const s = []
  32 + const hexDigits = '0123456789abcdef'
  33 + for (let i = 0; i < 36; i++) {
  34 + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
  35 + }
  36 + s[14] = '4'
  37 + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
  38 + const _uuid = s.join('')
  39 + return _uuid
  40 +}