Commit 255bc6f174b682348cda90e76205d34b5ebf4057

Authored by 史婷婷
2 parents 4a7493dd 952d74a9

Merge remote-tracking branch 'origin/cjerp-1.0' into publish_cjerp

@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000"/>
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,10 +233,10 @@ export default { @@ -233,10 +233,10 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '',  
239 - unit: '美元、公斤、元美/公斤', 238 + includesTransportFeeName: '否',
  239 + unit: '美元、公斤、美元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
242 destinationLabel: '', 242 destinationLabel: '',
@@ -215,7 +215,7 @@ export default { @@ -215,7 +215,7 @@ export default {
215 const t = this.detail.standardApproved || false 215 const t = this.detail.standardApproved || false
216 const e = this.detail.standardShowExamine || false 216 const e = this.detail.standardShowExamine || false
217 return [ 217 return [
218 - { ...this.buttons[0], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:modifyx')) }, 218 + { ...this.buttons[0], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:modify')) },
219 { ...this.buttons[1], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:delete')) }, 219 { ...this.buttons[1], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:delete')) },
220 { ...this.buttons[2], visible: (s !== 'DELETED' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload')) }, 220 { ...this.buttons[2], visible: (s !== 'DELETED' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload')) },
221 { ...this.buttons[3], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload-seal')) }, 221 { ...this.buttons[3], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload-seal')) },
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text> 61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text>
62 </view> 62 </view>
63 <view class="info-row" v-if="item.status === 'STANDARD'"> 63 <view class="info-row" v-if="item.status === 'STANDARD'">
64 - <text>正式合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span> 64 + <text>标准合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span>
65 </view> 65 </view>
66 <view class="info-row"> 66 <view class="info-row">
67 <text>订货日期</text><text>{{ item.orderDate }}</text> 67 <text>订货日期</text><text>{{ item.orderDate }}</text>
@@ -104,11 +104,7 @@ export default { @@ -104,11 +104,7 @@ export default {
104 searchKeyword: '', 104 searchKeyword: '',
105 searchKeywordDebounced: '', 105 searchKeywordDebounced: '',
106 106
107 - tabs: [  
108 - { label: '草稿合同', value: 'DRAFT' },  
109 - { label: '标准合同', value: 'STANDARD' },  
110 - { label: '已删除合同', value: 'DELETED' }  
111 - ], 107 +
112 status: 'DRAFT', 108 status: 'DRAFT',
113 109
114 query: { deptId: '', deptName: '', dateRange: [] }, 110 query: { deptId: '', deptName: '', dateRange: [] },
@@ -126,6 +122,23 @@ export default { @@ -126,6 +122,23 @@ export default {
126 } 122 }
127 }, 123 },
128 computed: { 124 computed: {
  125 + roleCodes() {
  126 + const g = this.$store && this.$store.getters
  127 + return (g && g.roleCodes) || []
  128 + },
  129 + tabs() {
  130 + if (this.roleCodes.includes('constract_admin')) {
  131 + return [
  132 + { label: '草稿合同', value: 'DRAFT' },
  133 + { label: '标准合同', value: 'STANDARD' },
  134 + { label: '已删除合同', value: 'DELETED' }
  135 + ]
  136 + }
  137 + return [
  138 + { label: '草稿合同', value: 'DRAFT' },
  139 + { label: '标准合同', value: 'STANDARD' }
  140 + ]
  141 + },
129 extraCombined() { 142 extraCombined() {
130 return { 143 return {
131 keyword: this.searchKeywordDebounced || undefined, 144 keyword: this.searchKeywordDebounced || undefined,
@@ -344,10 +357,10 @@ export default { @@ -344,10 +357,10 @@ export default {
344 margin-bottom: 0; 357 margin-bottom: 0;
345 } 358 }
346 text { 359 text {
347 - width: 60%; 360 + width: 50%;
348 &:last-child { 361 &:last-child {
349 color: rgba(0,0,0,0.9); 362 color: rgba(0,0,0,0.9);
350 - width: 40%; 363 + width: 50%;
351 } 364 }
352 } 365 }
353 } 366 }
@@ -121,7 +121,7 @@ @@ -121,7 +121,7 @@
121 </uni-list-item> 121 </uni-list-item>
122 <uni-list-item title="备注"> 122 <uni-list-item title="备注">
123 <template v-slot:footer> 123 <template v-slot:footer>
124 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 124 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
125 </template> 125 </template>
126 </uni-list-item> 126 </uni-list-item>
127 127
@@ -220,9 +220,9 @@ export default { @@ -220,9 +220,9 @@ export default {
220 executionStandardName: '', 220 executionStandardName: '',
221 executionStandardRemarks: '', 221 executionStandardRemarks: '',
222 includesPackagingFee: false, 222 includesPackagingFee: false,
223 - includesPackagingFeeName: '', 223 + includesPackagingFeeName: '',
224 includesTransportFee: false, 224 includesTransportFee: false,
225 - includesTransportFeeName: '', 225 + includesTransportFeeName: '',
226 unit: '美元、公斤、美元/公斤', 226 unit: '美元、公斤、美元/公斤',
227 totalAmountCapital: '', 227 totalAmountCapital: '',
228 depositInfo: '', 228 depositInfo: '',
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '美元、公斤、美元/公斤', 239 unit: '美元、公斤、美元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -4,8 +4,13 @@ @@ -4,8 +4,13 @@
4 <view class="detail-page"> 4 <view class="detail-page">
5 <view class="section"> 5 <view class="section">
6 <text class="row customer">{{ detail.code }}</text> 6 <text class="row customer">{{ detail.code }}</text>
7 - <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'"><text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text><text class="value"><span class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span></text></view>  
8 - <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view> 7 + <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'">
  8 + <text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text>
  9 + <text class="value">
  10 + <span v-if="detail.status === 'STANDARD'" class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span>
  11 + <span v-if="detail.status === 'FORMAL'" class="info-status" :style="detail.formalApprovedName ? getStatusCss(detail.formalApprovedName) : ''" >{{ detail.formalApprovedName || '-' }}</span>
  12 + </text>
  13 + </view> <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view>
9 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-' 14 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-'
10 }}</text></view> 15 }}</text></view>
11 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-' 16 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-'
@@ -119,7 +124,7 @@ import ProductRel from './productRel.vue' @@ -119,7 +124,7 @@ import ProductRel from './productRel.vue'
119 import DetailButtons from '@/components/detail-buttons/index.vue' 124 import DetailButtons from '@/components/detail-buttons/index.vue'
120 import FileUpload from '@/components/file-upload/index.vue' 125 import FileUpload from '@/components/file-upload/index.vue'
121 import SingleSelectSheet from '@/components/single-select/index.vue' 126 import SingleSelectSheet from '@/components/single-select/index.vue'
122 -import { fillStandardApprovedName } from '@/utils/dic.js' 127 +import { fillStandardApprovedName, fillFormalApprovedName } from '@/utils/dic.js'
123 128
124 export default { 129 export default {
125 name: 'ContractForeignStockDetail', 130 name: 'ContractForeignStockDetail',
@@ -466,6 +471,7 @@ export default { @@ -466,6 +471,7 @@ export default {
466 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', 471 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '',
467 } 472 }
468 this.detail = await fillStandardApprovedName(this.detail) 473 this.detail = await fillStandardApprovedName(this.detail)
  474 + this.detail = await fillFormalApprovedName(this.detail)
469 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] 475 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : []
470 this.productList = lines 476 this.productList = lines
471 } catch (e) { 477 } catch (e) {
@@ -105,13 +105,6 @@ export default { @@ -105,13 +105,6 @@ export default {
105 return { 105 return {
106 searchKeyword: '', 106 searchKeyword: '',
107 searchKeywordDebounced: '', 107 searchKeywordDebounced: '',
108 -  
109 - tabs: [  
110 - { label: '草稿合同', value: 'DRAFT' },  
111 - { label: '正式合同', value: 'FORMAL' },  
112 - { label: '标准合同', value: 'STANDARD' },  
113 - { label: '已删除合同', value: 'DELETED' }  
114 - ],  
115 status: 'DRAFT', 108 status: 'DRAFT',
116 109
117 query: { deptId: '', deptName: '', dateRange: [] }, 110 query: { deptId: '', deptName: '', dateRange: [] },
@@ -129,6 +122,25 @@ export default { @@ -129,6 +122,25 @@ export default {
129 } 122 }
130 }, 123 },
131 computed: { 124 computed: {
  125 + roleCodes() {
  126 + const g = this.$store && this.$store.getters
  127 + return (g && g.roleCodes) || []
  128 + },
  129 + tabs() {
  130 + if (this.roleCodes.includes('constract_admin')) {
  131 + return [
  132 + { label: '草稿合同', value: 'DRAFT' },
  133 + { label: '正式合同', value: 'FORMAL' },
  134 + { label: '标准合同', value: 'STANDARD' },
  135 + { label: '已删除合同', value: 'DELETED' }
  136 + ]
  137 + }
  138 + return [
  139 + { label: '草稿合同', value: 'DRAFT' },
  140 + { label: '正式合同', value: 'FORMAL' },
  141 + { label: '标准合同', value: 'STANDARD' }
  142 + ]
  143 + },
132 extraCombined() { 144 extraCombined() {
133 return { 145 return {
134 keyword: this.searchKeywordDebounced || undefined, 146 keyword: this.searchKeywordDebounced || undefined,
@@ -359,10 +371,10 @@ export default { @@ -359,10 +371,10 @@ export default {
359 margin-bottom: 0; 371 margin-bottom: 0;
360 } 372 }
361 text { 373 text {
362 - width: 60%; 374 + width: 50%;
363 &:last-child { 375 &:last-child {
364 color: rgba(0,0,0,0.9); 376 color: rgba(0,0,0,0.9);
365 - width: 40%; 377 + width: 50%;
366 } 378 }
367 } 379 }
368 } 380 }
@@ -40,9 +40,30 @@ @@ -40,9 +40,30 @@
40 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled /> 40 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled />
41 </template> 41 </template>
42 </uni-list-item> 42 </uni-list-item>
43 - <uni-list-item title="规格"> 43 + <uni-list-item title="规格(mm)">
44 <template v-slot:footer> 44 <template v-slot:footer>
45 - <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> 45 + <!-- <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> -->
  46 + <view class="value value-spec">
  47 + <view v-if="item.thickness" class="value-spec_val">{{ item.thickness }}</view>
  48 + <view v-if="item.thickness" class="value-spec_box">
  49 + <view v-if="item.thicknessTolPos" class="value-spec_box_1">+{{ item.thicknessTolPos }}
  50 + </view>
  51 + <view v-if="item.thicknessTolNeg" class="value-spec_box_2">-{{ item.thicknessTolNeg }}
  52 + </view>
  53 + </view>
  54 + <view v-if="item.width" class="value-spec_val p12">*</view>
  55 + <view v-if="item.width" class="value-spec_val">{{ item.width }}</view>
  56 + <view v-if="item.width" class="value-spec_box">
  57 + <view v-if="item.widthTolPos" class="value-spec_box_1">+{{ item.widthTolPos }}</view>
  58 + <view v-if="item.widthTolNeg" class="value-spec_box_2">-{{ item.widthTolNeg }}</view>
  59 + </view>
  60 + <view v-if="item.length" class="value-spec_val p12">*</view>
  61 + <view v-if="item.length" class="value-spec_val">{{ item.length }}</view>
  62 + <view v-if="item.length" class="value-spec_box">
  63 + <view v-if="item.lengthTolPos" class="value-spec_box_1">+{{ item.lengthTolPos }}</view>
  64 + <view v-if="item.lengthTolNeg" class="value-spec_box_2">-{{ item.lengthTolNeg }}</view>
  65 + </view>
  66 + </view>
46 </template> 67 </template>
47 </uni-list-item> 68 </uni-list-item>
48 <uni-list-item title="状态"> 69 <uni-list-item title="状态">
@@ -699,4 +720,42 @@ export default { @@ -699,4 +720,42 @@ export default {
699 background: $theme-primary; 720 background: $theme-primary;
700 color: #fff; 721 color: #fff;
701 } 722 }
  723 + .value-spec {
  724 + height: 48rpx;
  725 + display: flex;
  726 + align-items: center;
  727 + color: #000000;
  728 + // justify-content: end;
  729 + &_box {
  730 + position: relative;
  731 + width: 60rpx;
  732 + height: 48rpx;
  733 +
  734 + &_1 {
  735 + font-size: 16rpx;
  736 + position: absolute;
  737 + top: -10rpx;
  738 + left: 0;
  739 + }
  740 +
  741 + &_2 {
  742 + font-size: 16rpx;
  743 + position: absolute;
  744 + bottom: -10rpx;
  745 + left: 0;
  746 + }
  747 + }
  748 +
  749 + &_val {
  750 + font-size: 28rpx;
  751 +
  752 + &.p12 {
  753 + padding-right: 12rpx;
  754 + }
  755 + }
  756 + }
  757 + .row-spec {
  758 + height: 60rpx;
  759 + align-items: center;
  760 + }
702 </style> 761 </style>
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 129
@@ -222,9 +222,9 @@ export default { @@ -222,9 +222,9 @@ export default {
222 executionStandardName: '', 222 executionStandardName: '',
223 executionStandardRemarks: '', 223 executionStandardRemarks: '',
224 includesPackagingFee: false, 224 includesPackagingFee: false,
225 - includesPackagingFeeName: '', 225 + includesPackagingFeeName: '',
226 includesTransportFee: false, 226 includesTransportFee: false,
227 - includesTransportFeeName: '', 227 + includesTransportFeeName: '',
228 unit: '美元、公斤、美元/公斤', 228 unit: '美元、公斤、美元/公斤',
229 totalAmountCapital: '', 229 totalAmountCapital: '',
230 depositInfo: '', 230 depositInfo: '',
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '美元、公斤、美元/公斤', 239 unit: '美元、公斤、美元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -4,8 +4,15 @@ @@ -4,8 +4,15 @@
4 <view class="detail-page"> 4 <view class="detail-page">
5 <view class="section"> 5 <view class="section">
6 <text class="row customer">{{ detail.code }}</text> 6 <text class="row customer">{{ detail.code }}</text>
7 - <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'"><text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text><text class="value"><span class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span></text></view>  
8 - <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view> 7 + <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'">
  8 + <text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text>
  9 + <text class="value">
  10 +
  11 + <span v-if="detail.status === 'STANDARD'" class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span>
  12 + <span v-if="detail.status === 'FORMAL'" class="info-status" :style="detail.formalApprovedName ? getStatusCss(detail.formalApprovedName) : ''" >{{ detail.formalApprovedName || '-' }}</span>
  13 +
  14 + </text>
  15 + </view> <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view>
9 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-' 16 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-'
10 }}</text></view> 17 }}</text></view>
11 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-' 18 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-'
@@ -115,12 +122,12 @@ @@ -115,12 +122,12 @@
115 </template> 122 </template>
116 123
117 <script> 124 <script>
118 -import { getContractApi, deleteContractApi, uploadFormalContract, uploadStandardContract, uploadSignedContractFile, statusStyle, statusMap } from '@/api/contract' 125 +import { getContractApi, deleteContractApi, uploadFormalContract, uploadStandardContract, uploadSignedContractFile, statusStyle, statusMap,showContract } from '@/api/contract'
119 import ProductRel from './productRel.vue' 126 import ProductRel from './productRel.vue'
120 import DetailButtons from '@/components/detail-buttons/index.vue' 127 import DetailButtons from '@/components/detail-buttons/index.vue'
121 import FileUpload from '@/components/file-upload/index.vue' 128 import FileUpload from '@/components/file-upload/index.vue'
122 import SingleSelectSheet from '@/components/single-select/index.vue' 129 import SingleSelectSheet from '@/components/single-select/index.vue'
123 -import { fillStandardApprovedName } from '@/utils/dic.js' 130 +import { fillStandardApprovedName, fillFormalApprovedName } from '@/utils/dic.js'
124 131
125 export default { 132 export default {
126 name: 'ContractForeignUnplanDetail', 133 name: 'ContractForeignUnplanDetail',
@@ -344,8 +351,10 @@ export default { @@ -344,8 +351,10 @@ export default {
344 }) 351 })
345 }, 352 },
346 onLockApply() { 353 onLockApply() {
347 - uni.navigateTo({  
348 - url: '/pages/contract_foreign_unplan/lock_apply?id=' + this.detail.id || '' 354 + showContract(this.detail.id).then(res => {
  355 + uni.navigateTo({
  356 + url: '/pages/contract_foreign_unplan/lock_apply?id=' + this.detail.id || ''
  357 + })
349 }) 358 })
350 }, 359 },
351 onEdit() { 360 onEdit() {
@@ -476,6 +485,7 @@ export default { @@ -476,6 +485,7 @@ export default {
476 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', 485 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '',
477 } 486 }
478 this.detail = await fillStandardApprovedName(this.detail) 487 this.detail = await fillStandardApprovedName(this.detail)
  488 + this.detail = await fillFormalApprovedName(this.detail)
479 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] 489 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : []
480 this.productList = lines 490 this.productList = lines
481 } catch (e) { 491 } catch (e) {
@@ -105,13 +105,6 @@ export default { @@ -105,13 +105,6 @@ export default {
105 return { 105 return {
106 searchKeyword: '', 106 searchKeyword: '',
107 searchKeywordDebounced: '', 107 searchKeywordDebounced: '',
108 -  
109 - tabs: [  
110 - { label: '草稿合同', value: 'DRAFT' },  
111 - { label: '正式合同', value: 'FORMAL' },  
112 - { label: '标准合同', value: 'STANDARD' },  
113 - { label: '已删除合同', value: 'DELETED' }  
114 - ],  
115 status: 'DRAFT', 108 status: 'DRAFT',
116 109
117 query: { deptId: '', deptName: '', dateRange: [] }, 110 query: { deptId: '', deptName: '', dateRange: [] },
@@ -129,6 +122,25 @@ export default { @@ -129,6 +122,25 @@ export default {
129 } 122 }
130 }, 123 },
131 computed: { 124 computed: {
  125 + roleCodes() {
  126 + const g = this.$store && this.$store.getters
  127 + return (g && g.roleCodes) || []
  128 + },
  129 + tabs() {
  130 + if (this.roleCodes.includes('constract_admin')) {
  131 + return [
  132 + { label: '草稿合同', value: 'DRAFT' },
  133 + { label: '正式合同', value: 'FORMAL' },
  134 + { label: '标准合同', value: 'STANDARD' },
  135 + { label: '已删除合同', value: 'DELETED' }
  136 + ]
  137 + }
  138 + return [
  139 + { label: '草稿合同', value: 'DRAFT' },
  140 + { label: '正式合同', value: 'FORMAL' },
  141 + { label: '标准合同', value: 'STANDARD' }
  142 + ]
  143 + },
132 extraCombined() { 144 extraCombined() {
133 return { 145 return {
134 keyword: this.searchKeywordDebounced || undefined, 146 keyword: this.searchKeywordDebounced || undefined,
@@ -361,10 +373,10 @@ export default { @@ -361,10 +373,10 @@ export default {
361 margin-bottom: 0; 373 margin-bottom: 0;
362 } 374 }
363 text { 375 text {
364 - width: 60%; 376 + width: 50%;
365 &:last-child { 377 &:last-child {
366 color: rgba(0,0,0,0.9); 378 color: rgba(0,0,0,0.9);
367 - width: 40%; 379 + width: 50%;
368 } 380 }
369 } 381 }
370 } 382 }
@@ -39,9 +39,30 @@ @@ -39,9 +39,30 @@
39 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled /> 39 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled />
40 </template> 40 </template>
41 </uni-list-item> 41 </uni-list-item>
42 - <uni-list-item title="规格"> 42 + <uni-list-item title="规格(mm)">
43 <template v-slot:footer> 43 <template v-slot:footer>
44 - <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> 44 + <!-- <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> -->
  45 + <view class="value value-spec">
  46 + <view v-if="item.thickness" class="value-spec_val">{{ item.thickness }}</view>
  47 + <view v-if="item.thickness" class="value-spec_box">
  48 + <view v-if="item.thicknessTolPos" class="value-spec_box_1">+{{ item.thicknessTolPos }}
  49 + </view>
  50 + <view v-if="item.thicknessTolNeg" class="value-spec_box_2">-{{ item.thicknessTolNeg }}
  51 + </view>
  52 + </view>
  53 + <view v-if="item.width" class="value-spec_val p12">*</view>
  54 + <view v-if="item.width" class="value-spec_val">{{ item.width }}</view>
  55 + <view v-if="item.width" class="value-spec_box">
  56 + <view v-if="item.widthTolPos" class="value-spec_box_1">+{{ item.widthTolPos }}</view>
  57 + <view v-if="item.widthTolNeg" class="value-spec_box_2">-{{ item.widthTolNeg }}</view>
  58 + </view>
  59 + <view v-if="item.length" class="value-spec_val p12">*</view>
  60 + <view v-if="item.length" class="value-spec_val">{{ item.length }}</view>
  61 + <view v-if="item.length" class="value-spec_box">
  62 + <view v-if="item.lengthTolPos" class="value-spec_box_1">+{{ item.lengthTolPos }}</view>
  63 + <view v-if="item.lengthTolNeg" class="value-spec_box_2">-{{ item.lengthTolNeg }}</view>
  64 + </view>
  65 + </view>
45 </template> 66 </template>
46 </uni-list-item> 67 </uni-list-item>
47 <uni-list-item title="状态"> 68 <uni-list-item title="状态">
@@ -699,4 +720,42 @@ export default { @@ -699,4 +720,42 @@ export default {
699 background: $theme-primary; 720 background: $theme-primary;
700 color: #fff; 721 color: #fff;
701 } 722 }
  723 +.value-spec {
  724 + height: 48rpx;
  725 + display: flex;
  726 + align-items: center;
  727 + color: #000000;
  728 + // justify-content: end;
  729 + &_box {
  730 + position: relative;
  731 + width: 60rpx;
  732 + height: 48rpx;
  733 +
  734 + &_1 {
  735 + font-size: 16rpx;
  736 + position: absolute;
  737 + top: -10rpx;
  738 + left: 0;
  739 + }
  740 +
  741 + &_2 {
  742 + font-size: 16rpx;
  743 + position: absolute;
  744 + bottom: -10rpx;
  745 + left: 0;
  746 + }
  747 + }
  748 +
  749 + &_val {
  750 + font-size: 28rpx;
  751 +
  752 + &.p12 {
  753 + padding-right: 12rpx;
  754 + }
  755 + }
  756 + }
  757 + .row-spec {
  758 + height: 60rpx;
  759 + align-items: center;
  760 + }
702 </style> 761 </style>
@@ -108,11 +108,13 @@ export default { @@ -108,11 +108,13 @@ export default {
108 const res = await showContract(this.id) 108 const res = await showContract(this.id)
109 const data = res && res.data ? res.data : {} 109 const data = res && res.data ? res.data : {}
110 this.detail = { 110 this.detail = {
  111 + contractId: data.contractId || '',
111 contractCode: data.contractCode || '', 112 contractCode: data.contractCode || '',
112 customerName: data.customerName || '', 113 customerName: data.customerName || '',
113 deptName: data.deptName || '', 114 deptName: data.deptName || '',
114 workshopName: data.workshopName || '', 115 workshopName: data.workshopName || '',
115 orderType: data.orderType || '', 116 orderType: data.orderType || '',
  117 + contractTypeCode: data.contractType || '',
116 contractType: data.contractType === 'DRAFT_DIST_AGMT' ? '经销订单' : '外贸订单', 118 contractType: data.contractType === 'DRAFT_DIST_AGMT' ? '经销订单' : '外贸订单',
117 orderDate: (data.orderDate || '').slice(0, 10), 119 orderDate: (data.orderDate || '').slice(0, 10),
118 applicationCount: data.applicationCount || '', 120 applicationCount: data.applicationCount || '',
@@ -139,6 +141,7 @@ export default { @@ -139,6 +141,7 @@ export default {
139 if (res.confirm) { 141 if (res.confirm) {
140 specLockDelayApplication({ 142 specLockDelayApplication({
141 ...this.detail, 143 ...this.detail,
  144 + contractType: this.detail.contractTypeCode || '',
142 specLockDate: date, 145 specLockDate: date,
143 delayReason: reason 146 delayReason: reason
144 }).then(res => { 147 }).then(res => {
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 129
@@ -222,9 +222,9 @@ export default { @@ -222,9 +222,9 @@ export default {
222 executionStandardName: '', 222 executionStandardName: '',
223 executionStandardRemarks: '', 223 executionStandardRemarks: '',
224 includesPackagingFee: false, 224 includesPackagingFee: false,
225 - includesPackagingFeeName: '', 225 + includesPackagingFeeName: '',
226 includesTransportFee: false, 226 includesTransportFee: false,
227 - includesTransportFeeName: '', 227 + includesTransportFeeName: '',
228 unit: '美元、公斤、美元/公斤', 228 unit: '美元、公斤、美元/公斤',
229 totalAmountCapital: '', 229 totalAmountCapital: '',
230 depositInfo: '', 230 depositInfo: '',
@@ -317,11 +317,11 @@ export default { @@ -317,11 +317,11 @@ export default {
317 } 317 }
318 318
319 text { 319 text {
320 - width: 60%; 320 + width: 50%;
321 321
322 &:last-child { 322 &:last-child {
323 color: rgba(0, 0, 0, 0.9); 323 color: rgba(0, 0, 0, 0.9);
324 - width: 40%; 324 + width: 50%;
325 } 325 }
326 } 326 }
327 } 327 }
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '元、公斤、元/公斤', 239 unit: '元、公斤、元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text> 61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text>
62 </view> 62 </view>
63 <view class="info-row" v-if="item.status === 'STANDARD'"> 63 <view class="info-row" v-if="item.status === 'STANDARD'">
64 - <text>正式合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span> 64 + <text>标准合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span>
65 </view> 65 </view>
66 <view class="info-row"> 66 <view class="info-row">
67 <text>订货日期</text><text>{{ item.orderDate }}</text> 67 <text>订货日期</text><text>{{ item.orderDate }}</text>
@@ -103,12 +103,6 @@ export default { @@ -103,12 +103,6 @@ export default {
103 return { 103 return {
104 searchKeyword: '', 104 searchKeyword: '',
105 searchKeywordDebounced: '', 105 searchKeywordDebounced: '',
106 -  
107 - tabs: [  
108 - { label: '草稿合同', value: 'DRAFT' },  
109 - { label: '标准合同', value: 'STANDARD' },  
110 - { label: '已删除合同', value: 'DELETED' }  
111 - ],  
112 status: 'DRAFT', 106 status: 'DRAFT',
113 107
114 query: { deptId: '', deptName: '', dateRange: [] }, 108 query: { deptId: '', deptName: '', dateRange: [] },
@@ -126,6 +120,23 @@ export default { @@ -126,6 +120,23 @@ export default {
126 } 120 }
127 }, 121 },
128 computed: { 122 computed: {
  123 + roleCodes() {
  124 + const g = this.$store && this.$store.getters
  125 + return (g && g.roleCodes) || []
  126 + },
  127 + tabs() {
  128 + if (this.roleCodes.includes('constract_admin')) {
  129 + return [
  130 + { label: '草稿合同', value: 'DRAFT' },
  131 + { label: '标准合同', value: 'STANDARD' },
  132 + { label: '已删除合同', value: 'DELETED' }
  133 + ]
  134 + }
  135 + return [
  136 + { label: '草稿合同', value: 'DRAFT' },
  137 + { label: '标准合同', value: 'STANDARD' }
  138 + ]
  139 + },
129 extraCombined() { 140 extraCombined() {
130 return { 141 return {
131 keyword: this.searchKeywordDebounced || undefined, 142 keyword: this.searchKeywordDebounced || undefined,
@@ -359,10 +370,10 @@ export default { @@ -359,10 +370,10 @@ export default {
359 margin-bottom: 0; 370 margin-bottom: 0;
360 } 371 }
361 text { 372 text {
362 - width: 60%; 373 + width: 50%;
363 &:last-child { 374 &:last-child {
364 color: rgba(0,0,0,0.9); 375 color: rgba(0,0,0,0.9);
365 - width: 40%; 376 + width: 50%;
366 } 377 }
367 } 378 }
368 } 379 }
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 </uni-list-item> 124 </uni-list-item>
125 <uni-list-item title="备注"> 125 <uni-list-item title="备注">
126 <template v-slot:footer> 126 <template v-slot:footer>
127 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 127 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
128 </template> 128 </template>
129 </uni-list-item> 129 </uni-list-item>
130 130
@@ -223,9 +223,9 @@ export default { @@ -223,9 +223,9 @@ export default {
223 executionStandardName: '', 223 executionStandardName: '',
224 executionStandardRemarks: '', 224 executionStandardRemarks: '',
225 includesPackagingFee: false, 225 includesPackagingFee: false,
226 - includesPackagingFeeName: '', 226 + includesPackagingFeeName: '',
227 includesTransportFee: false, 227 includesTransportFee: false,
228 - includesTransportFeeName: '', 228 + includesTransportFeeName: '',
229 unit: '元、公斤、元/公斤', 229 unit: '元、公斤、元/公斤',
230 totalAmountCapital: '', 230 totalAmountCapital: '',
231 depositInfo: '', 231 depositInfo: '',
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '元、公斤、元/公斤', 239 unit: '元、公斤、元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text> 61 <text>订单总额</text><text class="amount" :style="{ color: '#b67a76' }">{{ item.totalAmountIncludingTax ? '¥' : '' }}{{ formatAmount(item.totalAmountIncludingTax) || '-' }}</text>
62 </view> 62 </view>
63 <view class="info-row" v-if="item.status === 'STANDARD'"> 63 <view class="info-row" v-if="item.status === 'STANDARD'">
64 - <text>正式合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span> 64 + <text>标准合同规范性审核状态</text><span class="info-status" :style="item.standardApprovedName ? getStatusCss(item.standardApprovedName) : ''">{{ item.standardApprovedName || '-' }}</span>
65 </view> 65 </view>
66 <view class="info-row"> 66 <view class="info-row">
67 <text>订货日期</text><text>{{ item.orderDate }}</text> 67 <text>订货日期</text><text>{{ item.orderDate }}</text>
@@ -103,21 +103,12 @@ export default { @@ -103,21 +103,12 @@ export default {
103 return { 103 return {
104 searchKeyword: '', 104 searchKeyword: '',
105 searchKeywordDebounced: '', 105 searchKeywordDebounced: '',
106 -  
107 - tabs: [  
108 - { label: '草稿合同', value: 'DRAFT' },  
109 - { label: '标准合同', value: 'STANDARD' },  
110 - { label: '已删除合同', value: 'DELETED' }  
111 - ],  
112 status: 'DRAFT', 106 status: 'DRAFT',
113 -  
114 query: { deptId: '', deptName: '', dateRange: [] }, 107 query: { deptId: '', deptName: '', dateRange: [] },
115 extraParams: {}, 108 extraParams: {},
116 -  
117 batchMode: false, 109 batchMode: false,
118 selectedKeys: [], 110 selectedKeys: [],
119 currentItems: [], 111 currentItems: [],
120 -  
121 filterVisible: false, 112 filterVisible: false,
122 filterForm: { deptId: '', deptName: '', dateRange: [] }, 113 filterForm: { deptId: '', deptName: '', dateRange: [] },
123 deptSelectVisible: false, 114 deptSelectVisible: false,
@@ -126,6 +117,23 @@ export default { @@ -126,6 +117,23 @@ export default {
126 } 117 }
127 }, 118 },
128 computed: { 119 computed: {
  120 + roleCodes() {
  121 + const g = this.$store && this.$store.getters
  122 + return (g && g.roleCodes) || []
  123 + },
  124 + tabs() {
  125 + if (this.roleCodes.includes('constract_admin')) {
  126 + return [
  127 + { label: '草稿合同', value: 'DRAFT' },
  128 + { label: '标准合同', value: 'STANDARD' },
  129 + { label: '已删除合同', value: 'DELETED' }
  130 + ]
  131 + }
  132 + return [
  133 + { label: '草稿合同', value: 'DRAFT' },
  134 + { label: '标准合同', value: 'STANDARD' }
  135 + ]
  136 + },
129 extraCombined() { 137 extraCombined() {
130 return { 138 return {
131 keyword: this.searchKeywordDebounced || undefined, 139 keyword: this.searchKeywordDebounced || undefined,
@@ -359,10 +367,10 @@ export default { @@ -359,10 +367,10 @@ export default {
359 margin-bottom: 0; 367 margin-bottom: 0;
360 } 368 }
361 text { 369 text {
362 - width: 60%; 370 + width: 50%;
363 &:last-child { 371 &:last-child {
364 color: rgba(0,0,0,0.9); 372 color: rgba(0,0,0,0.9);
365 - width: 40%; 373 + width: 50%;
366 } 374 }
367 } 375 }
368 } 376 }
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 </uni-list-item> 124 </uni-list-item>
125 <uni-list-item title="备注"> 125 <uni-list-item title="备注">
126 <template v-slot:footer> 126 <template v-slot:footer>
127 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 127 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
128 </template> 128 </template>
129 </uni-list-item> 129 </uni-list-item>
130 130
@@ -223,9 +223,9 @@ export default { @@ -223,9 +223,9 @@ export default {
223 executionStandardName: '', 223 executionStandardName: '',
224 executionStandardRemarks: '', 224 executionStandardRemarks: '',
225 includesPackagingFee: false, 225 includesPackagingFee: false,
226 - includesPackagingFeeName: '', 226 + includesPackagingFeeName: '',
227 includesTransportFee: false, 227 includesTransportFee: false,
228 - includesTransportFeeName: '', 228 + includesTransportFeeName: '',
229 unit: '元、公斤、元/公斤', 229 unit: '元、公斤、元/公斤',
230 totalAmountCapital: '', 230 totalAmountCapital: '',
231 depositInfo: '', 231 depositInfo: '',
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '元、公斤、元/公斤', 239 unit: '元、公斤、元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -4,8 +4,15 @@ @@ -4,8 +4,15 @@
4 <view class="detail-page"> 4 <view class="detail-page">
5 <view class="section"> 5 <view class="section">
6 <text class="row customer">{{ detail.code }}</text> 6 <text class="row customer">{{ detail.code }}</text>
7 - <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'"><text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text><text class="value"><span class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span></text></view>  
8 - <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view> 7 + <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'">
  8 + <text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text>
  9 + <text class="value">
  10 +
  11 + <span v-if="detail.status === 'STANDARD'" class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span>
  12 + <span v-if="detail.status === 'FORMAL'" class="info-status" :style="detail.formalApprovedName ? getStatusCss(detail.formalApprovedName) : ''" >{{ detail.formalApprovedName || '-' }}</span>
  13 +
  14 + </text>
  15 + </view> <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) : { color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view>
9 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-' 16 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-'
10 }}</text></view> 17 }}</text></view>
11 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-' 18 <view class="row"><text class="label">需方</text><text class="value">{{ detail.buyerName || '-'
@@ -110,7 +117,7 @@ @@ -110,7 +117,7 @@
110 117
111 <script> 118 <script>
112 import { getContractApi, deleteContractApi, uploadFormalContract, uploadStandardContract, statusStyle, statusMap } from '@/api/contract' 119 import { getContractApi, deleteContractApi, uploadFormalContract, uploadStandardContract, statusStyle, statusMap } from '@/api/contract'
113 -import { fillStandardApprovedName } from '@/utils/dic.js' 120 +import { fillStandardApprovedName, fillFormalApprovedName } from '@/utils/dic.js'
114 import ProductRel from './productRel.vue' 121 import ProductRel from './productRel.vue'
115 import DetailButtons from '@/components/detail-buttons/index.vue' 122 import DetailButtons from '@/components/detail-buttons/index.vue'
116 import FileUpload from '@/components/file-upload/index.vue' 123 import FileUpload from '@/components/file-upload/index.vue'
@@ -263,7 +270,7 @@ export default { @@ -263,7 +270,7 @@ export default {
263 { ...this.buttons[5], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-upload')) }, 270 { ...this.buttons[5], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-upload')) },
264 { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) }, 271 { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
265 { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) }, 272 { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
266 - { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:restandard-approveview')) }, 273 + { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-approve')) },
267 { ...this.buttons[9], visible: (s === 'FORMAL' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) }, 274 { ...this.buttons[9], visible: (s === 'FORMAL' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) },
268 { ...this.buttons[10], visible: (s === 'STANDARD' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) }, 275 { ...this.buttons[10], visible: (s === 'STANDARD' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) },
269 { ...this.buttons[11], visible: (s === 'STANDARD' && a && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-review')) }, 276 { ...this.buttons[11], visible: (s === 'STANDARD' && a && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-review')) },
@@ -436,6 +443,7 @@ export default { @@ -436,6 +443,7 @@ export default {
436 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', 443 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '',
437 } 444 }
438 this.detail = await fillStandardApprovedName(this.detail) 445 this.detail = await fillStandardApprovedName(this.detail)
  446 + this.detail = await fillFormalApprovedName(this.detail)
439 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] 447 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : []
440 this.productList = lines 448 this.productList = lines
441 } catch (e) { 449 } catch (e) {
@@ -105,13 +105,6 @@ export default { @@ -105,13 +105,6 @@ export default {
105 return { 105 return {
106 searchKeyword: '', 106 searchKeyword: '',
107 searchKeywordDebounced: '', 107 searchKeywordDebounced: '',
108 -  
109 - tabs: [  
110 - { label: '草稿合同', value: 'DRAFT' },  
111 - { label: '正式合同', value: 'FORMAL' },  
112 - { label: '标准合同', value: 'STANDARD' },  
113 - { label: '已删除合同', value: 'DELETED' }  
114 - ],  
115 status: 'DRAFT', 108 status: 'DRAFT',
116 109
117 query: { deptId: '', deptName: '', dateRange: [] }, 110 query: { deptId: '', deptName: '', dateRange: [] },
@@ -129,6 +122,25 @@ export default { @@ -129,6 +122,25 @@ export default {
129 } 122 }
130 }, 123 },
131 computed: { 124 computed: {
  125 + roleCodes() {
  126 + const g = this.$store && this.$store.getters
  127 + return (g && g.roleCodes) || []
  128 + },
  129 + tabs() {
  130 + if (this.roleCodes.includes('constract_admin')) {
  131 + return [
  132 + { label: '草稿合同', value: 'DRAFT' },
  133 + { label: '正式合同', value: 'FORMAL' },
  134 + { label: '标准合同', value: 'STANDARD' },
  135 + { label: '已删除合同', value: 'DELETED' }
  136 + ]
  137 + }
  138 + return [
  139 + { label: '草稿合同', value: 'DRAFT' },
  140 + { label: '正式合同', value: 'FORMAL' },
  141 + { label: '标准合同', value: 'STANDARD' }
  142 + ]
  143 + },
132 extraCombined() { 144 extraCombined() {
133 return { 145 return {
134 keyword: this.searchKeywordDebounced || undefined, 146 keyword: this.searchKeywordDebounced || undefined,
@@ -361,10 +373,10 @@ export default { @@ -361,10 +373,10 @@ export default {
361 margin-bottom: 0; 373 margin-bottom: 0;
362 } 374 }
363 text { 375 text {
364 - width: 60%; 376 + width: 50%;
365 &:last-child { 377 &:last-child {
366 color: rgba(0,0,0,0.9); 378 color: rgba(0,0,0,0.9);
367 - width: 40%; 379 + width: 50%;
368 } 380 }
369 } 381 }
370 } 382 }
@@ -40,9 +40,30 @@ @@ -40,9 +40,30 @@
40 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled /> 40 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled />
41 </template> 41 </template>
42 </uni-list-item> 42 </uni-list-item>
43 - <uni-list-item title="规格"> 43 + <uni-list-item title="规格(mm)">
44 <template v-slot:footer> 44 <template v-slot:footer>
45 - <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> 45 + <!-- <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> -->
  46 + <view class="value value-spec">
  47 + <view v-if="item.thickness" class="value-spec_val">{{ item.thickness }}</view>
  48 + <view v-if="item.thickness" class="value-spec_box">
  49 + <view v-if="item.thicknessTolPos" class="value-spec_box_1">+{{ item.thicknessTolPos }}
  50 + </view>
  51 + <view v-if="item.thicknessTolNeg" class="value-spec_box_2">-{{ item.thicknessTolNeg }}
  52 + </view>
  53 + </view>
  54 + <view v-if="item.width" class="value-spec_val p12">*</view>
  55 + <view v-if="item.width" class="value-spec_val">{{ item.width }}</view>
  56 + <view v-if="item.width" class="value-spec_box">
  57 + <view v-if="item.widthTolPos" class="value-spec_box_1">+{{ item.widthTolPos }}</view>
  58 + <view v-if="item.widthTolNeg" class="value-spec_box_2">-{{ item.widthTolNeg }}</view>
  59 + </view>
  60 + <view v-if="item.length" class="value-spec_val p12">*</view>
  61 + <view v-if="item.length" class="value-spec_val">{{ item.length }}</view>
  62 + <view v-if="item.length" class="value-spec_box">
  63 + <view v-if="item.lengthTolPos" class="value-spec_box_1">+{{ item.lengthTolPos }}</view>
  64 + <view v-if="item.lengthTolNeg" class="value-spec_box_2">-{{ item.lengthTolNeg }}</view>
  65 + </view>
  66 + </view>
46 </template> 67 </template>
47 </uni-list-item> 68 </uni-list-item>
48 <uni-list-item title="状态"> 69 <uni-list-item title="状态">
@@ -699,4 +720,42 @@ export default { @@ -699,4 +720,42 @@ export default {
699 background: $theme-primary; 720 background: $theme-primary;
700 color: #fff; 721 color: #fff;
701 } 722 }
  723 +.value-spec {
  724 + height: 48rpx;
  725 + display: flex;
  726 + align-items: center;
  727 + color: #000000;
  728 + // justify-content: end;
  729 + &_box {
  730 + position: relative;
  731 + width: 60rpx;
  732 + height: 48rpx;
  733 +
  734 + &_1 {
  735 + font-size: 16rpx;
  736 + position: absolute;
  737 + top: -10rpx;
  738 + left: 0;
  739 + }
  740 +
  741 + &_2 {
  742 + font-size: 16rpx;
  743 + position: absolute;
  744 + bottom: -10rpx;
  745 + left: 0;
  746 + }
  747 + }
  748 +
  749 + &_val {
  750 + font-size: 28rpx;
  751 +
  752 + &.p12 {
  753 + padding-right: 12rpx;
  754 + }
  755 + }
  756 + }
  757 + .row-spec {
  758 + height: 60rpx;
  759 + align-items: center;
  760 + }
702 </style> 761 </style>
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 </uni-list-item> 124 </uni-list-item>
125 <uni-list-item title="备注"> 125 <uni-list-item title="备注">
126 <template v-slot:footer> 126 <template v-slot:footer>
127 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 127 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
128 </template> 128 </template>
129 </uni-list-item> 129 </uni-list-item>
130 130
@@ -223,9 +223,9 @@ export default { @@ -223,9 +223,9 @@ export default {
223 executionStandardName: '', 223 executionStandardName: '',
224 executionStandardRemarks: '', 224 executionStandardRemarks: '',
225 includesPackagingFee: false, 225 includesPackagingFee: false,
226 - includesPackagingFeeName: '', 226 + includesPackagingFeeName: '',
227 includesTransportFee: false, 227 includesTransportFee: false,
228 - includesTransportFeeName: '', 228 + includesTransportFeeName: '',
229 unit: '元、公斤、元/公斤', 229 unit: '元、公斤、元/公斤',
230 totalAmountCapital: '', 230 totalAmountCapital: '',
231 depositInfo: '', 231 depositInfo: '',
@@ -339,11 +339,11 @@ export default { @@ -339,11 +339,11 @@ export default {
339 } 339 }
340 340
341 text { 341 text {
342 - width: 60%; 342 + width: 50%;
343 343
344 &:last-child { 344 &:last-child {
345 color: rgba(0, 0, 0, 0.9); 345 color: rgba(0, 0, 0, 0.9);
346 - width: 40%; 346 + width: 50%;
347 } 347 }
348 } 348 }
349 } 349 }
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </uni-list-item> 123 </uni-list-item>
124 <uni-list-item title="备注"> 124 <uni-list-item title="备注">
125 <template v-slot:footer> 125 <template v-slot:footer>
126 - <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 126 + <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
127 </template> 127 </template>
128 </uni-list-item> 128 </uni-list-item>
129 <view class="quality"> 129 <view class="quality">
@@ -233,9 +233,9 @@ export default { @@ -233,9 +233,9 @@ export default {
233 executionStandardName: '', 233 executionStandardName: '',
234 executionStandardRemarks: '', 234 executionStandardRemarks: '',
235 includesPackagingFee: false, 235 includesPackagingFee: false,
236 - includesPackagingFeeName: '', 236 + includesPackagingFeeName: '',
237 includesTransportFee: false, 237 includesTransportFee: false,
238 - includesTransportFeeName: '', 238 + includesTransportFeeName: '',
239 unit: '元、公斤、元/公斤', 239 unit: '元、公斤、元/公斤',
240 totalAmountCapital: '', 240 totalAmountCapital: '',
241 destinationId: [], 241 destinationId: [],
@@ -4,7 +4,15 @@ @@ -4,7 +4,15 @@
4 <view class="detail-page"> 4 <view class="detail-page">
5 <view class="section"> 5 <view class="section">
6 <text class="row customer">{{ detail.code }}</text> 6 <text class="row customer">{{ detail.code }}</text>
7 - <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'"><text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text><text class="value"><span class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span></text></view> 7 + <view class="row" v-if="detail.status === 'STANDARD' || detail.status === 'FORMAL'">
  8 + <text class="label">{{ detail.status === 'STANDARD' ? '标准合同' : '正式合同' }}规范性审核状态</text>
  9 + <text class="value">
  10 +
  11 + <span v-if="detail.status === 'STANDARD'" class="info-status" :style="detail.standardApprovedName ? getStatusCss(detail.standardApprovedName) : ''" >{{ detail.standardApprovedName || '-' }}</span>
  12 + <span v-if="detail.status === 'FORMAL'" class="info-status" :style="detail.formalApprovedName ? getStatusCss(detail.formalApprovedName) : ''" >{{ detail.formalApprovedName || '-' }}</span>
  13 +
  14 + </text>
  15 + </view>
8 <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) :{ color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view> 16 <view class="row" v-if="detail.status === 'STANDARD'"><text class="label">合同状态</text><text class="value"><span class="info-status" :style="detail.shippingStatusName ? getShippingStatusName(detail.shippingStatusName) :{ color: '#000'}" >{{ detail.shippingStatusName || '-' }}</span></text></view>
9 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-' 17 <view class="row"><text class="label">供方</text><text class="value">{{ detail.supplierName || '-'
10 }}</text></view> 18 }}</text></view>
@@ -115,12 +123,12 @@ @@ -115,12 +123,12 @@
115 </template> 123 </template>
116 124
117 <script> 125 <script>
118 -import { getContractApi, deleteContractApi, uploadFormalContract, statusStyle, uploadStandardContract, statusMap } from '@/api/contract' 126 +import { getContractApi, deleteContractApi, uploadFormalContract, statusStyle, uploadStandardContract, statusMap, showContract } from '@/api/contract'
119 import ProductRel from './productRel.vue' 127 import ProductRel from './productRel.vue'
120 import DetailButtons from '@/components/detail-buttons/index.vue' 128 import DetailButtons from '@/components/detail-buttons/index.vue'
121 import FileUpload from '@/components/file-upload/index.vue' 129 import FileUpload from '@/components/file-upload/index.vue'
122 import SingleSelectSheet from '@/components/single-select/index.vue' 130 import SingleSelectSheet from '@/components/single-select/index.vue'
123 -import { fillStandardApprovedName } from '@/utils/dic.js' 131 +import { fillStandardApprovedName, fillFormalApprovedName } from '@/utils/dic.js'
124 132
125 export default { 133 export default {
126 name: 'ContractUnplanDetail', 134 name: 'ContractUnplanDetail',
@@ -340,8 +348,10 @@ export default { @@ -340,8 +348,10 @@ export default {
340 }) 348 })
341 }, 349 },
342 onLockApply() { 350 onLockApply() {
343 - uni.navigateTo({  
344 - url: '/pages/contract_unplan/lock_apply?id=' + this.detail.id || '' 351 + showContract(this.detail.id).then(res => {
  352 + uni.navigateTo({
  353 + url: '/pages/contract_unplan/lock_apply?id=' + this.detail.id || ''
  354 + })
345 }) 355 })
346 }, 356 },
347 uploadContract(id, type = 'formal') { 357 uploadContract(id, type = 'formal') {
@@ -465,6 +475,7 @@ export default { @@ -465,6 +475,7 @@ export default {
465 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '', 475 destinationLabel: data.provinceName && data.cityName && data.districtName ? `${data.provinceName} / ${data.cityName} / ${data.districtName}` : '',
466 } 476 }
467 this.detail = await fillStandardApprovedName(this.detail) 477 this.detail = await fillStandardApprovedName(this.detail)
  478 + this.detail = await fillFormalApprovedName(this.detail)
468 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : [] 479 const lines = Array.isArray(data.contractDistributorLineList) ? data.contractDistributorLineList : []
469 this.productList = lines 480 this.productList = lines
470 } catch (e) { 481 } catch (e) {
@@ -105,18 +105,9 @@ export default { @@ -105,18 +105,9 @@ export default {
105 return { 105 return {
106 searchKeyword: '', 106 searchKeyword: '',
107 searchKeywordDebounced: '', 107 searchKeywordDebounced: '',
108 -  
109 - tabs: [  
110 - { label: '草稿合同', value: 'DRAFT' },  
111 - { label: '正式合同', value: 'FORMAL' },  
112 - { label: '标准合同', value: 'STANDARD' },  
113 - { label: '已删除合同', value: 'DELETED' }  
114 - ],  
115 status: 'DRAFT', 108 status: 'DRAFT',
116 -  
117 query: { deptId: '', deptName: '', dateRange: [] }, 109 query: { deptId: '', deptName: '', dateRange: [] },
118 extraParams: {}, 110 extraParams: {},
119 -  
120 batchMode: false, 111 batchMode: false,
121 selectedKeys: [], 112 selectedKeys: [],
122 currentItems: [], 113 currentItems: [],
@@ -129,6 +120,25 @@ export default { @@ -129,6 +120,25 @@ export default {
129 } 120 }
130 }, 121 },
131 computed: { 122 computed: {
  123 + roleCodes() {
  124 + const g = this.$store && this.$store.getters
  125 + return (g && g.roleCodes) || []
  126 + },
  127 + tabs() {
  128 + if (this.roleCodes.includes('constract_admin')) {
  129 + return [
  130 + { label: '草稿合同', value: 'DRAFT' },
  131 + { label: '正式合同', value: 'FORMAL' },
  132 + { label: '标准合同', value: 'STANDARD' },
  133 + { label: '已删除合同', value: 'DELETED' }
  134 + ]
  135 + }
  136 + return [
  137 + { label: '草稿合同', value: 'DRAFT' },
  138 + { label: '正式合同', value: 'FORMAL' },
  139 + { label: '标准合同', value: 'STANDARD' }
  140 + ]
  141 + },
132 extraCombined() { 142 extraCombined() {
133 return { 143 return {
134 keyword: this.searchKeywordDebounced || undefined, 144 keyword: this.searchKeywordDebounced || undefined,
@@ -363,10 +373,10 @@ export default { @@ -363,10 +373,10 @@ export default {
363 margin-bottom: 0; 373 margin-bottom: 0;
364 } 374 }
365 text { 375 text {
366 - width: 60%; 376 + width: 50%;
367 &:last-child { 377 &:last-child {
368 color: rgba(0,0,0,0.9); 378 color: rgba(0,0,0,0.9);
369 - width: 40%; 379 + width: 50%;
370 } 380 }
371 } 381 }
372 } 382 }
@@ -39,9 +39,30 @@ @@ -39,9 +39,30 @@
39 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled /> 39 <uni-easyinput v-model="item.quality" placeholder="请输入品质" :clearable="false" disabled />
40 </template> 40 </template>
41 </uni-list-item> 41 </uni-list-item>
42 - <uni-list-item title="规格"> 42 + <uni-list-item title="规格(mm)">
43 <template v-slot:footer> 43 <template v-slot:footer>
44 - <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> 44 + <!-- <uni-easyinput v-model="item.specDisplay" placeholder="自动拼接规格" :clearable="false" disabled /> -->
  45 + <view class="value value-spec">
  46 + <view v-if="item.thickness" class="value-spec_val">{{ item.thickness }}</view>
  47 + <view v-if="item.thickness" class="value-spec_box">
  48 + <view v-if="item.thicknessTolPos" class="value-spec_box_1">+{{ item.thicknessTolPos }}
  49 + </view>
  50 + <view v-if="item.thicknessTolNeg" class="value-spec_box_2">-{{ item.thicknessTolNeg }}
  51 + </view>
  52 + </view>
  53 + <view v-if="item.width" class="value-spec_val p12">*</view>
  54 + <view v-if="item.width" class="value-spec_val">{{ item.width }}</view>
  55 + <view v-if="item.width" class="value-spec_box">
  56 + <view v-if="item.widthTolPos" class="value-spec_box_1">+{{ item.widthTolPos }}</view>
  57 + <view v-if="item.widthTolNeg" class="value-spec_box_2">-{{ item.widthTolNeg }}</view>
  58 + </view>
  59 + <view v-if="item.length" class="value-spec_val p12">*</view>
  60 + <view v-if="item.length" class="value-spec_val">{{ item.length }}</view>
  61 + <view v-if="item.length" class="value-spec_box">
  62 + <view v-if="item.lengthTolPos" class="value-spec_box_1">+{{ item.lengthTolPos }}</view>
  63 + <view v-if="item.lengthTolNeg" class="value-spec_box_2">-{{ item.lengthTolNeg }}</view>
  64 + </view>
  65 + </view>
45 </template> 66 </template>
46 </uni-list-item> 67 </uni-list-item>
47 <uni-list-item title="状态"> 68 <uni-list-item title="状态">
@@ -699,4 +720,42 @@ export default { @@ -699,4 +720,42 @@ export default {
699 background: $theme-primary; 720 background: $theme-primary;
700 color: #fff; 721 color: #fff;
701 } 722 }
  723 +.value-spec {
  724 + height: 48rpx;
  725 + display: flex;
  726 + align-items: center;
  727 + color: #000000;
  728 + // justify-content: end;
  729 + &_box {
  730 + position: relative;
  731 + width: 60rpx;
  732 + height: 48rpx;
  733 +
  734 + &_1 {
  735 + font-size: 16rpx;
  736 + position: absolute;
  737 + top: -10rpx;
  738 + left: 0;
  739 + }
  740 +
  741 + &_2 {
  742 + font-size: 16rpx;
  743 + position: absolute;
  744 + bottom: -10rpx;
  745 + left: 0;
  746 + }
  747 + }
  748 +
  749 + &_val {
  750 + font-size: 28rpx;
  751 +
  752 + &.p12 {
  753 + padding-right: 12rpx;
  754 + }
  755 + }
  756 + }
  757 + .row-spec {
  758 + height: 60rpx;
  759 + align-items: center;
  760 + }
702 </style> 761 </style>
@@ -108,11 +108,13 @@ export default { @@ -108,11 +108,13 @@ export default {
108 const res = await showContract(this.id) 108 const res = await showContract(this.id)
109 const data = res && res.data ? res.data : {} 109 const data = res && res.data ? res.data : {}
110 this.detail = { 110 this.detail = {
  111 + contractId: data.contractId || '',
111 contractCode: data.contractCode || '', 112 contractCode: data.contractCode || '',
112 customerName: data.customerName || '', 113 customerName: data.customerName || '',
113 deptName: data.deptName || '', 114 deptName: data.deptName || '',
114 workshopName: data.workshopName || '', 115 workshopName: data.workshopName || '',
115 orderType: data.orderType || '', 116 orderType: data.orderType || '',
  117 + contractTypeCode: data.contractType || '',
116 contractType: data.contractType === 'DRAFT_DIST_AGMT' ? '经销订单' : '外贸订单', 118 contractType: data.contractType === 'DRAFT_DIST_AGMT' ? '经销订单' : '外贸订单',
117 orderDate: (data.orderDate || '').slice(0, 10), 119 orderDate: (data.orderDate || '').slice(0, 10),
118 applicationCount: data.applicationCount || '', 120 applicationCount: data.applicationCount || '',
@@ -139,6 +141,7 @@ export default { @@ -139,6 +141,7 @@ export default {
139 if (res.confirm) { 141 if (res.confirm) {
140 specLockDelayApplication({ 142 specLockDelayApplication({
141 ...this.detail, 143 ...this.detail,
  144 + contractType: this.detail.contractTypeCode || '',
142 specLockDate: date, 145 specLockDate: date,
143 delayReason: reason 146 delayReason: reason
144 }).then(res => { 147 }).then(res => {
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 </uni-list-item> 124 </uni-list-item>
125 <uni-list-item title="备注"> 125 <uni-list-item title="备注">
126 <template v-slot:footer> 126 <template v-slot:footer>
127 - <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" /> 127 + <uni-easyinput v-model="form.remarks" placeholder="请输入备注" :inputBorder="false" maxlength="2000" />
128 </template> 128 </template>
129 </uni-list-item> 129 </uni-list-item>
130 130
@@ -223,9 +223,9 @@ export default { @@ -223,9 +223,9 @@ export default {
223 executionStandardName: '', 223 executionStandardName: '',
224 executionStandardRemarks: '', 224 executionStandardRemarks: '',
225 includesPackagingFee: false, 225 includesPackagingFee: false,
226 - includesPackagingFeeName: '', 226 + includesPackagingFeeName: '',
227 includesTransportFee: false, 227 includesTransportFee: false,
228 - includesTransportFeeName: '', 228 + includesTransportFeeName: '',
229 unit: '元、公斤、元/公斤', 229 unit: '元、公斤、元/公斤',
230 totalAmountCapital: '', 230 totalAmountCapital: '',
231 depositInfo: '', 231 depositInfo: '',
@@ -53,3 +53,9 @@ export async function fillStandardApprovedName(detail = {}) { @@ -53,3 +53,9 @@ export async function fillStandardApprovedName(detail = {}) {
53 const name = getAuditStatusName(detail && detail.standardApproved, items); 53 const name = getAuditStatusName(detail && detail.standardApproved, items);
54 return { ...detail, standardApprovedName: name }; 54 return { ...detail, standardApprovedName: name };
55 } 55 }
  56 +
  57 +export async function fillFormalApprovedName(detail = {}) {
  58 + const items = await getAuditStatusOptions();
  59 + const name = getAuditStatusName(detail && detail.formalApproved, items);
  60 + return { ...detail, formalApprovedName: name };
  61 +}