Commit cd137a71c62b11311393ff64308268da91141fd3
Merge branch 'cjerp-contract' of http://gitlab.qgutech.com/zhuyuanliang/erp-mobile into test_cjerp
Showing
26 changed files
with
289 additions
and
49 deletions
| ... | ... | @@ -75,3 +75,14 @@ export function checkApi(params) { |
| 75 | 75 | }, |
| 76 | 76 | }) |
| 77 | 77 | } |
| 78 | + | |
| 79 | + | |
| 80 | +// 上传质保书 | |
| 81 | +export function uploadWarrantyCertificate(params) { | |
| 82 | + return request({ | |
| 83 | + url: `${baseUrl}/uploadWarrantyCertificate`, | |
| 84 | + method: 'put', | |
| 85 | + data: params, | |
| 86 | + contentType: ContentTypeEnum.JSON | |
| 87 | + }) | |
| 88 | +} | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差(单项-)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -179,6 +184,7 @@ |
| 179 | 184 | </view> |
| 180 | 185 | </view> |
| 181 | 186 | </view> |
| 187 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 182 | 188 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 183 | 189 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 184 | 190 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -246,7 +252,7 @@ export default { |
| 246 | 252 | }, |
| 247 | 253 | methods: { |
| 248 | 254 | defaultItem() { |
| 249 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '' } | |
| 255 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '' } | |
| 250 | 256 | }, |
| 251 | 257 | onImmediateChange(idx) { |
| 252 | 258 | this.$nextTick(() => this.recalculate(idx)) | ... | ... |
| ... | ... | @@ -4,7 +4,8 @@ module.exports = { |
| 4 | 4 | themeColor: '#3d48a3', |
| 5 | 5 | |
| 6 | 6 | // baseUrl: 'http://ft.wecando21cn.com/api', |
| 7 | - baseUrl: 'http://erp.qgutech.com/api', | |
| 7 | + baseUrl: 'http://gjtd.ahcjxc.com:81/api', | |
| 8 | + // baseUrl: 'http://erp.qgutech.com//api', | |
| 8 | 9 | // baseUrl: 'http://127.0.0.1:8085', |
| 9 | 10 | // 应用信息 |
| 10 | 11 | appInfo: { |
| ... | ... | @@ -31,10 +32,10 @@ module.exports = { |
| 31 | 32 | } |
| 32 | 33 | ] |
| 33 | 34 | }, |
| 34 | - | |
| 35 | + | |
| 35 | 36 | loginInfo: { |
| 36 | 37 | userName: "", |
| 37 | 38 | password: "", |
| 38 | - | |
| 39 | + | |
| 39 | 40 | } |
| 40 | 41 | } | ... | ... |
| ... | ... | @@ -53,9 +53,9 @@ |
| 53 | 53 | <uni-easyinput v-model="form.priceListNo" placeholder="请输入价格表编号" :inputBorder="false" /> |
| 54 | 54 | </template> |
| 55 | 55 | </uni-list-item> |
| 56 | - <uni-list-item title="开票情况"> | |
| 56 | + <uni-list-item title="开票要求"> | |
| 57 | 57 | <template v-slot:footer> |
| 58 | - <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票情况" :inputBorder="false" /> | |
| 58 | + <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票要求" :inputBorder="false" /> | |
| 59 | 59 | </template> |
| 60 | 60 | </uni-list-item> |
| 61 | 61 | <uni-list-item class="amount-item"> |
| ... | ... | @@ -216,7 +216,7 @@ export default { |
| 216 | 216 | const m = res.data || {} |
| 217 | 217 | const next = { ...this.form, ...m } |
| 218 | 218 | next.id = m.id || m.code || id |
| 219 | - next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 219 | + next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 220 | 220 | ...x, |
| 221 | 221 | assessmentExceedsAgreement: Number(x.assessmentExceedsAgreement || 0).toFixed(2) || 0.00, |
| 222 | 222 | })) : [] | ... | ... |
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | |
| 28 | 28 | <view class="section"> |
| 29 | 29 | <view class="row"><text class="label">价格表编号</text><text class="value">{{ form.priceListNo }}</text></view> |
| 30 | - <view class="row"><text class="label">开票情况</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 30 | + <view class="row"><text class="label">开票要求</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 31 | 31 | <view class="row"><text class="label">运费</text><text class="value">{{ form.shippingCost }}</text></view> |
| 32 | 32 | <view class="row"><text class="label">执行标准</text><text class="value">{{ getDicName('APPLICABLE_STANDARD', |
| 33 | 33 | form.executionStandard, dicOptions.APPLICABLE_STANDARD) }}</text></view> | ... | ... |
| ... | ... | @@ -52,9 +52,9 @@ |
| 52 | 52 | <uni-easyinput v-model="form.priceListNo" placeholder="请输入价格表编号" :inputBorder="false" /> |
| 53 | 53 | </template> |
| 54 | 54 | </uni-list-item> |
| 55 | - <uni-list-item title="开票情况"> | |
| 55 | + <uni-list-item title="开票要求"> | |
| 56 | 56 | <template v-slot:footer> |
| 57 | - <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票情况" :inputBorder="false" /> | |
| 57 | + <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票要求" :inputBorder="false" /> | |
| 58 | 58 | </template> |
| 59 | 59 | </uni-list-item> |
| 60 | 60 | <uni-list-item class="amount-item"> |
| ... | ... | @@ -212,7 +212,7 @@ export default { |
| 212 | 212 | const next = { ...this.form, ...m } |
| 213 | 213 | next.id = m.id || m.code || id; |
| 214 | 214 | next.purchaseOrderId = m.orderId || ''; |
| 215 | - next.purchaseOrderLineList = Array.isArray(m.afterChangeSpecList) ? m.afterChangeSpecList.map(x => ({ | |
| 215 | + next.purchaseOrderLineList = Array.isArray(m.afterChangeSpecList) ? m.afterChangeSpecList.map(x => ({ | |
| 216 | 216 | ...x, |
| 217 | 217 | assessmentExceedsAgreement: Number(x.assessmentExceedsAgreement || 0).toFixed(2) || 0.00, |
| 218 | 218 | })) : [] | ... | ... |
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | |
| 28 | 28 | <view class="section"> |
| 29 | 29 | <view class="row"><text class="label">价格表编号</text><text class="value">{{ form.priceListNo }}</text></view> |
| 30 | - <view class="row"><text class="label">开票情况</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 30 | + <view class="row"><text class="label">开票要求</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 31 | 31 | <view class="row"><text class="label">运费</text><text class="value">{{ form.shippingCost }}</text></view> |
| 32 | 32 | <view class="row"><text class="label">执行标准</text><text class="value">{{ getDicName('APPLICABLE_STANDARD', |
| 33 | 33 | form.executionStandard, dicOptions.APPLICABLE_STANDARD) }}</text></view> | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -190,6 +195,7 @@ |
| 190 | 195 | </view> |
| 191 | 196 | </view> |
| 192 | 197 | </view> |
| 198 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 193 | 199 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 194 | 200 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 195 | 201 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -271,7 +277,7 @@ export default { |
| 271 | 277 | }, |
| 272 | 278 | methods: { |
| 273 | 279 | defaultItem() { |
| 274 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', processingFee: undefined, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 280 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', processingFee: undefined, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 275 | 281 | }, |
| 276 | 282 | onNonNegativeInput(idx, field) { |
| 277 | 283 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -74,6 +74,11 @@ |
| 74 | 74 | </view> |
| 75 | 75 | </template> |
| 76 | 76 | </uni-list-item> |
| 77 | + <uni-list-item title="物料编码"> | |
| 78 | + <template v-slot:footer> | |
| 79 | + <uni-easyinput v-model="item.materialCode" placeholder="请输入物料编码" :clearable="false" disabled /> | |
| 80 | + </template> | |
| 81 | + </uni-list-item> | |
| 77 | 82 | <uni-list-item title="状态"> |
| 78 | 83 | <template v-slot:footer> |
| 79 | 84 | <uni-easyinput v-model="item.status" placeholder="请输入状态" :clearable="false" disabled /> |
| ... | ... | @@ -248,6 +253,7 @@ export default { |
| 248 | 253 | length: v.length || '', |
| 249 | 254 | lengthTolPos: v.lengthTolPos || '', |
| 250 | 255 | lengthTolNeg: v.lengthTolNeg || '', |
| 256 | + materialCode: v.materialCode || '', | |
| 251 | 257 | status: v.status || '', |
| 252 | 258 | quantity: v.productQuantity || v.quantity || '', |
| 253 | 259 | unitPrice: v.unitPrice || '', | ... | ... |
| ... | ... | @@ -104,6 +104,11 @@ |
| 104 | 104 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 105 | 105 | </template> |
| 106 | 106 | </uni-list-item> |
| 107 | + <uni-list-item title="物料编码"> | |
| 108 | + <template v-slot:footer> | |
| 109 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 110 | + </template> | |
| 111 | + </uni-list-item> | |
| 107 | 112 | <uni-list-item title="状态"> |
| 108 | 113 | <template v-slot:footer> |
| 109 | 114 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -192,6 +197,7 @@ |
| 192 | 197 | </view> |
| 193 | 198 | </view> |
| 194 | 199 | </view> |
| 200 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 195 | 201 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 196 | 202 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 197 | 203 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -273,7 +279,7 @@ export default { |
| 273 | 279 | }, |
| 274 | 280 | methods: { |
| 275 | 281 | defaultItem() { |
| 276 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', processingFee: undefined, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 282 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', processingFee: undefined, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 277 | 283 | }, |
| 278 | 284 | onNonNegativeInput(idx, field) { |
| 279 | 285 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -73,6 +73,11 @@ |
| 73 | 73 | </view> |
| 74 | 74 | </template> |
| 75 | 75 | </uni-list-item> |
| 76 | + <uni-list-item title="物料编码"> | |
| 77 | + <template v-slot:footer> | |
| 78 | + <uni-easyinput v-model="item.materialCode" placeholder="请输入物料编码" :clearable="false" disabled /> | |
| 79 | + </template> | |
| 80 | + </uni-list-item> | |
| 76 | 81 | <uni-list-item title="状态"> |
| 77 | 82 | <template v-slot:footer> |
| 78 | 83 | <uni-easyinput v-model="item.status" placeholder="请输入状态" :clearable="false" disabled /> |
| ... | ... | @@ -246,6 +251,7 @@ export default { |
| 246 | 251 | length: v.length || '', |
| 247 | 252 | lengthTolPos: v.lengthTolPos || '', |
| 248 | 253 | lengthTolNeg: v.lengthTolNeg || '', |
| 254 | + materialCode: v.materialCode || '', | |
| 249 | 255 | status: v.status || '', |
| 250 | 256 | quantity: v.productQuantity || v.quantity || '', |
| 251 | 257 | unitPrice: v.unitPrice || '', | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -186,6 +191,7 @@ |
| 186 | 191 | </view> |
| 187 | 192 | </view> |
| 188 | 193 | </view> |
| 194 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 189 | 195 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 190 | 196 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 191 | 197 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -267,7 +273,7 @@ export default { |
| 267 | 273 | }, |
| 268 | 274 | methods: { |
| 269 | 275 | defaultItem() { |
| 270 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 276 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 271 | 277 | }, |
| 272 | 278 | onNonNegativeInput(idx, field) { |
| 273 | 279 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -134,6 +134,11 @@ |
| 134 | 134 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 135 | 135 | </template> |
| 136 | 136 | </uni-list-item> |
| 137 | + <uni-list-item title="物料编码"> | |
| 138 | + <template v-slot:footer> | |
| 139 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 140 | + </template> | |
| 141 | + </uni-list-item> | |
| 137 | 142 | <uni-list-item title="定作物数量"> |
| 138 | 143 | <template v-slot:footer> |
| 139 | 144 | <uni-easyinput v-model="item.productQuantity" type="digit" :inputBorder="false" placeholder="请输入数量kg" @input="onNonNegativeInput(idx, 'productQuantity')" @blur="onNonNegativeBlur(idx, 'productQuantity', 2)" /> |
| ... | ... | @@ -214,6 +219,7 @@ |
| 214 | 219 | </view> |
| 215 | 220 | </view> |
| 216 | 221 | </view> |
| 222 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 217 | 223 | <view class="row"><text class="label">定做物数量</text><text class="value">{{ item.productQuantity }}</text></view> |
| 218 | 224 | <view class="row"><text class="label">加工费单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| 219 | 225 | }}</text> |
| ... | ... | @@ -310,7 +316,7 @@ export default { |
| 310 | 316 | }, |
| 311 | 317 | methods: { |
| 312 | 318 | defaultItem() { |
| 313 | - return { rawProductId: '', rawProductName: '', rawProductGradeId: '', rawProductGradeName: '', industry: '', quality: '', supplyTime: '', materialProductRatio: '', materialProductRatioName: '', materialProductRatioRemarks: '', productName: '', productId: '', productGrade: '', productStatus: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', productQuantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 319 | + return { rawProductId: '', rawProductName: '', rawProductGradeId: '', rawProductGradeName: '', industry: '', quality: '', supplyTime: '', materialProductRatio: '', materialProductRatioName: '', materialProductRatioRemarks: '', productName: '', productId: '', productGrade: '', productStatus: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode:'', productQuantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 314 | 320 | }, |
| 315 | 321 | onNumberInput(idx, field) { |
| 316 | 322 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -185,6 +190,7 @@ |
| 185 | 190 | </view> |
| 186 | 191 | </view> |
| 187 | 192 | </view> |
| 193 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 188 | 194 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 189 | 195 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 190 | 196 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -266,7 +272,7 @@ export default { |
| 266 | 272 | }, |
| 267 | 273 | methods: { |
| 268 | 274 | defaultItem() { |
| 269 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 275 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 270 | 276 | }, |
| 271 | 277 | onNumberInput(idx, field) { |
| 272 | 278 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -69,6 +69,11 @@ |
| 69 | 69 | </view> |
| 70 | 70 | </template> |
| 71 | 71 | </uni-list-item> |
| 72 | + <uni-list-item title="物料编码"> | |
| 73 | + <template v-slot:footer> | |
| 74 | + <uni-easyinput v-model="item.materialCode" placeholder="请输入物料编码" :clearable="false" disabled /> | |
| 75 | + </template> | |
| 76 | + </uni-list-item> | |
| 72 | 77 | <uni-list-item title="状态"> |
| 73 | 78 | <template v-slot:footer> |
| 74 | 79 | <uni-easyinput v-model="item.status" placeholder="请输入状态" :clearable="false" disabled /> |
| ... | ... | @@ -235,6 +240,7 @@ export default { |
| 235 | 240 | length: v.length || '', |
| 236 | 241 | lengthTolPos: v.lengthTolPos || '', |
| 237 | 242 | lengthTolNeg: v.lengthTolNeg || '', |
| 243 | + materialCode: v.materialCode || '', | |
| 238 | 244 | status: v.status || '', |
| 239 | 245 | quantity: v.productQuantity || v.quantity || '', |
| 240 | 246 | unitPrice: v.unitPrice || '', | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -185,6 +190,7 @@ |
| 185 | 190 | </view> |
| 186 | 191 | </view> |
| 187 | 192 | </view> |
| 193 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 188 | 194 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 189 | 195 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 190 | 196 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -371,7 +377,7 @@ export default { |
| 371 | 377 | return true |
| 372 | 378 | }, |
| 373 | 379 | defaultItem() { |
| 374 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 380 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 375 | 381 | }, |
| 376 | 382 | onNonNegativeInput(idx, field) { |
| 377 | 383 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -68,6 +68,11 @@ |
| 68 | 68 | </view> |
| 69 | 69 | </template> |
| 70 | 70 | </uni-list-item> |
| 71 | + <uni-list-item title="物料编码"> | |
| 72 | + <template v-slot:footer> | |
| 73 | + <uni-easyinput v-model="item.materialCode" placeholder="请输入物料编码" :clearable="false" disabled /> | |
| 74 | + </template> | |
| 75 | + </uni-list-item> | |
| 71 | 76 | <uni-list-item title="状态"> |
| 72 | 77 | <template v-slot:footer> |
| 73 | 78 | <uni-easyinput v-model="item.status" placeholder="请输入状态" :clearable="false" disabled /> |
| ... | ... | @@ -233,6 +238,7 @@ export default { |
| 233 | 238 | length: v.length || '', |
| 234 | 239 | lengthTolPos: v.lengthTolPos || '', |
| 235 | 240 | lengthTolNeg: v.lengthTolNeg || '', |
| 241 | + materialCode: v.materialCode || '', | |
| 236 | 242 | status: v.status || '', |
| 237 | 243 | quantity: v.productQuantity || v.quantity || '', |
| 238 | 244 | unitPrice: v.unitPrice || '', | ... | ... |
| ... | ... | @@ -102,6 +102,11 @@ |
| 102 | 102 | placeholder="请输入长度公差下限" @input="onNumberInput(idx, 'lengthTolNeg')" @blur="onNumberBlur(idx, 'lengthTolNeg', 9)" /> |
| 103 | 103 | </template> |
| 104 | 104 | </uni-list-item> |
| 105 | + <uni-list-item title="物料编码"> | |
| 106 | + <template v-slot:footer> | |
| 107 | + <uni-easyinput v-model="item.materialCode" :inputBorder="false" placeholder="请输入物料编码" /> | |
| 108 | + </template> | |
| 109 | + </uni-list-item> | |
| 105 | 110 | <uni-list-item title="状态"> |
| 106 | 111 | <template v-slot:footer> |
| 107 | 112 | <uni-easyinput v-model="item.status" :inputBorder="false" placeholder="请输入状态" /> |
| ... | ... | @@ -185,6 +190,7 @@ |
| 185 | 190 | </view> |
| 186 | 191 | </view> |
| 187 | 192 | </view> |
| 193 | + <view class="row"><text class="label">物料编码</text><text class="value">{{ item.materialCode }}</text></view> | |
| 188 | 194 | <view class="row"><text class="label">状态</text><text class="value">{{ item.status }}</text></view> |
| 189 | 195 | <view class="row"><text class="label">数量</text><text class="value">{{ item.quantity }}</text></view> |
| 190 | 196 | <view class="row"><text class="label">单价</text><text class="value">{{ formatCurrency(item.unitPrice) |
| ... | ... | @@ -266,7 +272,7 @@ export default { |
| 266 | 272 | }, |
| 267 | 273 | methods: { |
| 268 | 274 | defaultItem() { |
| 269 | - return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 275 | + return { productId: '', productName: '', industry: '', brand: '', quality: '', thickness: '', thicknessTolPos: '', thicknessTolNeg: '', width: '', widthTolPos: '', widthTolNeg: '', length: '', lengthTolPos: '', lengthTolNeg: '', materialCode: '', status: '', quantity: '', unitPrice: '', amountExcludingTax: 0, totalAmount: 0, deliveryDate: '', sampleOrder: false } | |
| 270 | 276 | }, |
| 271 | 277 | onNonNegativeInput(idx, field) { |
| 272 | 278 | const it = this.items[idx] | ... | ... |
| ... | ... | @@ -759,10 +759,10 @@ export default { |
| 759 | 759 | |
| 760 | 760 | .generate-btn { |
| 761 | 761 | margin-left: 24rpx; |
| 762 | - height: 64rpx; | |
| 763 | - line-height: 64rpx; | |
| 762 | + height: 48rpx; | |
| 763 | + line-height: 48rpx; | |
| 764 | 764 | padding: 0 24rpx; |
| 765 | - font-size: 28rpx; | |
| 765 | + font-size: 24rpx; | |
| 766 | 766 | border-radius: 8rpx; |
| 767 | 767 | background: $theme-primary; |
| 768 | 768 | color: #fff; | ... | ... |
| ... | ... | @@ -316,10 +316,10 @@ export default { |
| 316 | 316 | |
| 317 | 317 | .generate-btn { |
| 318 | 318 | margin-left: 24rpx; |
| 319 | - height: 64rpx; | |
| 320 | - line-height: 64rpx; | |
| 319 | + height: 48rpx; | |
| 320 | + line-height: 48rpx; | |
| 321 | 321 | padding: 0 24rpx; |
| 322 | - font-size: 28rpx; | |
| 322 | + font-size: 24rpx; | |
| 323 | 323 | border-radius: 8rpx; |
| 324 | 324 | background: $theme-primary; |
| 325 | 325 | color: #fff; | ... | ... |
| ... | ... | @@ -323,14 +323,14 @@ export default { |
| 323 | 323 | align-items: center; |
| 324 | 324 | |
| 325 | 325 | .generate-btn { |
| 326 | - margin-left: 24rpx; | |
| 327 | - height: 64rpx; | |
| 328 | - line-height: 64rpx; | |
| 329 | - padding: 0 24rpx; | |
| 330 | - font-size: 28rpx; | |
| 331 | - border-radius: 8rpx; | |
| 332 | - background: $theme-primary; | |
| 333 | - color: #fff; | |
| 326 | + margin-left: 24rpx; | |
| 327 | + height: 48rpx; | |
| 328 | + line-height: 48rpx; | |
| 329 | + padding: 0 24rpx; | |
| 330 | + font-size: 24rpx; | |
| 331 | + border-radius: 8rpx; | |
| 332 | + background: $theme-primary; | |
| 333 | + color: #fff; | |
| 334 | 334 | } |
| 335 | 335 | } |
| 336 | 336 | } | ... | ... |
| ... | ... | @@ -20,9 +20,21 @@ |
| 20 | 20 | <Product mode="view" :status="form.status" :list="form.detailList" @applyDelay="applyDelayFun" |
| 21 | 21 | @split="splitFun" /> |
| 22 | 22 | </view> |
| 23 | + | |
| 23 | 24 | <view class="section"> |
| 24 | 25 | <view class="row"><text class="label">签收单据</text><text class="value act" @click="downloadFile(form.fileId, form.fileName)">{{ form.fileName }}</text></view> |
| 25 | 26 | </view> |
| 27 | + | |
| 28 | + <view class="section"> | |
| 29 | + <view class="row"> | |
| 30 | + <text class="label">质保书</text> | |
| 31 | + <view class="value"> | |
| 32 | + <view v-for="item in form.warrantyCertificateList" :key="item.fileId" class="file-item" @click="downloadFile(item.fileId, item.fileName)"> | |
| 33 | + <text class="value act">{{ item.fileName }}</text> | |
| 34 | + </view> | |
| 35 | + </view> | |
| 36 | + </view> | |
| 37 | + </view> | |
| 26 | 38 | </view> |
| 27 | 39 | </scroll-view> |
| 28 | 40 | <detail-buttons :buttons="displayButtons" @click="handleButtonClick" /> |
| ... | ... | @@ -47,11 +59,11 @@ |
| 47 | 59 | <uni-popup ref="fillDatePopup" type="bottom" :mask-click="false"> |
| 48 | 60 | <view class="dialog"> |
| 49 | 61 | <view class="dialog_header"> |
| 50 | - <text>填写日期</text> | |
| 62 | + <text>填写日期</text> | |
| 51 | 63 | <view class="dialog_close" @click="closeFillDateInfo"></view> |
| 52 | - </view> | |
| 64 | + </view> | |
| 53 | 65 | <view class="dialog_body fill-data_body"> |
| 54 | - <uni-list> | |
| 66 | + <uni-list> | |
| 55 | 67 | <uni-list-item title="原发货日期"> |
| 56 | 68 | <template v-slot:footer> |
| 57 | 69 | <view class="value">{{ fillDateForm.shipmentsDate }}</view> |
| ... | ... | @@ -827,4 +839,10 @@ export default { |
| 827 | 839 | } |
| 828 | 840 | } |
| 829 | 841 | } |
| 842 | +.file-item { | |
| 843 | + margin-bottom: 12rpx; | |
| 844 | + &:last-child { | |
| 845 | + margin-bottom: 0; | |
| 846 | + } | |
| 847 | +} | |
| 830 | 848 | </style> | ... | ... |
| ... | ... | @@ -74,9 +74,9 @@ |
| 74 | 74 | <uni-easyinput v-model="form.priceListNo" placeholder="请输入价格表编号" :inputBorder="false" /> |
| 75 | 75 | </template> |
| 76 | 76 | </uni-list-item> |
| 77 | - <uni-list-item title="开票情况"> | |
| 77 | + <uni-list-item title="开票要求"> | |
| 78 | 78 | <template v-slot:footer> |
| 79 | - <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票情况" :inputBorder="false" /> | |
| 79 | + <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票要求" :inputBorder="false" /> | |
| 80 | 80 | </template> |
| 81 | 81 | </uni-list-item> |
| 82 | 82 | <uni-list-item class="amount-item"> |
| ... | ... | @@ -191,7 +191,7 @@ |
| 191 | 191 | |
| 192 | 192 | <view class="section"> |
| 193 | 193 | <view class="row"><text class="label">价格表编号</text><text class="value">{{ form.priceListNo }}</text></view> |
| 194 | - <view class="row"><text class="label">开票情况</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 194 | + <view class="row"><text class="label">开票要求</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 195 | 195 | <view class="row"><text class="label">运费</text><text class="value">{{ form.shippingCost }}</text></view> |
| 196 | 196 | <view class="row"><text class="label">执行标准</text><text class="value">{{ getDicName('APPLICABLE_STANDARD', |
| 197 | 197 | form.executionStandard, dicOptions.APPLICABLE_STANDARD) }}</text></view> |
| ... | ... | @@ -331,7 +331,7 @@ export default { |
| 331 | 331 | const m = res.data || {} |
| 332 | 332 | const next = { ...this.form, ...m } |
| 333 | 333 | next.id = m.id || m.code || id |
| 334 | - next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 334 | + next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 335 | 335 | ...x, |
| 336 | 336 | assessmentExceedsAgreement: Number(x.assessmentExceedsAgreement || 0).toFixed(2) || 0.00, |
| 337 | 337 | })) : [] | ... | ... |
| ... | ... | @@ -37,13 +37,16 @@ |
| 37 | 37 | |
| 38 | 38 | <view class="section"> |
| 39 | 39 | <view class="row"><text class="label">价格表编号</text><text class="value">{{ form.priceListNo }}</text></view> |
| 40 | - <view class="row"><text class="label">开票情况</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 40 | + <view class="row"><text class="label">开票要求</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 41 | 41 | <view class="row"><text class="label">运费</text><text class="value">{{ form.shippingCost }}</text></view> |
| 42 | 42 | <view class="row"><text class="label">执行标准</text><text class="value">{{ getDicName('APPLICABLE_STANDARD', |
| 43 | 43 | form.executionStandard, dicOptions.APPLICABLE_STANDARD) }}</text></view> |
| 44 | 44 | <view v-if="form.executionStandard === 'OTHER'" class="row"><text class="label">标准</text><text |
| 45 | 45 | class="value">{{ form.executionStandardRemarks }}</text></view> |
| 46 | 46 | </view> |
| 47 | + <view class="section"> | |
| 48 | + <view class="row"><text class="label">质保书</text><text class="value act" @click="downloadFile(form.warrantyCertificateFileId, form.warrantyCertificateFileName)">{{ form.warrantyCertificateFileName }}</text></view> | |
| 49 | + </view> | |
| 47 | 50 | |
| 48 | 51 | <view class="title-header"> |
| 49 | 52 | <image class="title-header_icon" src="/static/images/title.png" /> |
| ... | ... | @@ -66,13 +69,32 @@ |
| 66 | 69 | </view> |
| 67 | 70 | </scroll-view> |
| 68 | 71 | <detail-buttons :buttons="displayButtons" @click="handleButtonClick" /> |
| 72 | + <uni-popup ref="uploadPopup" type="bottom" :mask-click="false"> | |
| 73 | + <view class="dialog"> | |
| 74 | + <view class="dialog_header"> | |
| 75 | + <text>上传质保书</text> | |
| 76 | + <view class="dialog_close" @click="closeUploadInfo"></view> | |
| 77 | + </view> | |
| 78 | + <view class="dialog_body"> | |
| 79 | + <view class="dialog_row"> | |
| 80 | + <text class="dialog_label">质保书</text> | |
| 81 | + <FileUpload v-model="uploadFile" /> | |
| 82 | + </view> | |
| 83 | + </view> | |
| 84 | + <view class="dialog_footer"> | |
| 85 | + <button class="btn confirm" type="primary" @click="onUploadSave">保存</button> | |
| 86 | + </view> | |
| 87 | + </view> | |
| 88 | + </uni-popup> | |
| 69 | 89 | </view> |
| 70 | 90 | </template> |
| 71 | 91 | |
| 72 | 92 | <script> |
| 73 | -import { getDetailApi, cancelApi, checkApi } from '@/api/order_list.js' | |
| 93 | +import { getDetailApi, cancelApi, checkApi, uploadWarrantyCertificate } from '@/api/order_list.js' | |
| 74 | 94 | import Product from './product.vue' |
| 75 | 95 | import DetailButtons from '@/components/detail-buttons/index.vue' |
| 96 | +import FileUpload from '@/components/file-upload/index.vue' | |
| 97 | +import { downloadFile } from '@/utils/downloadFile.js' | |
| 76 | 98 | import { |
| 77 | 99 | getDicName |
| 78 | 100 | } from '@/utils/dic.js' |
| ... | ... | @@ -82,7 +104,7 @@ import { |
| 82 | 104 | |
| 83 | 105 | export default { |
| 84 | 106 | name: 'OrderListDetail', |
| 85 | - components: { Product, DetailButtons }, | |
| 107 | + components: { Product, DetailButtons, FileUpload }, | |
| 86 | 108 | data() { |
| 87 | 109 | return { |
| 88 | 110 | form: {}, |
| ... | ... | @@ -92,7 +114,9 @@ export default { |
| 92 | 114 | { text: '审核', visible: true, variant: 'primary', event: 'audit' }, |
| 93 | 115 | { text: '申请发货', visible: true, variant: 'outline', event: 'shipmentApply' }, |
| 94 | 116 | { text: '取消', visible: true, variant: 'outline', event: 'cancel', style: { color: 'rgba(0,0,0,0.9)', border: '1px solid #DCDCDC' } }, |
| 117 | + { text: '上传质保书', visible: true, variant: 'outline', event: 'upload' }, | |
| 95 | 118 | ], |
| 119 | + uploadFile: { id: '', name: '' }, | |
| 96 | 120 | dicOptions: { |
| 97 | 121 | AUDIT_STATUS: [], |
| 98 | 122 | SUPPLIER: [], |
| ... | ... | @@ -105,13 +129,16 @@ export default { |
| 105 | 129 | const s = String((this.form && this.form.status) || '') |
| 106 | 130 | const e = String((this.form && this.form.examineStatus) || '') |
| 107 | 131 | const d = (this.form && this.form.showExamine) || false |
| 132 | + const u = (this.form && this.form.showUpload) || false | |
| 133 | + | |
| 108 | 134 | return { |
| 109 | 135 | isRefuse: e === 'REFUSE', |
| 110 | 136 | isAudit: e === 'AUDIT', |
| 111 | 137 | isAuditDetail: !this.form.sampleOrder, |
| 112 | 138 | canExamine: d, |
| 113 | 139 | canDeliveryApply: s === 'ISSUED' && (!this.form.freeze || false) && Number(this.form.totalQuantity) > 0, |
| 114 | - contractCreateBy: this.form.contractCreateBy | |
| 140 | + contractCreateBy: this.form.contractCreateBy, | |
| 141 | + showUpload: u, | |
| 115 | 142 | } |
| 116 | 143 | }, |
| 117 | 144 | displayButtons() { |
| ... | ... | @@ -123,6 +150,7 @@ export default { |
| 123 | 150 | { ...this.buttons[2], visible: f.isAudit && f.canExamine && this.$auth.hasPermi('order-manage:order-list:approve') }, |
| 124 | 151 | { ...this.buttons[3], visible: f.canDeliveryApply && this.$auth.hasPermi('order-manage:order-list:apply') }, |
| 125 | 152 | { ...this.buttons[4], visible: f.isRefuse && f.contractCreateBy && this.$auth.hasPermi('order-manage:order-list:cancel') }, |
| 153 | + { ...this.buttons[5], visible: f.showUpload && this.$auth.hasPermi('order-manage:order-list:upload') }, | |
| 126 | 154 | ] |
| 127 | 155 | } |
| 128 | 156 | }, |
| ... | ... | @@ -151,6 +179,7 @@ export default { |
| 151 | 179 | audit: () => this.onAudit(), |
| 152 | 180 | shipmentApply: () => this.onShipmentApply(), |
| 153 | 181 | cancel: () => this.onCancel(), |
| 182 | + upload: () => this.onUpload(), | |
| 154 | 183 | } |
| 155 | 184 | const fn = map[btn.event] |
| 156 | 185 | if (typeof fn === 'function') fn() |
| ... | ... | @@ -206,6 +235,37 @@ export default { |
| 206 | 235 | } |
| 207 | 236 | }) |
| 208 | 237 | }, |
| 238 | + onUpload() { | |
| 239 | + this.$refs.uploadPopup && this.$refs.uploadPopup.open() | |
| 240 | + }, | |
| 241 | + downloadFile, | |
| 242 | + closeUploadInfo() { | |
| 243 | + this.uploadFile = { id: '', name: '' }; | |
| 244 | + this.$refs.uploadPopup && this.$refs.uploadPopup.close() | |
| 245 | + }, | |
| 246 | + async onUploadSave() { | |
| 247 | + console.log('onUploadSave__this.uploadFile', this.uploadFile) | |
| 248 | + if (!this.uploadFile.id) { | |
| 249 | + uni.showToast({ | |
| 250 | + title: '请上传质保书', | |
| 251 | + icon: 'none' | |
| 252 | + }) | |
| 253 | + return | |
| 254 | + } | |
| 255 | + const params = { | |
| 256 | + warrantyCertificateFileId: this.uploadFile.id, | |
| 257 | + warrantyCertificateFileName: this.uploadFile.name, | |
| 258 | + id: this.form.id | |
| 259 | + } | |
| 260 | + try { | |
| 261 | + await uploadWarrantyCertificate(params) | |
| 262 | + uni.showToast({ title: '保存成功', icon: 'success' }) | |
| 263 | + setTimeout(() => { uni.redirectTo({ url: '/pages/order_list/index' }) }, 300) | |
| 264 | + } catch (e) { | |
| 265 | + uni.showToast({ title: (e && e.msg) || '保存失败', icon: 'none' }) | |
| 266 | + } | |
| 267 | + }, | |
| 268 | + | |
| 209 | 269 | loadAllDicData() { |
| 210 | 270 | const dicCodes = ['AUDIT_STATUS', 'SUPPLIER', 'APPLICABLE_STANDARD'] |
| 211 | 271 | return getDicByCodes(dicCodes).then(results => { |
| ... | ... | @@ -472,4 +532,82 @@ export default { |
| 472 | 532 | font-weight: 600; |
| 473 | 533 | } |
| 474 | 534 | } |
| 535 | + | |
| 536 | +.dialog { | |
| 537 | + width: 100%; | |
| 538 | + overflow-y: auto; | |
| 539 | + padding: 32rpx 28rpx calc(20rpx + env(safe-area-inset-bottom)); | |
| 540 | + background: #fff; | |
| 541 | + border-radius: 20rpx 20rpx 0 0; | |
| 542 | + | |
| 543 | + &_header { | |
| 544 | + position: relative; | |
| 545 | + text-align: center; | |
| 546 | + font-size: 34rpx; | |
| 547 | + font-weight: 600; | |
| 548 | + margin-bottom: 12rpx; | |
| 549 | + color: rgba(0, 0, 0, 0.9); | |
| 550 | + } | |
| 551 | + | |
| 552 | + &_body { | |
| 553 | + padding: 12rpx 4rpx 24rpx; | |
| 554 | + max-height: 70vh; | |
| 555 | + overflow-y: auto; | |
| 556 | + | |
| 557 | + } | |
| 558 | + | |
| 559 | + .split_body { | |
| 560 | + max-height: 60vh; | |
| 561 | + } | |
| 562 | + | |
| 563 | + &_footer { | |
| 564 | + padding-top: 12rpx; | |
| 565 | + display: flex; | |
| 566 | + justify-content: center; | |
| 567 | + | |
| 568 | + .btn { | |
| 569 | + width: 100%; | |
| 570 | + height: 80rpx; | |
| 571 | + line-height: 80rpx; | |
| 572 | + border-radius: 12rpx; | |
| 573 | + font-size: 32rpx; | |
| 574 | + background: $theme-primary; | |
| 575 | + color: #fff; | |
| 576 | + | |
| 577 | + &::after { | |
| 578 | + border: none; | |
| 579 | + } | |
| 580 | + } | |
| 581 | + } | |
| 582 | +} | |
| 583 | + | |
| 584 | +.dialog_close { | |
| 585 | + position: absolute; | |
| 586 | + right: 16rpx; | |
| 587 | + top: 0rpx; | |
| 588 | + width: 48rpx; | |
| 589 | + height: 48rpx; | |
| 590 | + background-image: url('~@/static/images/flow/close_icon.png'); | |
| 591 | + background-repeat: no-repeat; | |
| 592 | + background-position: right center; | |
| 593 | + background-size: cover; | |
| 594 | +} | |
| 595 | + | |
| 596 | +.dialog_row { | |
| 597 | + margin-bottom: 24rpx; | |
| 598 | +} | |
| 599 | + | |
| 600 | +.dialog_label { | |
| 601 | + display: block; | |
| 602 | + margin-bottom: 12rpx; | |
| 603 | + font-size: 28rpx; | |
| 604 | + color: rgba(0, 0, 0, 0.9); | |
| 605 | +} | |
| 606 | + | |
| 607 | +.upload-show { | |
| 608 | + margin-top: 8rpx; | |
| 609 | + font-size: 26rpx; | |
| 610 | + color: rgba(0, 0, 0, 0.6); | |
| 611 | +} | |
| 612 | + | |
| 475 | 613 | </style> | ... | ... |
| ... | ... | @@ -72,9 +72,9 @@ |
| 72 | 72 | <uni-easyinput v-model="form.priceListNo" placeholder="请输入价格表编号" :inputBorder="false" /> |
| 73 | 73 | </template> |
| 74 | 74 | </uni-list-item> |
| 75 | - <uni-list-item title="开票情况"> | |
| 75 | + <uni-list-item title="开票要求"> | |
| 76 | 76 | <template v-slot:footer> |
| 77 | - <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票情况" :inputBorder="false" /> | |
| 77 | + <uni-easyinput v-model="form.invoicingStatus" placeholder="请输入开票要求" :inputBorder="false" /> | |
| 78 | 78 | </template> |
| 79 | 79 | </uni-list-item> |
| 80 | 80 | <uni-list-item class="amount-item"> |
| ... | ... | @@ -155,7 +155,7 @@ |
| 155 | 155 | |
| 156 | 156 | </uni-list> |
| 157 | 157 | </scroll-view> |
| 158 | - | |
| 158 | + | |
| 159 | 159 | <SingleSelectSheet :visible.sync="sheet.visible" :title="sheet.title" :options="sheet.options" v-model="sheet.value" |
| 160 | 160 | @confirm="onSheetConfirm" /> |
| 161 | 161 | </view> |
| ... | ... | @@ -230,7 +230,7 @@ export default { |
| 230 | 230 | const m = res.data || {} |
| 231 | 231 | const next = { ...this.form, ...m } |
| 232 | 232 | next.id = m.id || m.code || id |
| 233 | - next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 233 | + next.purchaseOrderLineList = Array.isArray(m.purchaseOrderLineList) ? m.purchaseOrderLineList.map(x => ({ | |
| 234 | 234 | ...x, |
| 235 | 235 | assessmentExceedsAgreement: Number(x.assessmentExceedsAgreement || 0).toFixed(2) || 0.00, |
| 236 | 236 | })) : [] | ... | ... |
| ... | ... | @@ -26,7 +26,7 @@ |
| 26 | 26 | |
| 27 | 27 | <view class="section"> |
| 28 | 28 | <view class="row"><text class="label">价格表编号</text><text class="value">{{ form.priceListNo }}</text></view> |
| 29 | - <view class="row"><text class="label">开票情况</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 29 | + <view class="row"><text class="label">开票要求</text><text class="value">{{ form.invoicingStatus }}</text></view> | |
| 30 | 30 | <view class="row"><text class="label">运费</text><text class="value">{{ form.shippingCost }}</text></view> |
| 31 | 31 | <view class="row"><text class="label">执行标准</text><text class="value">{{ getDicName('APPLICABLE_STANDARD', |
| 32 | 32 | form.executionStandard, dicOptions.APPLICABLE_STANDARD) }}</text></view> | ... | ... |