Преглед изворни кода

bug 2508添加供应商展示字段

lucw пре 9 месеци
родитељ
комит
23f9434688

+ 6 - 1
src/views/bpm/handleTask/components/cuttingPlan/detailDialog.vue

@@ -281,7 +281,12 @@
             action: 'requireDeliveryTime',
             align: 'center'
           },
-
+          {
+            label: '供应商',
+            slot: 'supplierName',
+            action: 'supplierName',
+            align: 'center'
+          },
           {
             label: '图纸',
             slot: 'imgUrl',

+ 289 - 273
src/views/bpm/handleTask/components/materialPlan/detailDialog.vue

@@ -1,8 +1,13 @@
 <template>
   <div>
-
     <headerTitle title="采购信息"></headerTitle>
-    <el-form :model="formData" ref="formRef" label-width="120px" class="ele-body" :rules="rules">
+    <el-form
+      :model="formData"
+      ref="formRef"
+      label-width="120px"
+      class="ele-body"
+      :rules="rules"
+    >
       <el-row :gutter="32">
         <el-col :span="12">
           <el-form-item label="配料计划名称" prop="name">
@@ -19,16 +24,31 @@
     </el-form>
 
     <el-form :model="formData" ref="tableForm">
-      <ele-pro-table ref="table" :needPage="false" :columns="columns" row-key="id">
+      <ele-pro-table
+        ref="table"
+        :needPage="false"
+        :columns="columns"
+        row-key="id"
+      >
         <!-- 展开内容 -->
         <template v-slot:expand="{ row }">
-          <div style="
+          <div
+            style="
               width: calc(100% - 95px);
               min-height: 60px;
               margin-left: 95px;
-            " v-if="row.materialList.length > 0">
-            <ele-pro-table :toolbar="false" toolsTheme="none" ref="table2" :need-page="false"
-              :datasource="row.materialList" :columns="columns2" row-key="id">
+            "
+            v-if="row.materialList.length > 0"
+          >
+            <ele-pro-table
+              :toolbar="false"
+              toolsTheme="none"
+              ref="table2"
+              :need-page="false"
+              :datasource="row.materialList"
+              :columns="columns2"
+              row-key="id"
+            >
               <template v-slot:sort="{ $index }">
                 {{ $index }}
               </template>
@@ -38,43 +58,47 @@
               </template>
 
               <template v-slot:requireDeliveryTime="{ row }">
-                <span v-if="row.deliveryMethod == 1">{{ row.requireDeliveryTime }}</span>
-
-
-                <el-link type="primary" :underline="false" v-if="row.deliveryMethod == 2"
-                  @click.native="handleMethod(row)">
+                <span v-if="row.deliveryMethod == 1">{{
+                  row.requireDeliveryTime
+                }}</span>
+
+                <el-link
+                  type="primary"
+                  :underline="false"
+                  v-if="row.deliveryMethod == 2"
+                  @click.native="handleMethod(row)"
+                >
                   设置分批时间
                 </el-link>
               </template>
 
-
-
-
-
-
-
-
               <template v-slot:imgUrl="{ row }">
                 <div v-if="row.imgUrl && row.imgUrl?.length">
-                  <el-link v-for="link in row.imgUrl" :key="link.id" type="primary" :underline="false"
-                    @click="downloadFile(link)">
-                    {{ link.name }}</el-link>
+                  <el-link
+                    v-for="link in row.imgUrl"
+                    :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.files?.length">
-                  <el-link v-for="link in row.files" :key="link.id" type="primary" :underline="false"
-                    @click="downloadFile(link)">
-                    {{ link.name }}</el-link>
+                  <el-link
+                    v-for="link in row.files"
+                    :key="link.id"
+                    type="primary"
+                    :underline="false"
+                    @click="downloadFile(link)"
+                  >
+                    {{ link.name }}</el-link
+                  >
                 </div>
               </template>
-
-
-
-
-
-
             </ele-pro-table>
           </div>
         </template>
@@ -86,253 +110,245 @@
 </template>
 
 <script>
-import { getById } from '@/api/bpm/components/materialPlan/index';
-import { getFile } from '@/api/system/file';
-import timeDialog from './timeDialog'
-
-export default {
-  components: {
-    timeDialog
-  },
-  props: {
-    businessId: {
-      default: ''
-    }
-  },
-  mixins: [],
-
-  data() {
-    return {
-      visible: false,
-      title: '采购配料计划',
-
-      // 表格列配置
-      columns: [
-        {
-          width: 45,
-          type: 'expand',
-          columnKey: 'materialList',
-          align: 'center',
-          slot: 'expand'
-        },
-
-        {
-          width: 50,
-          label: '序号',
-          type: 'index',
-          align: 'center',
-          slot: 'index'
-        },
-
-        {
-          prop: 'salesOrderCode',
-          label: '销售订单号',
-          showOverflowTooltip: true,
-          align: 'center',
-          minWidth: 170
-        },
-        {
-          prop: 'customerName',
-          label: '客户名称',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'serialNo',
-          label: '客户代号',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'productCode',
-          label: '产品编码',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 140
-        },
-
-        {
-          prop: 'productName',
-          label: '产品名称',
-          align: 'center',
-          minWidth: 120
-        },
-
-        {
-          prop: 'model',
-          label: '型号',
-          align: 'center',
-          minWidth: 120
-        },
-
-        {
-          prop: 'brandNo',
-          label: '牌号',
-          align: 'center'
-        },
-
-        {
-          prop: 'deliveryTime',
-          label: '交付日期',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'contractNum',
-          label: '订单数量',
-          align: 'center'
-        },
-        {
-          prop: 'lackNum',
-          label: '欠交数量',
-          align: 'center'
-        },
-
-
-
-
-      ],
-
-      columns2: [
-        {
-          width: 50,
-          label: '序号',
-          prop: 'sort',
-          slot: 'sort',
-          align: 'center'
-        },
-
-        {
-          label: '物料名称',
-          prop: 'name',
-          align: 'center'
-        },
-
-        {
-          label: '物料编码',
-          prop: 'code',
-          align: 'center'
-        },
-        {
-          label: '牌号',
-          prop: 'brandNum',
-          align: 'center'
-        },
-        {
-          label: '型号',
-          prop: 'modelType',
-          align: 'center'
-        },
-
-        {
-          prop: 'inventoryQuantity',
-          label: '库存',
-          showOverflowTooltip: true,
-
-        },
-
-        {
-          prop: 'unit',
-          label: '计量单位',
-          showOverflowTooltip: true,
-          action: 'unit',
-        },
-
-        {
-          label: '需求数量',
-          prop: 'demandQuantity',
-          align: 'center',
-        },
-
-        // {
-        //   label: '采购数量',
-        //   prop: 'purchaseQuantity',
-        //   align: 'center'
-        // },
-
-        {
-          label: '到货方式',
-          slot: 'deliveryMethod',
-          action: 'deliveryMethod',
-          align: 'center'
-        },
-
-        {
-          label: '要求到货时间',
-          slot: 'requireDeliveryTime',
-          action: 'requireDeliveryTime',
-          align: 'center'
-        },
-
-
-
-        {
-          label: '图纸',
-          slot: 'imgUrl',
-          action: 'imgUrl',
-          align: 'center',
-        },
-
-
-        {
-          label: '附件',
-          slot: 'files',
-          action: ' files',
-          align: 'center',
-          minWidth: 140
-        },
-
-
-
-
-      ],
-
-      rules: {},
-
-      formData: {
-        name: '',
-        remark: '',
-        detailRemoveIds: [],
-        materialRemoveIds: []
-      }
-    };
-  },
-  created() {
-    this.getDetailData(this.businessId);
-  },
-  methods: {
-    downloadFile(file) {
-      getFile({ objectName: file.storePath }, file.name);
+  import { getById } from '@/api/bpm/components/materialPlan/index';
+  import { getFile } from '@/api/system/file';
+  import timeDialog from './timeDialog';
+
+  export default {
+    components: {
+      timeDialog
     },
-    async getDetailData(id) {
-      this.loading = true;
-      const res = await getById(id);
-      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.$nextTick(() => {
-          this.$refs.table.toggleRowExpansionAll()
-          this.$forceUpdate()
-        })
+    props: {
+      businessId: {
+        default: ''
       }
     },
-
-    handleMethod(row) {
-      this.$refs.timeDialogRef.open(row)
+    mixins: [],
+
+    data() {
+      return {
+        visible: false,
+        title: '采购配料计划',
+
+        // 表格列配置
+        columns: [
+          {
+            width: 45,
+            type: 'expand',
+            columnKey: 'materialList',
+            align: 'center',
+            slot: 'expand'
+          },
+
+          {
+            width: 50,
+            label: '序号',
+            type: 'index',
+            align: 'center',
+            slot: 'index'
+          },
+
+          {
+            prop: 'salesOrderCode',
+            label: '销售订单号',
+            showOverflowTooltip: true,
+            align: 'center',
+            minWidth: 170
+          },
+          {
+            prop: 'customerName',
+            label: '客户名称',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'serialNo',
+            label: '客户代号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'productCode',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+
+          {
+            prop: 'productName',
+            label: '产品名称',
+            align: 'center',
+            minWidth: 120
+          },
+
+          {
+            prop: 'model',
+            label: '型号',
+            align: 'center',
+            minWidth: 120
+          },
+
+          {
+            prop: 'brandNo',
+            label: '牌号',
+            align: 'center'
+          },
+
+          {
+            prop: 'deliveryTime',
+            label: '交付日期',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'contractNum',
+            label: '订单数量',
+            align: 'center'
+          },
+          {
+            prop: 'lackNum',
+            label: '欠交数量',
+            align: 'center'
+          }
+        ],
+
+        columns2: [
+          {
+            width: 50,
+            label: '序号',
+            prop: 'sort',
+            slot: 'sort',
+            align: 'center'
+          },
+
+          {
+            label: '物料名称',
+            prop: 'name',
+            align: 'center'
+          },
+
+          {
+            label: '物料编码',
+            prop: 'code',
+            align: 'center'
+          },
+          {
+            label: '牌号',
+            prop: 'brandNum',
+            align: 'center'
+          },
+          {
+            label: '型号',
+            prop: 'modelType',
+            align: 'center'
+          },
+
+          {
+            prop: 'inventoryQuantity',
+            label: '库存',
+            showOverflowTooltip: true
+          },
+
+          {
+            prop: 'unit',
+            label: '计量单位',
+            showOverflowTooltip: true,
+            action: 'unit'
+          },
+
+          {
+            label: '需求数量',
+            prop: 'demandQuantity',
+            align: 'center'
+          },
+
+          // {
+          //   label: '采购数量',
+          //   prop: 'purchaseQuantity',
+          //   align: 'center'
+          // },
+
+          {
+            label: '到货方式',
+            slot: 'deliveryMethod',
+            action: 'deliveryMethod',
+            align: 'center'
+          },
+
+          {
+            label: '要求到货时间',
+            slot: 'requireDeliveryTime',
+            action: 'requireDeliveryTime',
+            align: 'center'
+          },
+
+          {
+            label: '供应商',
+            slot: 'supplierName',
+            action: 'supplierName',
+            align: 'center'
+          },
+
+          {
+            label: '图纸',
+            slot: 'imgUrl',
+            action: 'imgUrl',
+            align: 'center'
+          },
+
+          {
+            label: '附件',
+            slot: 'files',
+            action: ' files',
+            align: 'center',
+            minWidth: 140
+          }
+        ],
+
+        rules: {},
+
+        formData: {
+          name: '',
+          remark: '',
+          detailRemoveIds: [],
+          materialRemoveIds: []
+        }
+      };
     },
-  }
-};
+    created() {
+      this.getDetailData(this.businessId);
+    },
+    methods: {
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      async getDetailData(id) {
+        this.loading = true;
+        const res = await getById(id);
+        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.$nextTick(() => {
+            this.$refs.table.toggleRowExpansionAll();
+            this.$forceUpdate();
+          });
+        }
+      },
+
+      handleMethod(row) {
+        this.$refs.timeDialogRef.open(row);
+      }
+    }
+  };
 </script>
 
 <style lang="scss" scoped>
-:deep(.el-table__expanded-cell) {
-
-  padding-bottom: 30px !important;
-  border-bottom: 12px solid #CCFFCC !important;
-}
+  :deep(.el-table__expanded-cell) {
+    padding-bottom: 30px !important;
+    border-bottom: 12px solid #ccffcc !important;
+  }
 </style>
-
-