|
|
@@ -3,24 +3,78 @@
|
|
|
|
|
|
<headerTitle title="委外入库申请单"></headerTitle>
|
|
|
|
|
|
+ <!-- 数据表格 -->
|
|
|
+ <ele-pro-table ref="table" :columns="columns" :datasource="datasource" cache-key="workOrderTable">
|
|
|
|
|
|
|
|
|
- <ele-pro-table ref="table" :needPage="false" :columns="columns" row-key="id">
|
|
|
-
|
|
|
- </ele-pro-table>
|
|
|
+ <template v-slot:requireDeliveryTime="{ row }">
|
|
|
+ <span v-if="row.deliveryMethod == 1">{{ row.requireDeliveryTime }}</span>
|
|
|
|
|
|
+ <el-link v-if="row.deliveryMethod == 2" type="primary" :underline="false"
|
|
|
+ @click.native="handleMethod(row)">分批时间</el-link>
|
|
|
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <template v-slot:status="{ row }">
|
|
|
+ <el-tag>{{ row.status == 1 ? '已发布' : '未发布' }}</el-tag>
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <template v-slot:technicalDrawings="{ row }">
|
|
|
+
|
|
|
+ <div v-if="row.technicalDrawings && row.technicalDrawings?.length">
|
|
|
+ <el-link v-for="link in row.technicalDrawings" :key="link.id" type="primary" :underline="false"
|
|
|
+ @click="downloadFile(link)">
|
|
|
+ {{ link.name }}</el-link>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <template v-slot:files="{ row }">
|
|
|
+ <div v-if="row.files && row.technicalDrawings?.length">
|
|
|
+ <el-link v-for="link in row.files" :key="link.id" type="primary" :underline="false" @click="downloadFile(link)">
|
|
|
+ {{ link.name }}</el-link>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <template v-slot:action="{ row }">
|
|
|
+
|
|
|
+
|
|
|
+ <el-link type="primary" :underline="false" @click="handleDetails(row)">
|
|
|
+ 详情
|
|
|
+ </el-link>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ </ele-pro-table>
|
|
|
+
|
|
|
+ <detail ref="detailsRef"></detail>
|
|
|
+
|
|
|
+ <timeDialog ref="timeDialogRef"></timeDialog>
|
|
|
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { getById } from '@/api/bpm/components/outsourcedWarehousing/index';
|
|
|
-import { getFile } from '@/api/system/file';
|
|
|
+import Detail from './components/details.vue';
|
|
|
+import timeDialog from './components/timeDialog.vue'
|
|
|
+import { getFile } from "@/api/system/file";
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
-
|
|
|
+ Detail,
|
|
|
+ timeDialog
|
|
|
},
|
|
|
props: {
|
|
|
businessId: {
|
|
|
@@ -32,111 +86,117 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
visible: false,
|
|
|
- title: '采购配料计划',
|
|
|
+
|
|
|
|
|
|
// 表格列配置
|
|
|
columns: [
|
|
|
-
|
|
|
- {
|
|
|
- columnKey: 'index',
|
|
|
- label: '序号',
|
|
|
- type: 'index',
|
|
|
- width: 55,
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'id',
|
|
|
- label: '委外单id',
|
|
|
- align: 'center',
|
|
|
- minWidth: 110
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'code',
|
|
|
- label: '委外编码',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'name',
|
|
|
- label: '委外名称',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'workOrderId',
|
|
|
- label: '工单id',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'workOrderCode',
|
|
|
- label: '工单编码',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- prop: 'formedNumLast',
|
|
|
- label: '委外数量',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'formedWeightLast',
|
|
|
- label: '委外重量',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'totalWeight',
|
|
|
- label: '总重量',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'warehouseName',
|
|
|
- label: '入库仓库',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'remark',
|
|
|
- label: '备注',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'expectReceiveDate',
|
|
|
- label: '预计到货日期',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 110
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- prop: 'createTime',
|
|
|
- label: '创建时间',
|
|
|
- align: 'center',
|
|
|
- showOverflowTooltip: true,
|
|
|
- minWidth: 110
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- columnKey: 'action',
|
|
|
- label: '操作',
|
|
|
- width: 120,
|
|
|
- align: 'center',
|
|
|
- resizable: false,
|
|
|
- fixed: 'right',
|
|
|
- slot: 'action',
|
|
|
- showOverflowTooltip: true
|
|
|
- }
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ label: '序号',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'code',
|
|
|
+ label: '委外单编码',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'name',
|
|
|
+ label: '委外单名称',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'workOrderCode',
|
|
|
+ label: '工单编码',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'taskName',
|
|
|
+ label: '工序',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'formedNumLast',
|
|
|
+ label: '委外数量',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'formedWeightLast',
|
|
|
+ label: '委外重量',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'remark',
|
|
|
+ label: '备注',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ slot: 'requireDeliveryTime',
|
|
|
+ label: '预计到货日期',
|
|
|
+ align: 'center',
|
|
|
+ minWidth: 70
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ align: 'center',
|
|
|
+ minWidth: 70
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ slot: 'status',
|
|
|
+ label: '状态',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ label: '图片附件',
|
|
|
+ slot: 'technicalDrawings',
|
|
|
+ action: 'technicalDrawings',
|
|
|
+ minWidth: 100,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ label: '附件',
|
|
|
+ slot: 'files',
|
|
|
+ action: 'files',
|
|
|
+ minWidth: 100,
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ columnKey: 'action',
|
|
|
+ label: '操作',
|
|
|
+ width: 140,
|
|
|
+ align: 'center',
|
|
|
+ resizable: false,
|
|
|
+ fixed: 'right',
|
|
|
+ slot: 'action',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
],
|
|
|
@@ -144,12 +204,7 @@ export default {
|
|
|
|
|
|
rules: {},
|
|
|
|
|
|
- formData: {
|
|
|
- name: '',
|
|
|
- remark: '',
|
|
|
- detailRemoveIds: [],
|
|
|
- materialRemoveIds: []
|
|
|
- }
|
|
|
+
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -157,16 +212,19 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
|
|
|
+ downloadFile(file) {
|
|
|
+ getFile({ objectName: file.storePath }, file.name);
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
async getDetailData(id) {
|
|
|
this.loading = true;
|
|
|
const res = await getById(id);
|
|
|
- console.log(33,res)
|
|
|
+
|
|
|
this.loading = false;
|
|
|
if (res) {
|
|
|
- this.$set(this.formData, 'name', res.name);
|
|
|
- this.$set(this.formData, 'remark', res.remark);
|
|
|
- this.formData['id'] = res.id;
|
|
|
- this.$refs.table.setData([...res.salesOrderList]);
|
|
|
+ this.$refs.table.setData([res]);
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.table.toggleRowExpansionAll()
|
|
|
this.$forceUpdate()
|
|
|
@@ -174,9 +232,14 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ handleDetails(row) {
|
|
|
+ this.$refs.detailsRef.open(row)
|
|
|
+ },
|
|
|
+
|
|
|
handleMethod(row) {
|
|
|
- this.$refs.timeDialogRef.open(row)
|
|
|
+ this.$refs.timeDialogRef.open(row, 'details')
|
|
|
},
|
|
|
+
|
|
|
}
|
|
|
};
|
|
|
</script>
|