Commit 9e15aba8ad5b01af3fa5996163a18c1f1d612c9c

Authored by 史婷婷
2 parents 6b31c90b 5835cf65

Merge remote-tracking branch 'origin/cjerp-1.0_20260116' into cjerp-1.0_20260122-sydd

... ... @@ -232,8 +232,8 @@ export default {
232 232 { ...this.buttons[1], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:delete')) },
233 233 { ...this.buttons[2], visible: (s !== 'DELETED' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload')) },
234 234 { ...this.buttons[3], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:upload-seal')) },
  235 + { ...this.buttons[5], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:review')) },
235 236 { ...this.buttons[4], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:approve')) },
236   - { ...this.buttons[5], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-standard-contract:review')) }
237 237 ]
238 238 }
239 239 },
... ...
... ... @@ -297,13 +297,13 @@ export default {
297 297 { ...this.buttons[3], visible: ((s === 'DRAFT' || s === 'FORMAL') && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:upload')) },
298 298 { ...this.buttons[4], visible: (s === 'STANDARD' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:upload')) },
299 299 { ...this.buttons[5], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:standard-upload')) },
300   - { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:approve')) },
301   - { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:approve')) },
302   - { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:standard-approve')) },
303 300 { ...this.buttons[9], visible: (s === 'FORMAL' && t && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:review')) },
304 301 { ...this.buttons[10], visible: (s === 'STANDARD' && t && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:review')) },
305 302 { ...this.buttons[11], visible: (s === 'STANDARD' && a && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:standard-review')) },
306 303 { ...this.buttons[12], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:upload-seal')) },
  304 + { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:approve')) },
  305 + { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:approve')) },
  306 + { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-inventory-contract:standard-approve')) },
307 307 ]
308 308 }
309 309 },
... ...
... ... @@ -304,13 +304,13 @@ export default {
304 304 { ...this.buttons[4], visible: ((s === 'DRAFT' || s === 'FORMAL') && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:upload')) }, //上传正式合同附件
305 305 { ...this.buttons[5], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:upload')) }, //上传正式合同附件
306 306 { ...this.buttons[6], visible: (s === 'STANDARD' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:standard-upload')) }, //上传标准合同附件
307   - { ...this.buttons[7], visible: (s === 'FORMAL' && e && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:approve')) }, //审核正式合同
308   - { ...this.buttons[8], visible: (s === 'STANDARD' && e && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:approve')) }, //审核正式合同
309   - { ...this.buttons[9], visible: (s === 'STANDARD' && f && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:standard-approve')) }, //审核标准合同
310 307 { ...this.buttons[10], visible: (s === 'FORMAL' && a && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:review')) }, //正式合同审核详情
311 308 { ...this.buttons[11], visible: (s === 'STANDARD' && a && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:review')) }, //正式合同审核详情
312 309 { ...this.buttons[12], visible: (s === 'STANDARD' && t && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:standard-review')) }, //标准合同审核详情
313 310 { ...this.buttons[13], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:upload-seal')) }, //上传双方盖章合同附件
  311 + { ...this.buttons[7], visible: (s === 'FORMAL' && e && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:approve')) }, //审核正式合同
  312 + { ...this.buttons[8], visible: (s === 'STANDARD' && e && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:approve')) }, //审核正式合同
  313 + { ...this.buttons[9], visible: (s === 'STANDARD' && f && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:foreign-trade-unlocked-contract:standard-approve')) }, //审核标准合同
314 314 ]
315 315 }
316 316 },
... ...
... ... @@ -222,8 +222,8 @@ export default {
222 222 { ...this.buttons[0], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:processed-standard-contract:modify')) },
223 223 { ...this.buttons[1], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:processed-standard-contract:delete')) },
224 224 { ...this.buttons[2], visible: (s !== 'DELETED' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:processed-standard-contract:upload')) },
  225 + { ...this.buttons[4], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:processed-standard-contract:review')) },
225 226 { ...this.buttons[3], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:processed-standard-contract:approve')) },
226   - { ...this.buttons[4], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:processed-standard-contract:review')) }
227 227 ]
228 228 }
229 229 },
... ...
... ... @@ -224,8 +224,8 @@ export default {
224 224 { ...this.buttons[0], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:modify')) },
225 225 { ...this.buttons[1], visible: (s === 'DRAFT' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:delete')) },
226 226 { ...this.buttons[2], visible: (s !== 'DELETED' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:upload')) },
  227 + { ...this.buttons[4], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:review')) },
227 228 { ...this.buttons[3], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:approve')) },
228   - { ...this.buttons[4], visible: (s === 'STANDARD' && this.$auth.hasPermi('contract-manage:distribution-standard-contract:review')) }
229 229 ]
230 230 }
231 231 },
... ...
... ... @@ -286,12 +286,12 @@ export default {
286 286 { ...this.buttons[3], visible: ((s === 'DRAFT' || s === 'FORMAL') && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:upload')) },
287 287 { ...this.buttons[4], visible: (s === 'STANDARD' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:upload')) },
288 288 { ...this.buttons[5], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-upload')) },
289   - { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
290   - { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
291   - { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-approve')) },
292 289 { ...this.buttons[9], visible: (s === 'FORMAL' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) },
293 290 { ...this.buttons[10], visible: (s === 'STANDARD' && t && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:review')) },
294 291 { ...this.buttons[11], visible: (s === 'STANDARD' && a && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-review')) },
  292 + { ...this.buttons[6], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
  293 + { ...this.buttons[7], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:approve')) },
  294 + { ...this.buttons[8], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-inventory-contract:standard-approve')) },
295 295 ]
296 296 }
297 297 },
... ...
... ... @@ -290,12 +290,12 @@ export default {
290 290 { ...this.buttons[4], visible: ((s === 'DRAFT' || s === 'FORMAL') && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:upload')) },
291 291 { ...this.buttons[5], visible: (s === 'STANDARD' && t !== 'AUDIT' && t !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:upload')) },
292 292 { ...this.buttons[6], visible: (s === 'STANDARD' && a !== 'AUDIT' && a !== 'PASS' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:standard-upload')) },
293   - { ...this.buttons[7], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:approve')) },
294   - { ...this.buttons[8], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:approve')) },
295   - { ...this.buttons[9], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:standard-approve')) },
296 293 { ...this.buttons[10], visible: (s === 'FORMAL' && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:review')) },
297 294 { ...this.buttons[11], visible: (s === 'STANDARD' && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:review')) },
298 295 { ...this.buttons[12], visible: (s === 'STANDARD' && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:standard-review')) },
  296 + { ...this.buttons[7], visible: (s === 'FORMAL' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:approve')) },
  297 + { ...this.buttons[8], visible: (s === 'STANDARD' && e && t === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:approve')) },
  298 + { ...this.buttons[9], visible: (s === 'STANDARD' && f && a === 'AUDIT' && this.$auth.hasPermi('contract-manage:distribution-unlocked-contract:standard-approve')) },
299 299 ]
300 300 }
301 301 },
... ...
... ... @@ -208,13 +208,14 @@ export default {
208 208 isPass: s === 'PASS',
209 209 isAudit: s === 'AUDIT',
210 210 canExamine: e,
  211 + isAuditDetail: this.form.showExamineDetail || false,
211 212 }
212 213 },
213 214 displayButtons() {
214 215 const f = this.statusFlags
215 216 return [
216 217 { ...this.buttons[0], visible: f.isRefuse && this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:modify') },
217   - { ...this.buttons[1], visible: this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:review') },
  218 + { ...this.buttons[1], visible: f.isAuditDetail && this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:review') },
218 219 { ...this.buttons[2], visible: f.isAudit && f.canExamine && this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:approve') },
219 220 { ...this.buttons[3], visible: f.isPass && this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:change') },
220 221 { ...this.buttons[4], visible: f.isRefuse && this.$auth.hasPermi('customer-credit-manage:customer-credit-plan:close') },
... ...
... ... @@ -45,6 +45,7 @@ export default {
45 45 return {
46 46 isRefuse: e === 'REFUSE' || false,
47 47 isAudit: e === 'AUDIT' || false,
  48 + isAuditDetail: m.showExamineDetail || false,
48 49 canEdit: e === 'REFUSE' && m.delayedCreateBy || false,
49 50 canAudit: e === 'AUDIT' && m.showExamine || false,
50 51 canCancel: e === 'REFUSE' && m.delayedCreateBy || false,
... ... @@ -54,7 +55,7 @@ export default {
54 55 const f = this.statusFlags
55 56 return [
56 57 { ...this.buttons[0], visible: f.canEdit && this.$auth.hasPermi('shipping-plan-manage:delay-invoice:modify') },
57   - { ...this.buttons[1], visible: this.$auth.hasPermi('shipping-plan-manage:delay-invoice:review') },
  58 + { ...this.buttons[1], visible: f.isAuditDetail && this.$auth.hasPermi('shipping-plan-manage:delay-invoice:review') },
58 59 { ...this.buttons[2], visible: f.canAudit && this.$auth.hasPermi('shipping-plan-manage:delay-invoice:approve') },
59 60 { ...this.buttons[3], visible: f.canCancel && this.$auth.hasPermi('shipping-plan-manage:delay-invoice:cancel') },
60 61 ]
... ...
... ... @@ -13,10 +13,13 @@
13 13 <view class="row"><text class="label">卸货地点</text><text class="value">{{ form.destination }}</text></view>
14 14 <view class="row"><text class="label">接货人/联络人</text><text class="value">{{ form.consignee }}</text></view>
15 15 <view class="row"><text class="label">联系电话</text><text class="value">{{ form.phone }}</text></view>
16   - <view class="row"><text class="label">回货计划安排</text><text class="value">{{ form.returnPlanArrangement }}</text></view>
  16 + <view class="row"><text class="label">回货计划安排</text><text class="value">{{ form.returnPlanArrangement }}</text>
  17 + </view>
17 18 <view class="row"><text class="label">特殊需求、其他等</text><text class="value">{{ form.other }}</text></view>
18   - <view class="row"><text class="label">装货特别要求/需求</text><text class="value">{{ form.specialLoadingRequirement }}</text></view>
19   - <view class="row"><text class="label">是否冻结</text><text class="value">{{ form.freeze ? '是' : '否' }}</text></view>
  19 + <view class="row"><text class="label">装货特别要求/需求</text><text class="value">{{ form.specialLoadingRequirement
  20 + }}</text></view>
  21 + <view class="row"><text class="label">是否冻结</text><text class="value">{{ form.freeze ? '是' : '否' }}</text>
  22 + </view>
20 23 </view>
21 24 </view>
22 25 </scroll-view>
... ... @@ -27,6 +30,7 @@
27 30 <script>
28 31 import { getDetailApi, cancelApi } from '@/api/draft_order.js'
29 32 import DetailButtons from '@/components/detail-buttons/index.vue'
  33 +import { checkApi } from '@/api/order_list.js'
30 34
31 35 export default {
32 36 name: 'DraftOrderDetail',
... ... @@ -88,8 +92,18 @@ export default {
88 92 if (typeof fn === 'function') fn()
89 93 },
90 94 onEdit() {
91   - const id = this.form.id || this.form.code
92   - if (id) uni.navigateTo({ url: `/pages/draft_order/modify?id=${id}` })
  95 + const id = this.form.id || this.form.code;
  96 + const query = id ? ('?id=' + encodeURIComponent(id)) : '';
  97 + // purchaseOrderId 订单id
  98 + checkApi({ id: this.form.purchaseOrderId }).then(res => {
  99 + if (res.code === 200) {
  100 + uni.navigateTo({ url: '/pages/draft_order/modify' + query })
  101 + } else {
  102 + uni.showToast({ title: res.msg || '失败', icon: 'none' })
  103 + }
  104 + }).catch((e) => {
  105 + uni.showToast({ title: e.msg, icon: 'none' })
  106 + })
93 107 },
94 108 onAuditDetail() {
95 109 uni.setStorageSync('sourceBusinessId', this.form.id)
... ... @@ -154,7 +168,7 @@ export default {
154 168 background-size: 100% 100%;
155 169 background-position: center;
156 170
157   - &_AUDIT {
  171 + &_AUDIT {
158 172 background-image: url('~@/static/images/dev_manage/status_1.png');
159 173 }
160 174
... ...
... ... @@ -92,8 +92,8 @@
92 92 </template>
93 93 <template v-slot:footer>
94 94 <view class="amount-row">
95   - <uni-easyinput type="digit" v-model="companyReview.companyCreditLimit"
96   - placeholder="请输入授信额度" :inputBorder="false" />
  95 + <uni-easyinput type="number" v-model="companyReview.companyCreditLimit"
  96 + placeholder="请输入授信额度" :inputBorder="false" @input="onCreditLimitInput" />
97 97 </view>
98 98 </template>
99 99 </uni-list-item>
... ... @@ -246,6 +246,19 @@ export default {
246 246 } catch (e) { }
247 247 },
248 248 methods: {
  249 + onCreditLimitInput(val) {
  250 + let value = String(val)
  251 + // 只允许数字和小数点
  252 + value = value.replace(/[^\d.]/g, '')
  253 + // 保证只有一个小数点
  254 + const parts = value.split('.')
  255 + if (parts.length > 2) {
  256 + value = parts[0] + '.' + parts.slice(1).join('')
  257 + }
  258 + this.$nextTick(() => {
  259 + this.companyReview.companyCreditLimit = value
  260 + })
  261 + },
249 262 async loadCategoryOptions() {
250 263 try {
251 264 const res = await getDicByCodeApi('CUSTOMER_CATEGORY')
... ... @@ -325,7 +338,7 @@ export default {
325 338 // 是否填写-公司评审信息
326 339 hsCompanyReview() {
327 340 // 结算期限 授信额度
328   - if (this.companyReview.companySettlementPeriod || this.companyReview.companyCreditLimit) {
  341 + if (this.companyReview.companySettlementPeriod || !['', null, undefined].includes(this.companyReview.companyCreditLimit)) {
329 342 return true
330 343 }
331 344 return false
... ... @@ -378,7 +391,7 @@ export default {
378 391 uni.showToast({ title: '请输入结算期限', icon: 'none' })
379 392 return
380 393 }
381   - if (!this.companyReview.companyCreditLimit) {
  394 + if (['', null, undefined].includes(this.companyReview.companyCreditLimit)) {
382 395 uni.showToast({ title: '请输入授信额度', icon: 'none' })
383 396 return
384 397 }
... ...