Commit e672c062f8ba0ccd7507a59d348f9c6528e062b3

Authored by 史婷婷
1 parent fa376fb0

feat: 产品试样结果跟踪单 -详情

@@ -816,6 +816,14 @@ @@ -816,6 +816,14 @@
816 "navigationBarBackgroundColor": "#ffffff", 816 "navigationBarBackgroundColor": "#ffffff",
817 "navigationBarTextStyle": "black" 817 "navigationBarTextStyle": "black"
818 } 818 }
  819 + },
  820 + {
  821 + "path": "pages/follow_up_form/detail",
  822 + "style": {
  823 + "navigationBarTitleText": "产品试样结果跟踪单详情",
  824 + "navigationBarBackgroundColor": "#ffffff",
  825 + "navigationBarTextStyle": "black"
  826 + }
819 } 827 }
820 ], 828 ],
821 "subPackages": [ 829 "subPackages": [
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
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.sampleTypeName }}</text></view> 8 <view class="row"><text class="label">试样种类</text><text class="value">{{ form.sampleTypeName }}</text></view>
9 <view class="row"><text class="label">客户类型</text><text class="value">{{ form.customerTypeName }}</text></view> 9 <view class="row"><text class="label">客户类型</text><text class="value">{{ form.customerTypeName }}</text></view>
10 - <view class="row"><text class="label">厂</text><text class="value">{{ form.workshopName }}</text></view> 10 + <view class="row"><text class="label">生产厂</text><text class="value">{{ form.workshopName }}</text></view>
11 <view class="row"><text class="label">所属品种</text><text class="value">{{ form.belongingBreed }}</text></view> 11 <view class="row"><text class="label">所属品种</text><text class="value">{{ form.belongingBreed }}</text></view>
12 <view class="row"><text class="label">原供货同行</text><text class="value">{{ form.originalSupplierPeer }}</text> 12 <view class="row"><text class="label">原供货同行</text><text class="value">{{ form.originalSupplierPeer }}</text>
13 </view> 13 </view>
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
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.sampleTypeName }}</text></view> 8 <view class="row"><text class="label">试样种类</text><text class="value">{{ form.sampleTypeName }}</text></view>
9 <view class="row"><text class="label">客户类型</text><text class="value">{{ form.customerTypeName }}</text></view> 9 <view class="row"><text class="label">客户类型</text><text class="value">{{ form.customerTypeName }}</text></view>
10 - <view class="row"><text class="label">厂</text><text class="value">{{ form.workshopName }}</text></view> 10 + <view class="row"><text class="label">生产厂</text><text class="value">{{ form.workshopName }}</text></view>
11 <view class="row"><text class="label">所属品种</text><text class="value">{{ form.belongingBreed }}</text></view> 11 <view class="row"><text class="label">所属品种</text><text class="value">{{ form.belongingBreed }}</text></view>
12 <view class="row"><text class="label">原供货同行</text><text class="value">{{ form.originalSupplierPeer }}</text> 12 <view class="row"><text class="label">原供货同行</text><text class="value">{{ form.originalSupplierPeer }}</text>
13 </view> 13 </view>
@@ -3,40 +3,35 @@ @@ -3,40 +3,35 @@
3 <scroll-view class="scroll" scroll-y> 3 <scroll-view class="scroll" scroll-y>
4 <view class="detail-page"> 4 <view class="detail-page">
5 <view class="section"> 5 <view class="section">
6 - <text class="row company">{{ form.orderingUnitName }}</text> 6 + <text class="row company">{{ form.customerName }}</text>
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.sampleTypeName }}</text></view>  
9 - <view class="row"><text class="label">客户类型</text><text class="value">{{ form.customerTypeName }}</text></view>  
10 - <view class="row"><text class="label">分厂</text><text class="value">{{ form.workshopName }}</text></view>  
11 - <view class="row"><text class="label">所属品种</text><text class="value">{{ form.belongingBreed }}</text></view>  
12 - <view class="row"><text class="label">原供货同行</text><text class="value">{{ form.originalSupplierPeer }}</text>  
13 - </view> 8 + <view class="row"><text class="label">订单编号</text><text class="value">{{ form.orderCode }}</text></view>
  9 + <view class="row"><text class="label">生产厂</text><text class="value">{{ form.workshopName }}</text></view>
14 </view> 10 </view>
15 11
16 <!-- 产品 --> 12 <!-- 产品 -->
17 <view class="section2"> 13 <view class="section2">
18 - <Product mode="view" :list="form.productSampleConfirmationSlipDetailList" /> 14 + <Product mode="view" :list="form.detailList" />
19 </view> 15 </view>
20 16
21 - <view class="section3">  
22 - <view class="view-total">  
23 - <view class="head">合计</view>  
24 - <view class="row">  
25 - <view class="row2">  
26 - <text class="label">数量</text><text class="value">{{ form.totalQuantity }}</text>  
27 - </view>  
28 - </view>  
29 - </view> 17 + <view class="title-header">
  18 + <image class="title-header_icon" src="/static/images/title.png" />
  19 + <span>本次试样概况</span>
30 </view> 20 </view>
31 21
32 <view class="section"> 22 <view class="section">
33 - <view class="row"><text class="label">数量</text><text class="value">{{ form.totalQuantity }}</text></view>  
34 - <view class="row"><text class="label">本次试样数量是否超规定</text><text class="value">{{ form.sampleQuantityRegulation ?  
35 - '是' : '否' }}</text></view>  
36 - <view class="row"><text class="label">试样规格个数是否超规定</text><text class="value">{{  
37 - form.specificationQuantityRegulation ? '是' : '否' }}</text></view>  
38 - <view class="row"><text class="label">试样次数</text><text class="value">{{ form.sampleFrequency }}</text></view>  
39 - <view class="row"><text class="label">前期不合格描述</text><text class="value">{{ form.earlyNonconformityDescription 23 + <view class="row"><text class="label">表面</text><text class="value">{{ form.surface }}</text></view>
  24 + <view class="row"><text class="label">性能</text><text class="value">{{ form.performance }}</text></view>
  25 + <view class="row"><text class="label">公差</text><text class="value">{{ form.tolerance }}</text></view>
  26 + <view class="row"><text class="label">带型</text><text class="value">{{ form.bandingPattern }}</text></view>
  27 + <view class="row"><text class="label">包装</text><text class="value">{{ form.packaging }}</text></view>
  28 + <view class="row"><text class="label">件重条头</text><text class="value">{{ form.weight }}</text></view>
  29 + <view class="row"><text class="label">其他</text><text class="value">{{ form.other }}</text></view>
  30 + <view class="row"><text class="label">结论</text><text class="value">{{ form.other }}</text></view>
  31 + <view class="row"><text class="label"></text><text class="value">{{ form.sampleResultSub }}</text></view>
  32 + </view>
  33 + <view class="section">
  34 + <view class="row"><text class="label">客户评价依据</text><text class="value act" @click="downloadFile(form.customerReviewsFileId, form.customerReviewsFileName)">{{ form.customerReviewsFileName
40 }}</text></view> 35 }}</text></view>
41 </view> 36 </view>
42 </view> 37 </view>
@@ -46,12 +41,13 @@ @@ -46,12 +41,13 @@
46 </template> 41 </template>
47 42
48 <script> 43 <script>
49 -import { getDetailApi } from '@/api/confirmation_form.js' 44 +import { getDetailApi } from '@/api/follow_up_form.js'
50 import Product from './product.vue' 45 import Product from './product.vue'
51 import DetailButtons from '@/components/detail-buttons/index.vue' 46 import DetailButtons from '@/components/detail-buttons/index.vue'
  47 +import { downloadFile } from '@/utils/downloadFile.js'
52 48
53 export default { 49 export default {
54 - name: 'ConfirmationFormDetail', 50 + name: 'FollowUpFormDetail',
55 components: { Product, DetailButtons }, 51 components: { Product, DetailButtons },
56 data() { 52 data() {
57 return { 53 return {
@@ -67,19 +63,22 @@ export default { @@ -67,19 +63,22 @@ export default {
67 statusFlags() { 63 statusFlags() {
68 const m = this.form || {} 64 const m = this.form || {}
69 const e = String(m.status || '') 65 const e = String(m.status || '')
70 - // showAudit 这个字段就是后端自己判断的 制单人所在区域 所有人 权限 66 + console.log('statusFlags_this.form', this.form)
  67 + console.log('statusFlags_e', e)
71 return { 68 return {
72 - canEdit: !e && m.showAudit || false, 69 + // 跟踪单编辑:1:审核状态为空、已驳回 2:showAudit为true 3:需要加角色权限
  70 + canEdit: (!e || e === 'REFUSE') && m.showAudit || false,
73 canAudit: e === 'AUDIT' && m.showExamine || false, 71 canAudit: e === 'AUDIT' && m.showExamine || false,
74 canAuditDetail: !!e || false, 72 canAuditDetail: !!e || false,
75 } 73 }
76 }, 74 },
77 displayButtons() { 75 displayButtons() {
78 - const f = this.statusFlags 76 + const f = this.statusFlags;
  77 + console.log('displayButtons_f', f)
79 return [ 78 return [
80 - { ...this.buttons[0], visible: f.canEdit }, // 不需要额外的角色权限  
81 - { ...this.buttons[1], visible: f.canAuditDetail && this.$auth.hasPermi('sample-order:confirmation-form:review') },  
82 - { ...this.buttons[2], visible: f.canAudit && this.$auth.hasPermi('sample-order:confirmation-form:approve') }, 79 + { ...this.buttons[0], visible: f.canEdit && this.$auth.hasPermi('sample-order:follow-up-form:modify') },
  80 + { ...this.buttons[1], visible: f.canAuditDetail && this.$auth.hasPermi('sample-order:follow-up-form:review') },
  81 + { ...this.buttons[2], visible: f.canAudit && this.$auth.hasPermi('sample-order:follow-up-form:approve') },
83 ] 82 ]
84 } 83 }
85 }, 84 },
@@ -118,6 +117,7 @@ export default { @@ -118,6 +117,7 @@ export default {
118 uni.setStorageSync('sourceBusinessId', this.form.id) 117 uni.setStorageSync('sourceBusinessId', this.form.id)
119 uni.navigateTo({ url: '/pages/flow/audit' }) 118 uni.navigateTo({ url: '/pages/flow/audit' })
120 }, 119 },
  120 + downloadFile,
121 121
122 } 122 }
123 } 123 }
@@ -206,6 +206,11 @@ export default { @@ -206,6 +206,11 @@ export default {
206 color: rgba(0, 0, 0, 0.9); 206 color: rgba(0, 0, 0, 0.9);
207 text-align: right; 207 text-align: right;
208 word-break: break-all; 208 word-break: break-all;
  209 +
  210 + &.act {
  211 + color: $theme-primary;
  212 + }
  213 +
209 } 214 }
210 } 215 }
211 216
@@ -232,51 +237,52 @@ export default { @@ -232,51 +237,52 @@ export default {
232 237
233 .section2 { 238 .section2 {
234 background: #f1f1f1; 239 background: #f1f1f1;
  240 + margin-bottom: 20rpx;
235 } 241 }
236 242
237 243
238 .section3 { 244 .section3 {
239 - padding: 0 32rpx;  
240 - background-color: #fff;  
241 - margin: 20rpx 0; 245 + padding: 0 32rpx;
  246 + background-color: #fff;
  247 + margin: 20rpx 0;
242 } 248 }
243 249
244 .view-total { 250 .view-total {
245 - padding-bottom: 20rpx;  
246 -  
247 - .head {  
248 - font-size: 32rpx;  
249 - font-weight: 600;  
250 - line-height: 50rpx;  
251 - color: rgba(0, 0, 0, 0.9);  
252 - padding-bottom: 16rpx;  
253 - margin-bottom: 24rpx;  
254 - border-bottom: 1px dashed #E7E7E7; 251 + padding-bottom: 20rpx;
  252 +
  253 + .head {
  254 + font-size: 32rpx;
  255 + font-weight: 600;
  256 + line-height: 50rpx;
  257 + color: rgba(0, 0, 0, 0.9);
  258 + padding-bottom: 16rpx;
  259 + margin-bottom: 24rpx;
  260 + border-bottom: 1px dashed #E7E7E7;
  261 + }
  262 +
  263 + .row {
  264 + display: flex;
  265 + margin-bottom: 24rpx;
  266 + line-height: 32rpx;
  267 +
  268 + .row2 {
  269 + width: 50%;
  270 + }
  271 +
  272 + .label {
  273 + width: 180rpx;
  274 + margin-right: 14rpx;
  275 + color: rgba(0, 0, 0, 0.6);
  276 + font-size: 28rpx;
255 } 277 }
256 278
257 - .row {  
258 - display: flex;  
259 - margin-bottom: 24rpx;  
260 - line-height: 32rpx;  
261 -  
262 - .row2 {  
263 - width: 50%;  
264 - }  
265 -  
266 - .label {  
267 - width: 180rpx;  
268 - margin-right: 14rpx;  
269 - color: rgba(0, 0, 0, 0.6);  
270 - font-size: 28rpx;  
271 - }  
272 -  
273 - .value {  
274 - flex: 1;  
275 - color: rgba(0, 0, 0, 0.9);  
276 - font-size: 28rpx;  
277 - white-space: pre-wrap;  
278 - word-break: break-all;  
279 - } 279 + .value {
  280 + flex: 1;
  281 + color: rgba(0, 0, 0, 0.9);
  282 + font-size: 28rpx;
  283 + white-space: pre-wrap;
  284 + word-break: break-all;
280 } 285 }
  286 + }
281 } 287 }
282 </style> 288 </style>
@@ -123,14 +123,9 @@ @@ -123,14 +123,9 @@
123 </view> 123 </view>
124 </view> 124 </view>
125 <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> 125 <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view>
126 - <view class="row"><text class="label">数量(kg)</text><text class="value">{{ item.quantity }}</text>  
127 - </view>  
128 - <view class="row"><text class="label">是否提供样品</text><text class="value">{{ item.provideSamplesName  
129 - }}</text>  
130 - </view>  
131 - <view class="row"><text class="label">是否提供明确参数</text><text class="value">{{ item.clearParametersName  
132 - }}</text>  
133 - </view> 126 + <view class="row"><text class="label">发货日期</text><text class="value">{{ item.shipmentDate }}</text></view>
  127 + <view class="row"><text class="label">数量(kg)</text><text class="value">{{ item.quantity }}</text></view>
  128 + <view class="row"><text class="label">产量批次号</text><text class="value">{{ item.yieldBatchNo }}</text></view>
134 </view> 129 </view>
135 </view> 130 </view>
136 131