|
|
@@ -52,7 +52,6 @@
|
|
|
</template>
|
|
|
<template v-slot:productName="{ row, $index }">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + $index + '.productName'"
|
|
|
:rules="{
|
|
|
required: true,
|
|
|
@@ -63,12 +62,12 @@
|
|
|
<el-input
|
|
|
v-model="row.productName"
|
|
|
placeholder="请输入"
|
|
|
- style="width: 60%; margin-right: 10px"
|
|
|
+ style="width: calc(100% - 70px); margin-right: 10px"
|
|
|
v-if="!row.productCode"
|
|
|
></el-input>
|
|
|
<div
|
|
|
v-else
|
|
|
- style="width: 60%; margin-right: 10px"
|
|
|
+ style="width: calc(100% - 70px); margin-right: 10px"
|
|
|
class="ellipsis-single"
|
|
|
:title="row.productName"
|
|
|
>{{ row.productName }}</div
|
|
|
@@ -87,17 +86,8 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
|
|
|
- <!-- <template v-slot:productCategoryName="scope">
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- :prop="'datasource.' + scope.$index + '.productCategoryName'"
|
|
|
- >
|
|
|
- <el-input v-model="scope.row.productCategoryName" disabled></el-input>
|
|
|
- </el-form-item>
|
|
|
- </template> -->
|
|
|
<template v-slot:totalCount="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.totalCount'"
|
|
|
:rules="{
|
|
|
required: true,
|
|
|
@@ -116,7 +106,6 @@
|
|
|
|
|
|
<template v-slot:productBrand="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.productBrand'"
|
|
|
v-if="!scope.row.productCode"
|
|
|
>
|
|
|
@@ -125,17 +114,13 @@
|
|
|
<div v-else>{{ scope.row.productBrand }}</div>
|
|
|
</template>
|
|
|
<template v-slot:brand="scope">
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- :prop="'datasource.' + scope.$index + '.brand'"
|
|
|
- >
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.brand'">
|
|
|
<el-input v-model="scope.row.brand"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
|
|
|
<template v-slot:modelType="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.modelType'"
|
|
|
v-if="!scope.row.productCode"
|
|
|
>
|
|
|
@@ -146,7 +131,6 @@
|
|
|
|
|
|
<template v-slot:specification="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.specification'"
|
|
|
v-if="!scope.row.productCode"
|
|
|
>
|
|
|
@@ -156,7 +140,6 @@
|
|
|
</template>
|
|
|
<template v-slot:measuringUnit="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.measuringUnit'"
|
|
|
v-if="!scope.row.productCode"
|
|
|
>
|
|
|
@@ -168,10 +151,7 @@
|
|
|
<div v-else>{{ scope.row.measuringUnit }}</div>
|
|
|
</template>
|
|
|
<template v-slot:remark="scope">
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- :prop="'datasource.' + scope.$index + '.remark'"
|
|
|
- >
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.remark'">
|
|
|
<el-input
|
|
|
v-model="scope.row.remark"
|
|
|
type="textarea"
|
|
|
@@ -180,14 +160,11 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:taskName="scope">
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- :prop="'datasource.' + scope.$index + '.taskName'"
|
|
|
- >
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.taskName'">
|
|
|
<el-input
|
|
|
v-model="scope.row.taskName"
|
|
|
placeholder="请选择"
|
|
|
- style="width: 60%; margin-right: 10px"
|
|
|
+ style="width: calc(100% - 70px); margin-right: 10px"
|
|
|
disabled
|
|
|
></el-input>
|
|
|
<el-button
|
|
|
@@ -201,7 +178,6 @@
|
|
|
</template>
|
|
|
<template v-slot:technicalAnswerName="{ row, $index }">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + $index + '.technicalAnswerName'"
|
|
|
:rules="{
|
|
|
required: false,
|
|
|
@@ -218,7 +194,6 @@
|
|
|
</template>
|
|
|
<template v-slot:technicalParams="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.technicalParams'"
|
|
|
:rules="{
|
|
|
required: false,
|
|
|
@@ -234,16 +209,12 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:files="scope">
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- :prop="'datasource.' + scope.$index + '.files'"
|
|
|
- >
|
|
|
+ <el-form-item :prop="'datasource.' + scope.$index + '.files'">
|
|
|
<fileMain v-model="scope.row.files"></fileMain>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:technicalDrawings="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.technicalDrawings'"
|
|
|
>
|
|
|
<fileMain v-model="scope.row.technicalDrawings"></fileMain>
|
|
|
@@ -253,7 +224,6 @@
|
|
|
<template v-slot:expectReceiveDate="scope">
|
|
|
<el-form-item
|
|
|
v-if="scope.row.arrivalWay == 1"
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.expectReceiveDate'"
|
|
|
:rules="{
|
|
|
required: true,
|
|
|
@@ -271,10 +241,7 @@
|
|
|
>
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
- v-if="scope.row.arrivalWay == 2"
|
|
|
- >
|
|
|
+ <el-form-item v-if="scope.row.arrivalWay == 2">
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
:underline="false"
|
|
|
@@ -311,7 +278,6 @@
|
|
|
|
|
|
<template v-slot:supplierName="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.supplierName'"
|
|
|
:rules="{
|
|
|
required: isSupplier ? true : false,
|
|
|
@@ -337,7 +303,7 @@
|
|
|
clearable
|
|
|
v-model="scope.row.provenance"
|
|
|
multiple
|
|
|
- :isOne="scope.$index==0"
|
|
|
+ :isOne="scope.$index == 0"
|
|
|
>
|
|
|
</DictSelection>
|
|
|
</el-form-item>
|
|
|
@@ -365,7 +331,6 @@
|
|
|
</template>
|
|
|
<template v-slot:warehouseId="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.warehouseId'"
|
|
|
:rules="[
|
|
|
{
|
|
|
@@ -392,7 +357,6 @@
|
|
|
</template>
|
|
|
<template v-slot:purchaseCount="scope">
|
|
|
<el-form-item
|
|
|
- style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.purchaseCount'"
|
|
|
:rules="{
|
|
|
required: true,
|
|
|
@@ -407,10 +371,25 @@
|
|
|
:min="0"
|
|
|
@input="changeCount(scope.row, scope.$index)"
|
|
|
>
|
|
|
+ <template slot="append">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.purchaseUnitId"
|
|
|
+ style="width: 80px"
|
|
|
+ @change="changeCount(scope.row, scope.$index)"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ :label="item.conversionUnit"
|
|
|
+ :value="item.id"
|
|
|
+ @click.native="packingChange(item, scope.$index)"
|
|
|
+ v-for="(item, index) in scope.row.packageDispositionList"
|
|
|
+ :key="index"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
- <template v-slot:purchaseUnit="scope">
|
|
|
+ <!-- <template v-slot:purchaseUnit="scope">
|
|
|
<el-form-item
|
|
|
style="margin-bottom: 20px"
|
|
|
:prop="'datasource.' + scope.$index + '.purchaseUnitId'"
|
|
|
@@ -429,7 +408,7 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- </template>
|
|
|
+ </template> -->
|
|
|
<template v-slot:modelKey="scope">
|
|
|
<el-form-item :prop="'datasource.' + scope.$index + '.' + 'modelKey'">
|
|
|
<DictSelection
|
|
|
@@ -582,7 +561,6 @@
|
|
|
prop: 'productCategoryName',
|
|
|
label: '分类',
|
|
|
showOverflowTooltip: true,
|
|
|
-
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
@@ -590,7 +568,6 @@
|
|
|
prop: 'productCode',
|
|
|
label: '编码',
|
|
|
showOverflowTooltip: true,
|
|
|
-
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
@@ -632,10 +609,15 @@
|
|
|
prop: 'reqTotalCount',
|
|
|
label: '需求数量',
|
|
|
showOverflowTooltip: true,
|
|
|
+ formatter: (row, column) => {
|
|
|
+ if (row.reqTotalCount) {
|
|
|
+ return row.reqTotalCount + ' ' + row.measuringUnit;
|
|
|
+ }
|
|
|
+ },
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
- width: 150,
|
|
|
+ width: 250,
|
|
|
prop: 'purchaseCount',
|
|
|
showOverflowTooltip: true,
|
|
|
label: '数量',
|
|
|
@@ -643,14 +625,14 @@
|
|
|
headerSlot: 'headerTotalCount',
|
|
|
align: 'center'
|
|
|
},
|
|
|
- {
|
|
|
- width: 150,
|
|
|
- prop: 'purchaseUnit',
|
|
|
- showOverflowTooltip: true,
|
|
|
- label: '单位',
|
|
|
- slot: 'purchaseUnit',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // width: 150,
|
|
|
+ // prop: 'purchaseUnit',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // label: '单位',
|
|
|
+ // slot: 'purchaseUnit',
|
|
|
+ // align: 'center'
|
|
|
+ // },
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'packingSpecification',
|
|
|
@@ -663,17 +645,21 @@
|
|
|
prop: 'totalCount',
|
|
|
label: '计量数量',
|
|
|
showOverflowTooltip: true,
|
|
|
-
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 100,
|
|
|
- prop: 'measuringUnit',
|
|
|
- showOverflowTooltip: true,
|
|
|
- label: '计量单位',
|
|
|
- slot: 'measuringUnit',
|
|
|
+ formatter: (row, column) => {
|
|
|
+ if (row.totalCount) {
|
|
|
+ return row.totalCount + ' ' + row.measuringUnit;
|
|
|
+ }
|
|
|
+ },
|
|
|
align: 'center'
|
|
|
},
|
|
|
+ // {
|
|
|
+ // width: 100,
|
|
|
+ // prop: 'measuringUnit',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // label: '计量单位',
|
|
|
+ // slot: 'measuringUnit',
|
|
|
+ // align: 'center'
|
|
|
+ // },
|
|
|
|
|
|
{
|
|
|
minWidth: 120,
|
|
|
@@ -712,7 +698,11 @@
|
|
|
prop: 'totalWeight',
|
|
|
showOverflowTooltip: true,
|
|
|
label: '重量',
|
|
|
- slot: 'totalWeight',
|
|
|
+ formatter: (row, column) => {
|
|
|
+ if (row.totalWeight) {
|
|
|
+ return row.totalWeight + ' ' + row.weightUnit;
|
|
|
+ }
|
|
|
+ },
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|