|
@@ -11,7 +11,7 @@
|
|
|
@cancel="handleCancel"
|
|
|
wrapClassName="ant-modal-cust-warp"
|
|
|
>
|
|
|
- <template slot="footer">
|
|
|
+ <template slot="footer" v-if="!approvalId">
|
|
|
<!--打印-->
|
|
|
<a-button key="back" @click="handleCancel">取消(ESC)</a-button>
|
|
|
<template v-if="isShowPrintBtn">
|
|
@@ -34,7 +34,7 @@
|
|
|
<a-button v-if="billType === '盘点复盘'" v-print="'#stockCheckReplayPrint'">普通打印</a-button>
|
|
|
</template>
|
|
|
<!--导出Excel-->
|
|
|
- <a-button v-if="billType === '零售出库' || billType === '零售退货入库'" @click="retailExportExcel()"
|
|
|
+ <!-- <a-button v-if="billType === '零售出库' || billType === '零售退货入库'" @click="retailExportExcel()"
|
|
|
>导出</a-button
|
|
|
>
|
|
|
<a-button v-if="billType === '请购单'" @click="applyExportExcel()">导出</a-button>
|
|
@@ -52,9 +52,14 @@
|
|
|
<a-button v-if="billType === '其它入库' || billType === '其它出库'" @click="otherExportExcel()">导出</a-button>
|
|
|
<a-button v-if="billType === '调拨出库'" @click="allocationOutExportExcel()">导出</a-button>
|
|
|
<a-button v-if="billType === '组装单' || billType === '拆卸单'" @click="assembleExportExcel()">导出</a-button>
|
|
|
- <a-button v-if="billType === '盘点复盘'" @click="stockCheckReplayExportExcel()">导出</a-button>
|
|
|
+ <a-button v-if="billType === '盘点复盘'" @click="stockCheckReplayExportExcel()">导出</a-button> -->
|
|
|
<!--反审核-->
|
|
|
- <a-button v-if="checkFlag && isCanBackCheck && model.status === '1'" @click="handleBackCheck()">反审核</a-button>
|
|
|
+ <!-- <a-button v-if="checkFlag && isCanBackCheck && model.status === '1'" @click="handleBackCheck()">反审核</a-button> -->
|
|
|
+ </template>
|
|
|
+ <template slot="footer" v-else>
|
|
|
+ <a-button v-if="!approvalIsReadonly" :loading="confirmLoading" @click="submitApproval(2)">审核不通过</a-button>
|
|
|
+ <a-button type="primary" v-if="!approvalIsReadonly" :loading="confirmLoading" @click="submitApproval(1)">审核通过</a-button>
|
|
|
+ <a-button key="back" v-if="approvalIsReadonly" @click="handleCancel">取消(ESC)</a-button>
|
|
|
</template>
|
|
|
<a-form :form="form">
|
|
|
<!--零售出库-->
|
|
@@ -1902,7 +1907,7 @@
|
|
|
<a-col :span="14"></a-col>
|
|
|
</a-row>
|
|
|
</template>
|
|
|
- <template v-if="fileList && fileList.length > 0">
|
|
|
+ <template v-if="voucherPictureList && voucherPictureList.length > 0">
|
|
|
<a-row class="form-row" :gutter="24">
|
|
|
<a-col :span="10">
|
|
|
<a-form-item
|
|
@@ -1917,6 +1922,22 @@
|
|
|
</a-row>
|
|
|
</template>
|
|
|
</a-form>
|
|
|
+ <!-- 审批历史 -->
|
|
|
+ <section v-if="approvalId">
|
|
|
+ <h4 class="block-title">审批历史</h4>
|
|
|
+ <a-table
|
|
|
+ size="middle"
|
|
|
+ bordered
|
|
|
+ rowKey="id"
|
|
|
+ :pagination="false"
|
|
|
+ :loading="approval.loading"
|
|
|
+ :columns="approval.columns"
|
|
|
+ :rowClassName="rowClassName"
|
|
|
+ :dataSource="approval.dataSource"
|
|
|
+ :scroll="{ x: '100%' }"
|
|
|
+ ></a-table>
|
|
|
+ <a-textarea :rows="1" placeholder="审核备注" v-model="auditComment" v-if="!approvalIsReadonly" style="margin-top: 8px" />
|
|
|
+ </section>
|
|
|
<bill-print-iframe ref="modalDetail"></bill-print-iframe>
|
|
|
<financial-detail ref="financialDetailModal"></financial-detail>
|
|
|
</j-modal>
|
|
@@ -1936,7 +1957,8 @@ import BillPrintIframe from './BillPrintIframe'
|
|
|
import FinancialDetail from '../../financial/dialog/FinancialDetail'
|
|
|
import JUpload from '@/components/jeecg/JUpload'
|
|
|
import JEllipsis from '@/components/jeecg/JEllipsis'
|
|
|
-import Vue from 'vue'
|
|
|
+import Vue, { isReadonly } from 'vue'
|
|
|
+import { mapGetters } from 'vuex'
|
|
|
// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
|
// import QrcodeVue from 'qrcode.vue'
|
|
|
// import VueQr from 'vue-qr'
|
|
@@ -1952,6 +1974,9 @@ export default {
|
|
|
JEllipsis
|
|
|
// VueQr,
|
|
|
},
|
|
|
+ computed:{
|
|
|
+ ...mapGetters(['username'])
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
title: '详情',
|
|
@@ -2014,7 +2039,6 @@ export default {
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '批号', dataIndex: 'batchNumber' },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
|
{ title: '金额', dataIndex: 'allPrice' },
|
|
@@ -2037,7 +2061,6 @@ export default {
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '批号', dataIndex: 'batchNumber' },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
|
{ title: '金额', dataIndex: 'allPrice' },
|
|
@@ -2055,7 +2078,6 @@ export default {
|
|
|
{ title: '制造商', dataIndex: 'mfrs' },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther' },
|
|
|
{ title: '单位', dataIndex: 'unit' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '已采购', dataIndex: 'finishNumber' },
|
|
|
{ title: '备注', dataIndex: 'remark' },
|
|
@@ -2076,11 +2098,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '入库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '已入库', dataIndex: 'finishNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
@@ -2110,11 +2131,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '入库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '已入库', dataIndex: 'finishNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
@@ -2142,7 +2162,6 @@ export default {
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '批号', dataIndex: 'batchNumber' },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '已出库', dataIndex: 'finishNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
@@ -2170,11 +2189,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '出库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '已出库', dataIndex: 'finishNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
@@ -2204,11 +2222,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '出库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '已出库', dataIndex: 'finishNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
@@ -2236,7 +2253,6 @@ export default {
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '批号', dataIndex: 'batchNumber' },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '已入库', dataIndex: 'finishNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
@@ -2265,11 +2281,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '入库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
|
{ title: '金额', dataIndex: 'allPrice', width: 90 },
|
|
@@ -2292,11 +2307,10 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
{ title: '序列号', dataIndex: 'snList', width: 300 },
|
|
|
{ title: '有效期', dataIndex: 'expirationDate', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku', width: 90 },
|
|
|
{ title: '出库数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
|
{ title: '金额', dataIndex: 'allPrice', width: 90 },
|
|
@@ -2323,10 +2337,9 @@ export default {
|
|
|
{ title: '品牌', dataIndex: 'brand', width: 90 },
|
|
|
{ title: '制造商', dataIndex: 'mfrs', width: 90 },
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther', width: 90 },
|
|
|
- { title: '库存', dataIndex: 'inventory', width: 90 },
|
|
|
+ { title: '库存', dataIndex: 'stock', width: 90 },
|
|
|
{ title: '调入仓库', dataIndex: 'anotherDepotName' },
|
|
|
{ title: '单位', dataIndex: 'unit', width: 90 },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber', width: 90 },
|
|
|
{ title: '单价', dataIndex: 'unitPrice', width: 90 },
|
|
|
{ title: '金额', dataIndex: 'allPrice', width: 90 },
|
|
@@ -2351,7 +2364,6 @@ export default {
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther' },
|
|
|
{ title: '库存', dataIndex: 'stock' },
|
|
|
{ title: '单位', dataIndex: 'unit' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
|
{ title: '金额', dataIndex: 'allPrice' },
|
|
@@ -2370,7 +2382,6 @@ export default {
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther' },
|
|
|
{ title: '库存', dataIndex: 'stock' },
|
|
|
{ title: '单位', dataIndex: 'unit' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
|
{ title: '金额', dataIndex: 'allPrice' },
|
|
@@ -2387,12 +2398,43 @@ export default {
|
|
|
{ title: '扩展信息', dataIndex: 'materialOther' },
|
|
|
{ title: '库存', dataIndex: 'stock' },
|
|
|
{ title: '单位', dataIndex: 'unit' },
|
|
|
- { title: '多属性', dataIndex: 'sku' },
|
|
|
{ title: '数量', dataIndex: 'operNumber' },
|
|
|
{ title: '单价', dataIndex: 'unitPrice' },
|
|
|
{ title: '金额', dataIndex: 'allPrice' },
|
|
|
{ title: '备注', dataIndex: 'remark' },
|
|
|
],
|
|
|
+
|
|
|
+ // 审批历史
|
|
|
+ confirmLoading: false,
|
|
|
+ approvalId: null,
|
|
|
+ approvalIsReadonly: false,
|
|
|
+ approval:{
|
|
|
+ loading:false,
|
|
|
+ columns:[
|
|
|
+ { title: '审核时间', dataIndex: 'auditTime' },
|
|
|
+ { title: '审核环节', dataIndex: 'nodeOrder',customRender(text,record,index){
|
|
|
+ if(index===0){
|
|
|
+ return text
|
|
|
+ }
|
|
|
+ return `审批节点${text}`
|
|
|
+ } },
|
|
|
+ { title: '审批人', dataIndex: 'auditorName' },
|
|
|
+ { title: '审核动作', dataIndex: 'auditResult',customRender(text,record,index){
|
|
|
+ if(index===0){
|
|
|
+ return text
|
|
|
+ }
|
|
|
+ if(text==1){
|
|
|
+ return '审批通过'
|
|
|
+ }else if(text==2){
|
|
|
+ return '审批不通过'
|
|
|
+ }
|
|
|
+ return ''
|
|
|
+ } },
|
|
|
+ { title: '备注', dataIndex: 'auditComment' },
|
|
|
+ ],
|
|
|
+ dataSource:[]
|
|
|
+ },
|
|
|
+ auditComment: ''
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -2598,7 +2640,14 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- show(record, type, prefixNo) {
|
|
|
+ rowClassName(record,index){
|
|
|
+ if(this.username===record.auditorName){
|
|
|
+ return 'red-row'
|
|
|
+ }
|
|
|
+ return ''
|
|
|
+ },
|
|
|
+ show(record, type, prefixNo, approvalRow=null) {
|
|
|
+ console.log('this.username',this.username)
|
|
|
//查询单条单据信息
|
|
|
findBillDetailByNumber({ number: record.number }).then((res) => {
|
|
|
console.log('findBillDetailByNumber-----------',res)
|
|
@@ -2617,12 +2666,6 @@ export default {
|
|
|
} else {
|
|
|
this.model.getAmount = this.model.changeAmount
|
|
|
}
|
|
|
- // this.model.debt = (
|
|
|
- // this.model.discountLastMoney +
|
|
|
- // this.model.otherMoney -
|
|
|
- // (this.model.deposit + this.model.changeAmount)
|
|
|
- // ).toFixed(2)
|
|
|
- this.model.debt = item.debt
|
|
|
this.$nextTick(() => {
|
|
|
this.form.setFieldsValue(pick(this.model, 'id'))
|
|
|
})
|
|
@@ -2661,6 +2704,22 @@ export default {
|
|
|
this.getFinancialBillNoByBillId(this.model.id)
|
|
|
}
|
|
|
})
|
|
|
+ //审批历史
|
|
|
+ if(approvalRow&&approvalRow.id){
|
|
|
+ this.approvalId = approvalRow.id
|
|
|
+ getAction('/audit/auditHistory',{id:approvalRow.id}).then(res => {
|
|
|
+ const list = res.data
|
|
|
+ list.unshift({
|
|
|
+ auditTime: approvalRow.submitTime,
|
|
|
+ nodeOrder: '开始',
|
|
|
+ auditorName: approvalRow.initiatorName,
|
|
|
+ auditResult: '提交审批',
|
|
|
+ auditComment: '',
|
|
|
+ })
|
|
|
+ this.approval.dataSource = list
|
|
|
+ console.log('approvalRow=====',approvalRow)
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
requestSubTableData(record, type, url, params, success) {
|
|
|
this.loading = true
|
|
@@ -2705,6 +2764,9 @@ export default {
|
|
|
this.$emit('close')
|
|
|
this.visible = false
|
|
|
this.modalStyle = ''
|
|
|
+ this.approvalId = null
|
|
|
+ this.approvalIsReadonly = false
|
|
|
+ this.approval.dataSource = []
|
|
|
},
|
|
|
myHandleDetail(billNumber) {
|
|
|
findBillDetailByNumber({ number: billNumber }).then((res) => {
|
|
@@ -3059,6 +3121,25 @@ export default {
|
|
|
let columnsStr = checkedValues.join()
|
|
|
Vue.ls.set(`${this.prefixNo}_XQ`, columnsStr)
|
|
|
},
|
|
|
+ submitApproval(status){
|
|
|
+ const params = {
|
|
|
+ id: this.approvalId,
|
|
|
+ status,
|
|
|
+ auditComment: this.auditComment
|
|
|
+ }
|
|
|
+ this.confirmLoading = true
|
|
|
+ postAction('/audit/setStatus',params).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if(res.code==200&&res.data){
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ this.handleCancel()
|
|
|
+ }else{
|
|
|
+ this.$message.error(res.msg||'操作失败')
|
|
|
+ }
|
|
|
+ }).finally(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
@@ -3081,4 +3162,12 @@ export default {
|
|
|
.table-operator {
|
|
|
margin-bottom: 18px;
|
|
|
}
|
|
|
+
|
|
|
+.block-title{
|
|
|
+ font-size: 16px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
+::v-deep .red-row{
|
|
|
+ color: #f5222d;
|
|
|
+}
|
|
|
</style>
|