版本修改
This commit is contained in:
parent
dcfd44da94
commit
54f1af048d
11
index.html
11
index.html
@ -17,16 +17,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script type="text/javascript">
|
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function () {
|
|
||||||
var hm = document.createElement('script');
|
|
||||||
hm.src = 'https://hm.baidu.com/hm.js?d9c8b87d10717013641458b300c552e4';
|
|
||||||
var s = document.getElementsByTagName('script')[0];
|
|
||||||
s.parentNode.insertBefore(hm, s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=wsijQt8sLXrCW71YesmispvYHitfG9gv&s=1"></script>
|
<!-- <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=wsijQt8sLXrCW71YesmispvYHitfG9gv&s=1"></script>-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -103,5 +103,13 @@ export function listApi() {
|
|||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
//采购信息
|
||||||
|
getFPurchaseOrgList: (data: object) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/Admin/Login/GetFPurchaseOrgList',
|
||||||
|
method: 'get',
|
||||||
|
params:data,
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -23,5 +23,13 @@ export function useLoginApi() {
|
|||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
//获取用户信息
|
||||||
|
getAccountInfo: (data: object) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/Admin/Login/GetAccountInfo',
|
||||||
|
method: 'get',
|
||||||
|
params:data,
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ export default {
|
|||||||
items: 'items',
|
items: 'items',
|
||||||
proceed: 'proceed',
|
proceed: 'proceed',
|
||||||
date: 'Date',
|
date: 'Date',
|
||||||
|
date1: 'Date',
|
||||||
status: 'Status',
|
status: 'Status',
|
||||||
unclosed: 'Unclosed',
|
unclosed: 'Unclosed',
|
||||||
partNumber: 'Part Number',
|
partNumber: 'Part Number',
|
||||||
@ -55,9 +56,12 @@ export default {
|
|||||||
passwordChangedFailed:'Password changed failed',
|
passwordChangedFailed:'Password changed failed',
|
||||||
shipmentQTY:'Shipment QTY',
|
shipmentQTY:'Shipment QTY',
|
||||||
invoiceNumber:'Invoice number',
|
invoiceNumber:'Invoice number',
|
||||||
|
invoiceNumber1:'Invoice #',
|
||||||
deliveryNote1:'Delivery Note',
|
deliveryNote1:'Delivery Note',
|
||||||
deliveryNoteNumber:'Delivery Note Number',
|
deliveryNoteNumber:'Delivery Note Number',
|
||||||
|
deliveryNoteNumber1:'GRN #',
|
||||||
PO:'PO #',
|
PO:'PO #',
|
||||||
|
PO1:'PO #',
|
||||||
shipper:'Shipper',
|
shipper:'Shipper',
|
||||||
year:'Year',
|
year:'Year',
|
||||||
month:'Mnth',
|
month:'Mnth',
|
||||||
@ -69,6 +73,7 @@ export default {
|
|||||||
success:'Success',
|
success:'Success',
|
||||||
copy:'Copy',
|
copy:'Copy',
|
||||||
deleteText:'Delete',
|
deleteText:'Delete',
|
||||||
scqd:'Please confirm the deletion of the delivery note?'
|
scqd:'Please confirm the deletion of the delivery note?',
|
||||||
|
receiver:'Receiver'
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -16,6 +16,7 @@ export default {
|
|||||||
items: '条数据',
|
items: '条数据',
|
||||||
proceed: '去查看',
|
proceed: '去查看',
|
||||||
date: '日期',
|
date: '日期',
|
||||||
|
date1: '采购日期',
|
||||||
status: '关闭状态',
|
status: '关闭状态',
|
||||||
unclosed: '未关闭',
|
unclosed: '未关闭',
|
||||||
partNumber: '物料编码',
|
partNumber: '物料编码',
|
||||||
@ -23,15 +24,16 @@ export default {
|
|||||||
unit: '采购单位',
|
unit: '采购单位',
|
||||||
unit1: '单位',
|
unit1: '单位',
|
||||||
qty: '采购数量',
|
qty: '采购数量',
|
||||||
requestDate: '交货日期',
|
requestDate: '需求日期',
|
||||||
receivedQTY: '累计已送货数量',
|
receivedQTY: '累计已送货数量',
|
||||||
unreceivedQTY: '未发货数量',
|
unreceivedQTY: '未发货数量',
|
||||||
earliestDeliveryDate: '供应商承诺交期',
|
earliestDeliveryDate: '供应商承诺交期',
|
||||||
latestDeliveryDate: '供应商承诺交期',
|
latestDeliveryDate: '供应商承诺最新交期',
|
||||||
view: '查看',
|
view: '查看',
|
||||||
batchUpdateEarliestDeliveryDate: '批量修改选中承诺日期',
|
batchUpdateEarliestDeliveryDate: '批量修改选中承诺日期',
|
||||||
batchUpdateLatestDeliveryDate: '批量修改选中承诺最新交期',
|
batchUpdateLatestDeliveryDate: '批量修改选中承诺最新交期',
|
||||||
specification: '物料规格',
|
specification: '物料规格',
|
||||||
|
xsddh:'销售订单号',
|
||||||
|
|
||||||
/*发货订单及其明细*/
|
/*发货订单及其明细*/
|
||||||
startDate: '开始送货日期',
|
startDate: '开始送货日期',
|
||||||
@ -56,9 +58,12 @@ export default {
|
|||||||
prompt:'提示',
|
prompt:'提示',
|
||||||
pleaseConfirmTheDateChange:'是否修改此项日期',
|
pleaseConfirmTheDateChange:'是否修改此项日期',
|
||||||
invoiceNumber:'发票号',
|
invoiceNumber:'发票号',
|
||||||
|
invoiceNumber1:'发票号',
|
||||||
deliveryNote1:'采购送货单',
|
deliveryNote1:'采购送货单',
|
||||||
deliveryNoteNumber:'收料通知单编号(送货单号)',
|
deliveryNoteNumber:'收料通知单编号(送货单号)',
|
||||||
|
deliveryNoteNumber1:'收料通知单编号',
|
||||||
PO:'PO号',
|
PO:'PO号',
|
||||||
|
PO1:'采购订单号',
|
||||||
shipper:'送货人',
|
shipper:'送货人',
|
||||||
year:'年',
|
year:'年',
|
||||||
month:'月',
|
month:'月',
|
||||||
@ -70,6 +75,7 @@ export default {
|
|||||||
success:'成功',
|
success:'成功',
|
||||||
copy:'复制',
|
copy:'复制',
|
||||||
deleteText:'删除',
|
deleteText:'删除',
|
||||||
scqd:'确定要删除该条送货单?'
|
scqd:'确定要删除该条送货单?',
|
||||||
|
receiver:'接收人',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -109,12 +109,14 @@ const onSignIn = () => {
|
|||||||
passWord: state.ruleForm.password,
|
passWord: state.ruleForm.password,
|
||||||
}).then( async (res:any) => {
|
}).then( async (res:any) => {
|
||||||
state.loading.signIn = false;
|
state.loading.signIn = false;
|
||||||
console.log(res)
|
useLoginApi().getAccountInfo({}).then((resUser:any) => {
|
||||||
|
Local.set('setUserInfo',resUser.data);
|
||||||
|
Cookies.set('userName', resUser.data.name);
|
||||||
|
})
|
||||||
if(res.data !== null){
|
if(res.data !== null){
|
||||||
// 存储 token 到浏览器缓存
|
// 存储 token 到浏览器缓存
|
||||||
Session.set('token', res.data);
|
Session.set('token', res.data);
|
||||||
// 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据)
|
// 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据)
|
||||||
Cookies.set('userName', state.ruleForm.userName);
|
|
||||||
if (!themeConfig.value.isRequestRoutes) {
|
if (!themeConfig.value.isRequestRoutes) {
|
||||||
// 前端控制路由,2、请注意执行顺序
|
// 前端控制路由,2、请注意执行顺序
|
||||||
const isNoPower = await initFrontEndControlRoutes();
|
const isNoPower = await initFrontEndControlRoutes();
|
||||||
@ -126,6 +128,7 @@ const onSignIn = () => {
|
|||||||
// 执行完 initBackEndControlRoutes,再执行 signInSuccess
|
// 执行完 initBackEndControlRoutes,再执行 signInSuccess
|
||||||
signInSuccess(isNoPower);
|
signInSuccess(isNoPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -15,16 +15,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btnList">
|
<div class="btnList">
|
||||||
<el-button type="primary" @click="handlePrint">打印</el-button>
|
<el-button type="primary" @click="handlePrint">打印</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, reactive, ref, nextTick, defineEmits } from 'vue';
|
import { defineProps, reactive, ref, defineEmits } from 'vue';
|
||||||
import VueQr from 'vue-qr/src/packages/vue-qr.vue';
|
import VueQr from 'vue-qr/src/packages/vue-qr.vue';
|
||||||
import printJS from 'print-js';
|
import printJS from 'print-js';
|
||||||
|
import html2canvas from "html2canvas";
|
||||||
const typefaceBoxRef = ref();
|
const typefaceBoxRef = ref();
|
||||||
const emits = defineEmits(['close']);
|
const emits = defineEmits(['close']);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -42,17 +42,23 @@ const props = defineProps({
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
snapshotUrl: '',
|
snapshotUrl: '',
|
||||||
});
|
});
|
||||||
const handlePrint = () => {
|
const handlePrint = async () => {
|
||||||
|
const canvas = await html2canvas(typefaceBoxRef.value, {
|
||||||
|
allowTaint: true, // 允许跨域图片
|
||||||
|
useCORS: true, // 使用 CORS 加载图片
|
||||||
|
scale: 2, // 提高截图分辨率
|
||||||
|
width: typefaceBoxRef.value.clientWidth,
|
||||||
|
height: typefaceBoxRef.value.clientHeight,
|
||||||
|
});
|
||||||
|
state.snapshotUrl = canvas.toDataURL('image/png');
|
||||||
// 获取打印模板的DOM元素
|
// 获取打印模板的DOM元素
|
||||||
const printElement = document.getElementById('printTemplate');
|
const printElement = document.getElementById('printTemplate');
|
||||||
if (printElement) {
|
if (printElement) {
|
||||||
printJS({
|
printJS({
|
||||||
printable: printElement,
|
printable: state.snapshotUrl,
|
||||||
type: 'html',
|
type: 'image',
|
||||||
targetStyles: ['*'],
|
|
||||||
style: `
|
style: `
|
||||||
@page { size: 100mm 52mm landscapes; margin: 0; }
|
@page { size: 100mm 50mm landscapes; margin: 0; }
|
||||||
|
|
||||||
`,
|
`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2,18 +2,24 @@
|
|||||||
<div class="orderPrinting" ref="orderPrintingRef">
|
<div class="orderPrinting" ref="orderPrintingRef">
|
||||||
<div class="title">{{ t('message.index.deliveryNote1') }}</div>
|
<div class="title">{{ t('message.index.deliveryNote1') }}</div>
|
||||||
<div class="orderPrintingTop">
|
<div class="orderPrintingTop">
|
||||||
<div class="item item1">
|
<div class="item item1" style="">
|
||||||
<VueQr style="width: 150px; height: 150px" :text="state.pageData.fBillNo" :size="150"></VueQr>
|
<div>{{ t('message.index.deliveryNoteNumber1') }}</div>
|
||||||
|
<VueQr style="width: 130px; height: 130px" :text="state.pageData.fBillNo" :size="130"></VueQr>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item2">
|
<div class="item item2">
|
||||||
<div class="dataText">
|
<div class="dataText">
|
||||||
<span class="span1">{{ t('message.index.deliveryNoteNumber') }}:</span>
|
<span class="span1">{{ t('message.index.deliveryNoteNumber') }}:</span>
|
||||||
<span class="span2">{{ state.pageData.fBillNo }}</span>
|
<span class="span2">{{ state.pageData.fBillNo }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="dataText">
|
||||||
|
<span class="span1">客户:</span>
|
||||||
|
<span class="span2">{{ state.pageData.fBillNo }}</span>
|
||||||
|
</div>
|
||||||
<div class="dataText">
|
<div class="dataText">
|
||||||
<span class="span1">{{ t('message.index.supplierName') }}:</span>
|
<span class="span1">{{ t('message.index.supplierName') }}:</span>
|
||||||
<span class="span2">{{ state.pageData.supplierName }}</span>
|
<span class="span2">{{ state.pageData.supplierName }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="dataText">
|
<div class="dataText">
|
||||||
<span class="span1">{{ t('message.index.deliveryDate') }}:</span>
|
<span class="span1">{{ t('message.index.deliveryDate') }}:</span>
|
||||||
<span class="span2">{{ state.pageData.deliveryDate }}</span>
|
<span class="span2">{{ state.pageData.deliveryDate }}</span>
|
||||||
@ -24,17 +30,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item3">
|
<div class="item item3">
|
||||||
<VueQr style="width: 150px; height: 150px" :text="state.pageData.f_VHUB_Text" :size="150"></VueQr>
|
<div>{{ t('message.index.invoiceNumber1') }}</div>
|
||||||
|
<VueQr style="width: 130px; height: 130px" :text="state.pageData.f_VHUB_Text" :size="130"></VueQr>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<avue-crud ref="crudRef" :data="props.data" :option="state.option"></avue-crud>
|
<avue-crud ref="crudRef" :data="props.data" :option="state.option"></avue-crud>
|
||||||
<div class="shuming">
|
<div class="shuming">
|
||||||
<div class="nameText">{{ t('message.index.shipper') }}:</div>
|
<div>
|
||||||
<div class="dateTime">
|
<div class="nameText">{{ t('message.index.shipper') }}:</div>
|
||||||
<span>{{ t('message.index.year') }}</span>
|
<div class="dateTime">
|
||||||
<span>{{ t('message.index.month') }}</span>
|
<span>{{ t('message.index.year') }}</span>
|
||||||
<span>{{ t('message.index.day') }}</span>
|
<span>{{ t('message.index.month') }}</span>
|
||||||
</div>
|
<span>{{ t('message.index.day') }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="nameText">{{ t('message.index.receiver') }}:</div>
|
||||||
|
<div class="dateTime">
|
||||||
|
<span>{{ t('message.index.year') }}</span>
|
||||||
|
<span>{{ t('message.index.month') }}</span>
|
||||||
|
<span>{{ t('message.index.day') }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -104,9 +121,14 @@ defineExpose({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
:deep(.el-form){
|
||||||
|
border-right: 0 !important;
|
||||||
|
}
|
||||||
.shuming {
|
.shuming {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: right;
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
//text-align: left;
|
||||||
}
|
}
|
||||||
.nameText {
|
.nameText {
|
||||||
margin-right: 120px;
|
margin-right: 120px;
|
||||||
@ -186,7 +208,7 @@ defineExpose({
|
|||||||
|
|
||||||
.dataText {
|
.dataText {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 8px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
11
src/views/materialReceiptNotice/componentPrinting.vue
Normal file
11
src/views/materialReceiptNotice/componentPrinting.vue
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
|
||||||
|
</style>
|
@ -15,6 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #deliveryDate="{ row }">{{ row.ifHidden === 0 ? row.deliveryDate : '' }}</template>
|
<template #deliveryDate="{ row }">{{ row.ifHidden === 0 ? row.deliveryDate : '' }}</template>
|
||||||
|
<template #purchaseOrderFBillNo="{ row }">{{ row.ifHidden === 0 ? row.purchaseOrderFBillNo : '' }}</template>
|
||||||
<template #sheet="{ row }">{{ row.ifHidden === 0 ? row.sheet : '' }}</template>
|
<template #sheet="{ row }">{{ row.ifHidden === 0 ? row.sheet : '' }}</template>
|
||||||
<template #materialName="{ row }">
|
<template #materialName="{ row }">
|
||||||
<el-tooltip :content="row.materialName" placement="top">
|
<el-tooltip :content="row.materialName" placement="top">
|
||||||
@ -25,7 +26,7 @@
|
|||||||
<el-tooltip :content="row.supplierName" placement="top">
|
<el-tooltip :content="row.supplierName" placement="top">
|
||||||
<div class="multi-line-omit">{{ row.supplierName }}</div>
|
<div class="multi-line-omit">{{ row.supplierName }}</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>43
|
||||||
<template #menu-left>
|
<template #menu-left>
|
||||||
<div class="selectBoxes">
|
<div class="selectBoxes">
|
||||||
<div class="selectItem">
|
<div class="selectItem">
|
||||||
@ -54,7 +55,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #print="{ row }">
|
<template #print="{ row }">
|
||||||
<div class="btnList">
|
<div class="btnList">
|
||||||
<el-button type="text" @click="barCodeFunDataRow(row)">{{ t('message.index.print') }}</el-button>
|
<el-button v-if="row.ifHidden === 0" type="text" @click="barCodeFunDataRow(row)">{{ t('message.index.print') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #deleteText="{ row }">
|
<template #deleteText="{ row }">
|
||||||
@ -64,7 +65,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #menu="{ row }">
|
<template #menu="{ row }">
|
||||||
<div class="btnList">
|
<div class="btnList">
|
||||||
<el-button type="text" @click="barCodeFunDataRow(row)">{{ t('message.index.print') }}</el-button>
|
<el-button type="text" @click="barCodeFunDataRow(row)">{{ t('message.index.print') }}</el-button >
|
||||||
<el-button v-if="row.ifHidden === 0" type="text" @click="invoiceOrderDeleteOrderFun(row)">{{ t('message.index.deleteText') }}</el-button>
|
<el-button v-if="row.ifHidden === 0" type="text" @click="invoiceOrderDeleteOrderFun(row)">{{ t('message.index.deleteText') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -73,18 +74,14 @@
|
|||||||
<selectedData
|
<selectedData
|
||||||
:listData="state.selectedData"
|
:listData="state.selectedData"
|
||||||
:showes="state.selectedDataShow"
|
:showes="state.selectedDataShow"
|
||||||
@close="
|
@close="() => { state.selectedDataShow = false; }"
|
||||||
() => {
|
|
||||||
state.selectedDataShow = false;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<barCode :showes="state.barCodeShow" :data="state.barCodeItem" @close="() => { state.barCodeShow = false }"/>
|
<barCode :showes="state.barCodeShow" :data="state.barCodeItem" @close="() => { state.barCodeShow = false }"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { reactive, onMounted, computed, nextTick, ref } from 'vue';
|
import { reactive, onMounted, computed, ref } from 'vue';
|
||||||
import { listApi } from '../../api/list/index';
|
import { listApi } from '../../api/list/index';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import SelectedData from '/@/views/materialReceiptNotice/selectedData.vue';
|
import SelectedData from '/@/views/materialReceiptNotice/selectedData.vue';
|
||||||
@ -115,15 +112,16 @@ const state = reactive({
|
|||||||
column: [
|
column: [
|
||||||
{ label: '', prop: 'checkboxBox', width: 35 },
|
{ label: '', prop: 'checkboxBox', width: 35 },
|
||||||
{ label: computed(()=> t('message.index.deliveryDate')), prop: 'deliveryDate' },
|
{ label: computed(()=> t('message.index.deliveryDate')), prop: 'deliveryDate' },
|
||||||
{ label: computed(()=> t('message.index.deliveryDate')), prop: 'sheet', width: '135' },
|
{ label: computed(()=> t('message.index.deliveryNote')), prop: 'sheet', width: '135' },
|
||||||
|
{ label: computed(()=> t('message.index.PO1')), prop: 'purchaseOrderFBillNo', width: '135' },
|
||||||
{ label: computed(()=> t('message.index.maxcessLot')), prop: 'mssSupplierLot' },
|
{ label: computed(()=> t('message.index.maxcessLot')), prop: 'mssSupplierLot' },
|
||||||
{ label: computed(()=> t('message.index.supplierLot')), prop: 'fSupplierLot' },
|
{ label: computed(()=> t('message.index.supplierLot')), prop: 'fSupplierLot' },
|
||||||
{ label: computed(()=> t('message.index.partNumber')), prop: 'materialCode', width: '120' },
|
{ label: computed(()=> t('message.index.partNumber')), prop: 'materialCode', width: '120' },
|
||||||
{ label: computed(()=> t('message.index.materialName')), prop: 'materialName' },
|
{ label: computed(()=> t('message.index.materialName')), prop: 'materialName' },
|
||||||
{ label: computed(() => t('message.index.supplierCode')), prop: 'supplierId', width: '90' },
|
{ label: computed(() => t('message.index.supplierCode')), prop: 'supplierId', width: '90' },
|
||||||
{ label: computed(() => t('message.index.supplierName')), prop: 'supplierName', width: '120' },
|
{ label: computed(() => t('message.index.supplierName')), prop: 'supplierName', width: '120' },
|
||||||
{ label: computed(() => t('message.index.receivedQTY')), prop: 'sendedQty', width: '110' },
|
// { label: computed(() => t('message.index.receivedQTY')), prop: 'sendedQty', width: '110' },
|
||||||
{ label: computed(() => t('message.index.deliveryQTY')), prop: 'qty' },
|
{ label: computed(() => t('message.index.shipmentQTY')), prop: 'qty' },
|
||||||
{ label: computed(() => t('message.index.POQTY')), prop: 'purchaseQty' },
|
{ label: computed(() => t('message.index.POQTY')), prop: 'purchaseQty' },
|
||||||
{ label: computed(() => t('message.index.unit')), prop: 'unitName' },
|
{ label: computed(() => t('message.index.unit')), prop: 'unitName' },
|
||||||
{ label: computed(() => t('message.index.print')), prop: 'print',width: 80 },
|
{ label: computed(() => t('message.index.print')), prop: 'print',width: 80 },
|
||||||
@ -150,7 +148,7 @@ const elDatePickerFun = (val: any) => {
|
|||||||
state.formData.fDateBegin = val[0];
|
state.formData.fDateBegin = val[0];
|
||||||
state.formData.fDateEmd = val[1];
|
state.formData.fDateEmd = val[1];
|
||||||
};
|
};
|
||||||
const invoiceOrderDeleteOrderFun = (row) => {
|
const invoiceOrderDeleteOrderFun = (row:any) => {
|
||||||
ElMessageBox({
|
ElMessageBox({
|
||||||
closeOnClickModal: false,
|
closeOnClickModal: false,
|
||||||
closeOnPressEscape: false,
|
closeOnPressEscape: false,
|
||||||
@ -168,7 +166,6 @@ const invoiceOrderDeleteOrderFun = (row) => {
|
|||||||
getList()
|
getList()
|
||||||
if(res.resultCode === 0){
|
if(res.resultCode === 0){
|
||||||
ElMessage.success(t('message.index.success'))
|
ElMessage.success(t('message.index.success'))
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@ -206,7 +203,7 @@ const selectionChange = (row: any) => {
|
|||||||
state.selectedData = [];
|
state.selectedData = [];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const barCodeFunDataRow = (row) => {
|
const barCodeFunDataRow = (row:any) => {
|
||||||
state.barCodeItem = row
|
state.barCodeItem = row
|
||||||
state.barCodeShow = true
|
state.barCodeShow = true
|
||||||
}
|
}
|
||||||
@ -257,38 +254,25 @@ onMounted(() => {});
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
//.el-checkbox__inner:nth-child(1){
|
|
||||||
// display: none;
|
|
||||||
//}
|
|
||||||
:deep(.el-checkbox--default):nth-child(0) {
|
:deep(.el-checkbox--default):nth-child(0) {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-checkbox) {
|
:deep(.el-checkbox) {
|
||||||
height: 15px !important;
|
height: 15px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.cell) {
|
:deep(.cell) {
|
||||||
padding: 0 8px !important;
|
padding: 0 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.avue-crud__left) {
|
:deep(.avue-crud__left) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-button--text) {
|
:deep(.el-button--text) {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.avue-crud__refreshBtn) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.avue-crud__gridBtn) {
|
:deep(.avue-crud__gridBtn) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.piliang {
|
.piliang {
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
border: 1px solid #d5d5d5;
|
border: 1px solid #d5d5d5;
|
||||||
@ -299,11 +283,9 @@ onMounted(() => {});
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.system-user-container {
|
.system-user-container {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.multi-line-omit {
|
.multi-line-omit {
|
||||||
word-break: break-all; // 允许单词内自动换行,如果一个单词很长的话
|
word-break: break-all; // 允许单词内自动换行,如果一个单词很长的话
|
||||||
text-overflow: ellipsis; // 溢出用省略号显示
|
text-overflow: ellipsis; // 溢出用省略号显示
|
||||||
@ -312,56 +294,45 @@ onMounted(() => {});
|
|||||||
-webkit-line-clamp: 1; // 显示的行
|
-webkit-line-clamp: 1; // 显示的行
|
||||||
-webkit-box-orient: vertical; // 设置伸缩盒子的子元素排列方式--从上到下垂直排列
|
-webkit-box-orient: vertical; // 设置伸缩盒子的子元素排列方式--从上到下垂直排列
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectBoxes {
|
.selectBoxes {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
||||||
.selectItem {
|
.selectItem {
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.avue-crud) {
|
:deep(.avue-crud) {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.avue-crud--card) {
|
:deep(.avue-crud--card) {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.avue-crud__body) {
|
:deep(.avue-crud__body) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-table__header) {
|
:deep(.el-table__header) {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-card__body) {
|
:deep(.el-card__body) {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-table__cell) {
|
:deep(.el-table__cell) {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
//height: 56px !important;
|
//height: 56px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-card) {
|
:deep(.el-card) {
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-form) {
|
:deep(.el-form) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.system-user-container {
|
.system-user-container {
|
||||||
:deep(.el-card__body) {
|
:deep(.el-card__body) {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -374,7 +345,6 @@ onMounted(() => {});
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-col) {
|
:deep(.el-col) {
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
<div ref="ceshiRef">
|
<div ref="ceshiRef">
|
||||||
<ceshi id="ceshi" :data="props.listData"></ceshi>
|
<ceshi id="ceshi" :data="props.listData"></ceshi>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btnList">
|
<div class="btnList">
|
||||||
<el-button type="primary" @click="printElement">打印</el-button>
|
<el-button type="primary" @click="printElement">打印</el-button>
|
||||||
</div>
|
</div>
|
||||||
@ -35,11 +36,22 @@ const closeFun = () => {
|
|||||||
const printElement = () => {
|
const printElement = () => {
|
||||||
captureSnapshot();
|
captureSnapshot();
|
||||||
// 获取 DOM 元素的 HTML
|
// 获取 DOM 元素的 HTML
|
||||||
nextTick(() => {
|
|
||||||
printJS({
|
};
|
||||||
printable: state.snapshotUrl,
|
// 截图函数
|
||||||
type: 'image',
|
const captureSnapshot = async () => {
|
||||||
style: `
|
const canvas = await html2canvas(ceshiRef.value, {
|
||||||
|
allowTaint: true, // 允许跨域图片
|
||||||
|
useCORS: true, // 使用 CORS 加载图片
|
||||||
|
scale: 2, // 提高截图分辨率
|
||||||
|
width: ceshiRef.value.clientWidth,
|
||||||
|
height: ceshiRef.value.clientHeight,
|
||||||
|
});
|
||||||
|
state.snapshotUrl = canvas.toDataURL('image/png');
|
||||||
|
printJS({
|
||||||
|
printable: state.snapshotUrl,
|
||||||
|
type: 'image',
|
||||||
|
style: `
|
||||||
@page {
|
@page {
|
||||||
size: auto;
|
size: auto;
|
||||||
margin: 0mm;
|
margin: 0mm;
|
||||||
@ -49,20 +61,7 @@ const printElement = () => {
|
|||||||
padding: 36px;
|
padding: 36px;
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
});
|
});
|
||||||
});
|
|
||||||
};
|
|
||||||
// 截图函数
|
|
||||||
const captureSnapshot = async () => {
|
|
||||||
// 使用 html2canvas 将 div 渲染为 Canvas
|
|
||||||
const canvas = await html2canvas(ceshiRef.value, {
|
|
||||||
allowTaint: true, // 允许跨域图片
|
|
||||||
useCORS: true, // 使用 CORS 加载图片
|
|
||||||
scale: 2, // 提高截图分辨率
|
|
||||||
width: ceshiRef.value.clientWidth,
|
|
||||||
height: ceshiRef.value.clientHeight,
|
|
||||||
});
|
|
||||||
state.snapshotUrl = canvas.toDataURL('image/png');
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@ -71,4 +70,111 @@ const captureSnapshot = async () => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
:deep(.el-form){
|
||||||
|
border-right: 0 !important;
|
||||||
|
}
|
||||||
|
.shuming {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
//text-align: left;
|
||||||
|
}
|
||||||
|
.nameText {
|
||||||
|
margin-right: 120px;
|
||||||
|
margin-top: 80px;
|
||||||
|
}
|
||||||
|
.dateTime {
|
||||||
|
margin-right: 50px;
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.dateTime > span {
|
||||||
|
margin-left: 42px;
|
||||||
|
}
|
||||||
|
:deep(.el-table__inner-wrapper) {
|
||||||
|
box-sizing: border-box;
|
||||||
|
//border: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.is-leaf) {
|
||||||
|
border-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-table__cell) {
|
||||||
|
border-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-table__cell) {
|
||||||
|
border-color: black !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-card) {
|
||||||
|
border: 1px solid black !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.avue-crud__header) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.avue-crud__body) {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.orderPrinting {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
width: 100%;
|
||||||
|
height: 50px;
|
||||||
|
background-color: #deeaf6;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 22px;
|
||||||
|
letter-spacing: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.orderPrintingTop {
|
||||||
|
height: 161px;
|
||||||
|
border: 1px solid #000000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.item1 {
|
||||||
|
width: 33.33%;
|
||||||
|
height: 160px;
|
||||||
|
border-right: 1px solid #000000;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item2 {
|
||||||
|
width: 33.33%;
|
||||||
|
height: 160px;
|
||||||
|
border-right: 1px solid #000000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 16px;
|
||||||
|
|
||||||
|
.dataText {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item2 {
|
||||||
|
width: 33.33%;
|
||||||
|
height: 160px;
|
||||||
|
//border-right: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item3 {
|
||||||
|
width: 33.33%;
|
||||||
|
height: 160px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -82,6 +82,7 @@
|
|||||||
style="width: 220px"
|
style="width: 220px"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
:disabled="row.chengNuoJiaoQi != null"
|
||||||
@change="batchSetChengNuoJiaoQiFun([{ id: row.id, newTime: row.chengNuoJiaoQi }])"
|
@change="batchSetChengNuoJiaoQiFun([{ id: row.id, newTime: row.chengNuoJiaoQi }])"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -140,7 +141,7 @@ const state = reactive({
|
|||||||
option: {
|
option: {
|
||||||
height: computed(() => window.innerHeight - window.innerHeight * 0.23 + ''),
|
height: computed(() => window.innerHeight - window.innerHeight * 0.23 + ''),
|
||||||
tip: false,
|
tip: false,
|
||||||
index: true,
|
index: false,
|
||||||
menu: true,
|
menu: true,
|
||||||
menuWidth: 85,
|
menuWidth: 85,
|
||||||
border: true,
|
border: true,
|
||||||
@ -153,37 +154,42 @@ const state = reactive({
|
|||||||
searchMenuSpan: 3,
|
searchMenuSpan: 3,
|
||||||
addBtn: false,
|
addBtn: false,
|
||||||
column: [
|
column: [
|
||||||
{ label: computed(() => t('message.index.DocNumber')), prop: 'fBillNo', searchSpan: 3, width: '125' },
|
{ label: computed(() => t('message.index.DocNumber')), prop: 'fBillNo', searchSpan: 3, width: '125',filters: true },
|
||||||
{ label: computed(() => t('message.index.date')), prop: 'fDate', type: 'datetime', searchSpan: 6, searchRange: true },
|
{ label: '销售订单号', prop: '', searchSpan: 3, width: '125',filters: true },
|
||||||
|
{ label: '手工销售订单号', prop: '', searchSpan: 3, width: '125',filters: true },
|
||||||
|
{ label: '采购组织', prop: 'fPurchaseOrgName', searchSpan: 3, width: '125',filters: true },
|
||||||
|
{ label: computed(() => t('message.index.date1')), prop: 'fDate', type: 'datetime', searchSpan: 6, searchRange: true,filters: true },
|
||||||
{
|
{
|
||||||
label: computed(() => t('message.index.status')),
|
label: computed(() => t('message.index.status')),
|
||||||
prop: 'fCancelStatus',
|
prop: 'fCancelStatus',
|
||||||
|
filters: true,
|
||||||
dicData: [
|
dicData: [
|
||||||
{ label: computed(() => t('message.index.closed')), value: 'A' },
|
{ label: computed(() => t('message.index.unclosed')), value: 'A' },
|
||||||
{ label: computed(() => t('message.index.unclosed')), value: 'B' },
|
{ label: computed(() => t('message.index.closed')), value: 'B' },
|
||||||
],
|
],
|
||||||
width: '90',
|
width: '90',
|
||||||
},
|
},
|
||||||
{ label: computed(() => t('message.index.partNumber')), prop: 'materialCode', width: '120' },
|
{ label: computed(() => t('message.index.partNumber')), prop: 'materialCode', width: '120',filters: true },
|
||||||
{ label: computed(() => t('message.index.materialName')), prop: 'materialName', width: '240' },
|
{ label: computed(() => t('message.index.materialName')), prop: 'materialName', width: '240',filters: true },
|
||||||
{ label: computed(() => t('message.index.specification')), prop: 'guige', width: '120' },
|
// { label: computed(() => t('message.index.specification')), prop: 'guige', width: '120',filters: true },
|
||||||
{ label: computed(() => t('message.index.unit')), prop: 'unitName', width: '90' },
|
{ label: computed(() => t('message.index.unit')), prop: 'unitName', width: '90',filters: true },
|
||||||
{ label: computed(() => t('message.index.qty')), prop: 'qty', width: '90' },
|
{ label: computed(() => t('message.index.qty')), prop: 'qty', width: '90',filters: true },
|
||||||
{ label: computed(() => t('message.index.requestDate')), prop: 'fDeliveryDate', width: '165' },
|
{ label: computed(() => t('message.index.requestDate')), prop: 'fDeliveryDate', width: '165',filters: true },
|
||||||
{
|
{
|
||||||
label: computed(() => t('message.index.DocStatus')),
|
label: computed(() => t('message.index.DocStatus')),
|
||||||
prop: 'fmrpCloseStatus',
|
prop: 'fmrpCloseStatus',
|
||||||
searchSpan: 3,
|
searchSpan: 3,
|
||||||
|
filters: true,
|
||||||
dicData: [
|
dicData: [
|
||||||
{ label: computed(() => t('message.index.normal')), value: 'A' },
|
{ label: computed(() => t('message.index.normal')), value: 'A' },
|
||||||
{ label: computed(() => t('message.index.closed')), value: 'B' },
|
{ label: computed(() => t('message.index.closed')), value: 'B' },
|
||||||
],
|
],
|
||||||
width: '90',
|
width: '90',
|
||||||
},
|
},
|
||||||
{ label: computed(() => t('message.index.receivedQTY')), prop: 'sendedQty', width: '110' },
|
{ label: computed(() => t('message.index.receivedQTY')), prop: 'sendedQty', width: '130',filters: true },
|
||||||
{ label: computed(() => t('message.index.unreceivedQTY')), prop: 'notSendQty', width: '110' },
|
{ label: computed(() => t('message.index.unreceivedQTY')), prop: 'notSendQty', width: '110',filters: true },
|
||||||
{ label: computed(() => t('message.index.earliestDeliveryDate')), prop: 'chengNuoJiaoQi', width: '160' },
|
{ label: computed(() => t('message.index.earliestDeliveryDate')), prop: 'chengNuoJiaoQi', width: '160',filters: true },
|
||||||
{ label: computed(() => t('message.index.latestDeliveryDate')), prop: 'newChengNuoJiaoQi', width: '160' },
|
{ label: computed(() => t('message.index.latestDeliveryDate')), prop: 'newChengNuoJiaoQi', width: '160',filters: true },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
@ -311,6 +317,7 @@ const batchSetChengNuoJiaoQiFun = (arr: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
getList();
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -343,6 +350,7 @@ const batchSetNewChengNuoJiaoQiFun = (arr: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
getList();
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
style="width: 220px"
|
style="width: 220px"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
:disabled="row.chengNuoJiaoQi != null"
|
||||||
@change="batchSetChengNuoJiaoQiFun([{id:row.id,newTime:row.chengNuoJiaoQi}])"
|
@change="batchSetChengNuoJiaoQiFun([{id:row.id,newTime:row.chengNuoJiaoQi}])"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -191,6 +192,7 @@ const chengNuoJiaoQiPFun = (e: string) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
getList();
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -227,6 +229,7 @@ const chengNuoJiaoQiPFun = (e: string) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
getList();
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -78,6 +78,8 @@ const state = reactive({
|
|||||||
{ label: computed(() => t('message.index.unreceivedQTY')), prop: 'notSendQtyText' },
|
{ label: computed(() => t('message.index.unreceivedQTY')), prop: 'notSendQtyText' },
|
||||||
{ label: computed(() => t('message.index.supplierLot')), prop: 'fSupplierLot' },
|
{ label: computed(() => t('message.index.supplierLot')), prop: 'fSupplierLot' },
|
||||||
{ label: computed(() => t('message.index.shipmentQTY')), prop: 'notSendQty', width: '180' },
|
{ label: computed(() => t('message.index.shipmentQTY')), prop: 'notSendQty', width: '180' },
|
||||||
|
{ label: '包装数量', prop: '123'},
|
||||||
|
{ label: '条码张数', prop: '1233'},
|
||||||
{ label: computed(() => t('message.index.earliestDeliveryDate')), prop: 'chengNuoJiaoQi', width: '180' },
|
{ label: computed(() => t('message.index.earliestDeliveryDate')), prop: 'chengNuoJiaoQi', width: '180' },
|
||||||
{ label: computed(() => t('message.index.latestDeliveryDate')), prop: 'newChengNuoJiaoQi', width: '180' },
|
{ label: computed(() => t('message.index.latestDeliveryDate')), prop: 'newChengNuoJiaoQi', width: '180' },
|
||||||
],
|
],
|
||||||
|
@ -34,6 +34,19 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
|
||||||
|
<el-form-item label="采购组织" prop="supplierId">
|
||||||
|
<el-select
|
||||||
|
placeholder="请选择采购组织"
|
||||||
|
size="default"
|
||||||
|
style="width: 240px"
|
||||||
|
v-model="state.ruleForm.fPurchaseOrgId"
|
||||||
|
@change="BDFPurchaseOrgListItemChange"
|
||||||
|
>
|
||||||
|
<el-option :label="item.text" :value="item.value" v-for="(item, index) of state.BDFPurchaseOrgList" :key="index" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="state.ruleForm.systemType === '0'">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="state.ruleForm.systemType === '0'">
|
||||||
<el-form-item label="供应商" prop="supplierId">
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
<el-select
|
<el-select
|
||||||
@ -75,7 +88,7 @@ const emit = defineEmits(['refresh']);
|
|||||||
const userDialogFormRef = ref();
|
const userDialogFormRef = ref();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
BDSupplierList:[],
|
BDSupplierList:[],
|
||||||
BDSupplierListItem:null,
|
BDFPurchaseOrgList:[],
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
ifForeign:'0',
|
ifForeign:'0',
|
||||||
systemType:'0',
|
systemType:'0',
|
||||||
@ -84,7 +97,9 @@ const state = reactive({
|
|||||||
mobile: '', // 手机号
|
mobile: '', // 手机号
|
||||||
password: '', // 账户密码
|
password: '', // 账户密码
|
||||||
supplierId:'',
|
supplierId:'',
|
||||||
supplierName:''
|
supplierName:'',
|
||||||
|
fPurchaseOrgId:'',
|
||||||
|
fPurchaseOrgName:''
|
||||||
},
|
},
|
||||||
deptData: [] as DeptTreeType[], // 部门数据
|
deptData: [] as DeptTreeType[], // 部门数据
|
||||||
dialog: {
|
dialog: {
|
||||||
@ -116,6 +131,7 @@ const openDialog = (type: string, row: any) => {
|
|||||||
}
|
}
|
||||||
state.dialog.isShowDialog = true;
|
state.dialog.isShowDialog = true;
|
||||||
getMenuData();
|
getMenuData();
|
||||||
|
getFPurchaseOrgListFun()
|
||||||
};
|
};
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
const closeDialog = () => {
|
const closeDialog = () => {
|
||||||
@ -134,15 +150,16 @@ const onSubmit = () => {
|
|||||||
closeDialog();
|
closeDialog();
|
||||||
emit('refresh', {...state.ruleForm,dataState:state.dialog.title === '新增用户' ? '0':'1'});
|
emit('refresh', {...state.ruleForm,dataState:state.dialog.title === '新增用户' ? '0':'1'});
|
||||||
};
|
};
|
||||||
|
|
||||||
const BDSupplierListItemChange = (val:any) => {
|
const BDSupplierListItemChange = (val:any) => {
|
||||||
|
|
||||||
let dbsObj:any = state.BDSupplierList.find(item => item.value === val);
|
let dbsObj:any = state.BDSupplierList.find(item => item.value === val);
|
||||||
console.log(dbsObj)
|
|
||||||
state.ruleForm.supplierId = dbsObj.value
|
state.ruleForm.supplierId = dbsObj.value
|
||||||
state.ruleForm.supplierName = dbsObj.text
|
state.ruleForm.supplierName = dbsObj.text
|
||||||
}
|
}
|
||||||
|
const BDFPurchaseOrgListItemChange = (val:any) => {
|
||||||
|
let dbsObj:any = state.BDFPurchaseOrgList.find(item => item.value === val);
|
||||||
|
state.ruleForm.fPurchaseOrgId = dbsObj.value
|
||||||
|
state.ruleForm.fPurchaseOrgName = dbsObj.text
|
||||||
|
}
|
||||||
// 初始化供应商数据
|
// 初始化供应商数据
|
||||||
const getMenuData = () => {
|
const getMenuData = () => {
|
||||||
listApi().getBDSupplierList({}).then((res:any) => {
|
listApi().getBDSupplierList({}).then((res:any) => {
|
||||||
@ -155,6 +172,18 @@ const getMenuData = () => {
|
|||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//初始化采购信息
|
||||||
|
const getFPurchaseOrgListFun = () => {
|
||||||
|
listApi().getFPurchaseOrgList({}).then((res:any) => {
|
||||||
|
if (res.resultCode === 0) {
|
||||||
|
state.BDFPurchaseOrgList = res.data
|
||||||
|
}
|
||||||
|
if (res.resultCode === -1) {
|
||||||
|
ElMessage.error(res.errorMessage);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 暴露变量
|
// 暴露变量
|
||||||
defineExpose({
|
defineExpose({
|
||||||
openDialog,
|
openDialog,
|
||||||
|
@ -79,6 +79,10 @@ const state = reactive({
|
|||||||
{ label: '管理员', value: '1' },
|
{ label: '管理员', value: '1' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '采购组织名称',
|
||||||
|
prop: 'fPurchaseOrgName',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '账号状态',
|
label: '账号状态',
|
||||||
prop: 'status',
|
prop: 'status',
|
||||||
@ -87,6 +91,7 @@ const state = reactive({
|
|||||||
{ label: '正常', value: '1' },
|
{ label: '正常', value: '1' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
@ -107,8 +112,6 @@ const state = reactive({
|
|||||||
const getTableData = (item: any) => {
|
const getTableData = (item: any) => {
|
||||||
let data1 = { ...item };
|
let data1 = { ...item };
|
||||||
let data2 = { ...item, id: state.itemId };
|
let data2 = { ...item, id: state.itemId };
|
||||||
console.log(data2)
|
|
||||||
debugger
|
|
||||||
listApi()
|
listApi()
|
||||||
.loginSave(state.itemId === '' ? data1 : data2)
|
.loginSave(state.itemId === '' ? data1 : data2)
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user