Explorar o código

Merge branch 'master' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-wt

huang_an %!s(int64=2) %!d(string=hai) anos
pai
achega
c4b4edffdd

+ 0 - 232
src/views/bpm/handleTask/components/purchaseOrder/outSourceSendCk/components/details.vue

@@ -1,232 +0,0 @@
-<template>
-    <el-dialog title="详情" :visible.sync="visible" :before-close="handleClose" :close-on-click-modal="false"
-        :close-on-press-escape="false" append-to-body width="80%">
-       
-        <!-- 数据表格 -->
-        <ele-pro-table ref="table" v-if="detailType == 1" :columns="columns" cache-key="detailsTable"
-            height="calc(100vh - 350px)">
-            <template v-slot:totalCount="{ row }">
-                {{ row.totalCount }}{{ row.measuringUnit }}
-            </template>
-        </ele-pro-table>
-
-
-        <ele-pro-table ref="table2" v-if="detailType == 2" :columns="columns2" cache-key="detailsTable2"
-            height="calc(100vh - 350px)">
-            <template v-slot:totalCount="{ row }">
-                {{ row.totalCount }}{{ row.measuringUnit }}
-            </template>
-        </ele-pro-table>
-
-
-
-    </el-dialog>
-</template>
-  
-<script>
-
-
-export default {
-    components: {
- 
-    },
-    data() {
-        return {
-            visible: false,
-            detailType: null,
-
-        }
-    },
-
-    computed: {
-        // 表格列配置
-        columns() {
-            return [
-                {
-                    columnKey: 'index',
-                    label: '序号',
-                    type: 'index',
-                    width: 55,
-                    align: 'center',
-                    showOverflowTooltip: true,
-                    fixed: 'left'
-                },
-
-
-                {
-                    prop: 'categoryCode',
-                    label: '编码',
-                    align: 'center'
-                },
-                {
-                    prop: 'categoryName',
-                    label: '名称',
-                    align: 'center'
-                },
-
-                {
-                    prop: 'brandNum',
-                    label: '牌号',
-                    align: 'center'
-                },
-
-
-                {
-                    prop: 'modelType',
-                    label: '型号',
-                    align: 'center'
-                },
-
-
-
-                {
-                    prop: 'specification',
-                    label: '规格',
-                    align: 'center'
-                },
-
-
-                {
-                    slot: 'totalCount',
-                    label: '数量',
-                    align: 'center'
-                },
-
-
-
-
-
-
-
-
-
-            ];
-        },
-
-        columns2() {
-            return [
-                {
-                    columnKey: 'index',
-                    label: '序号',
-                    type: 'index',
-                    width: 55,
-                    align: 'center',
-                    showOverflowTooltip: true,
-                    fixed: 'left'
-                },
-
-
-                {
-                    prop: 'categoryCode',
-                    label: '编码',
-                    align: 'center'
-                },
-                {
-                    prop: 'categoryName',
-                    label: '名称',
-                    align: 'center'
-                },
-
-                {
-                    prop: 'brandNum',
-                    label: '牌号',
-                    align: 'center'
-                },
-
-
-                {
-                    prop: 'modelType',
-                    label: '型号',
-                    align: 'center'
-                },
-
-
-
-                {
-                    prop: 'specification',
-                    label: '规格',
-                    align: 'center'
-                },
-
-
-                {
-                    label: '物料代号',
-                    prop: 'extInfo.materielCode',
-                    align: 'center'
-                },
-                {
-                    label: '客户代号',
-                    prop: 'extInfo.clientCode',
-                    align: 'center'
-                },
-                {
-                    label: '刻码',
-                    prop: 'extInfo.engrave',
-                    align: 'center'
-                },
-                {
-                    label: '重量',
-                    prop: 'extInfo.newWeight',
-                    align: 'center'
-                },
-
-
-                {
-                    slot: 'totalCount',
-                    label: '数量',
-                    align: 'center'
-                },
-
-
-            ];
-        },
-
-        clientEnvironmentId() {
-            return this.$store.state.user.info.clientEnvironmentId;
-        },
-    },
-
-    watch: {
-
-    },
-    methods: {
-
-
-
-        open(row) {
-            this.visible = true
-            if (row.detailType == 1) {
-                this.detailType = 1
-                this.$nextTick(() => {
-                    this.$refs.table.setData([...row.detailList]);
-                })
-            } else if (row.detailType == 2) {
-                this.detailType = 2
-                this.$nextTick(() => {
-                    this.$refs.table2.setData([...row.detailList]);
-                })
-            }
-
-
-
-        },
-
-
-
-
-
-
-
-        handleClose() {
-            this.visible = false
-
-
-
-        },
-
-    }
-}
-</script>
-  
-<style lang="scss" scoped></style>
-  

+ 241 - 235
src/views/bpm/handleTask/components/purchaseOrder/outSourceSendCk/detailDialog.vue

@@ -1,259 +1,265 @@
 <template>
   <div>
-    <el-form ref="form" :model="form" label-width="130px">
-      <headerTitle title="发货信息"></headerTitle>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="委外申请单编码:"
-            prop="code"
-            style="margin-bottom: 22px"
-          >
-            {{ form.code }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="采购订单编码:"
-            prop="orderNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.orderNo }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位:"
-            prop="contactName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.supplierName }}
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位联系人:"
-            prop="linkName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.linkName }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="计价方式:" style="margin-bottom: 22px">
-            {{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位电话:"
-            prop="linkPhone"
-            style="margin-bottom: 22px"
-          >
-            {{ form.linkPhone }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="车辆号:"
-            prop="carNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.carNo }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="送货单号:"
-            prop="sendNoteNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.sendNoteNo }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="订单类型:"
-            prop="sourceTypeName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.sourceTypeName }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item prop="files" label="附件:">
-            <div v-if="form.files && form.files?.length">
-              <el-link
-                v-for="link in form.files"
-                :key="link.id"
-                type="primary"
-                :underline="false"
-                @click="downloadFile(link)"
-              >
-                {{ link.name }}
-              </el-link>
-            </div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12"> </el-col>
-      </el-row>
-    </el-form>
-
-    <headerTitle title="产品清单"></headerTitle>
-    <ele-pro-table
-      ref="table"
-      :needPage="false"
-      :columns="competAnalysisListcolumns"
-      :toolkit="[]"
-      :datasource="detailData.detailList"
-      row-key="id"
-    >
-      <!-- <template v-slot:toolbar>
-       <div class="headbox">
-       <span class="amount">总计:{{detailData.totalAmount}}元</span>
-       <span class="amount">应付金额:{{detailData.payAmount}}元</span>
-     </div>
-     </template> -->
+
+    <headerTitle title="委外单"></headerTitle>
+    <ele-pro-table ref="table" :needPage="false" :columns="columns" :toolkit="[]" :datasource="list"
+      row-key="id">
+
+
+      <template v-slot:type="{ row }">
+        <div v-if="row.type == 1">采购委外</div>
+        <div v-if="row.type == 2">直接发货委外</div>
+        <div v-if="row.type == 3">无采购委外</div>
+      </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>
+          <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.files?.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>
+
+
+
+
     </ele-pro-table>
+
+
   </div>
 </template>
 
 <script>
-  import { getFile } from '@/api/system/file';
-  import { getById } from '@/api/bpm/components/outsourcedWarehousing/index';
+import { getFile } from '@/api/system/file';
+import {
+  applyOutsource,
+} from '@/api/bpm/components/purchasingManage/outSourceSendCk';
 
-  export default {
-    props: {
-      businessId: {
-        default: ''
-      }
+
+export default {
+  components: {
+
+  },
+  props: {
+    businessId: {
+      default: ''
+    }
+  },
+  data() {
+    return {
+      detailId: '',
+
+      list: [],
+
+    };
+  },
+
+  computed: {
+    // 表格列配置
+    columns() {
+      return [
+        {
+          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: 'categoryCode',
+          label: '物品Code',
+          align: 'center'
+        },
+        
+        {
+          prop: 'categoryName',
+          label: '名称',
+          align: 'center'
+        },
+
+
+        
+        {
+          prop: 'totalCount',
+          label: '委外数量',
+          align: 'center'
+        },
+
+        {
+          prop: 'totalWeight',
+          label: '委外重量',
+          align: 'center'
+        },
+
+        {
+          slot: 'type',
+          label: '委外类型',
+          align: 'center'
+        },
+
+
+
+        {
+          prop: 'remark',
+          label: '备注',
+          align: 'center'
+        },
+
+        {
+          slot: 'requireDeliveryTime',
+          label: '预计到货日期',
+          align: 'center',
+          minWidth: 70
+        },
+
+
+
+
+        {
+          prop: 'produceRoutingName',
+          label: '工艺路线',
+          align: 'center',
+        },
+
+        {
+          prop: 'warehouseName',
+          label: '仓库',
+          align: 'center',
+        },
+
+
+        {
+          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,
+        },
+
+
+    
+
+
+      ];
     },
-    data() {
-      return {
-        detailId: '',
-        form: {},
-        detailData: {},
-        competAnalysisListcolumns: [
-          {
-            width: 45,
-            type: 'index',
-            columnKey: 'index',
-            align: 'center',
-            fixed: 'left'
-          },
-          {
-            minWidth: 140,
-            prop: 'categoryName',
-            label: '名称',
-            slot: 'categoryName',
-            align: 'center'
-          },
-          {
-            minWidth: 120,
-            prop: 'categoryCode',
-            label: '编码',
-            slot: 'categoryCode',
-            align: 'center'
-          },
-          {
-            minWidth: 100,
-            prop: 'categoryLevelName',
-            label: '类型',
-            slot: 'categoryLevelName',
-            align: 'center'
-          },
-          {
-            width: 160,
-            prop: 'brandNum',
-            label: '牌号',
-            slot: 'brandNum',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'modelType',
-            label: '型号',
-            slot: 'modelType',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'specification',
-            label: '规格',
-            slot: 'specification',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'totalCount',
-            label: '数量',
-            slot: 'totalCount',
-            align: 'center'
-          }
-        ]
-      };
+
+    clientEnvironmentId() {
+      return this.$store.state.user.info.clientEnvironmentId;
     },
-    created() {
-      this.getDetailData(this.businessId);
+  },
+  created() {
+    this.getDetailData(this.businessId);
+  },
+  methods: {
+    downloadFile(file) {
+      getFile({ objectName: file.storePath }, file.name);
     },
-    methods: {
-      downloadFile(file) {
-        getFile({ objectName: file.storePath }, file.name);
-      },
-      async getDetailData(id) {
-        this.loading = true;
-        const data = await getById(id);
-        this.loading = false;
-        if (data) {
-          this.form = data;
-          this.detailData = data;
-        }
-      },
-      getTableValue() {
-        return Promise.resolve(this.form);
+    async getDetailData(id) {
+      this.loading = true;
+      const data = await applyOutsource(id);
+      this.loading = false;
+      if (data) {
+        this.list = [ data ];
       }
-    }
-  };
+    },
+
+
+    handleDetails(row) {
+      this.$refs.detailsRef.open(row)
+    },
+
+  }
+};
 </script>
 
 <style scoped lang="scss">
-  .ele-dialog-form {
-    .el-form-item {
-      margin-bottom: 10px;
-    }
+.ele-dialog-form {
+  .el-form-item {
+    margin-bottom: 10px;
   }
+}
 
-  .headbox {
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
+.headbox {
+  display: flex;
+  justify-content: flex-start;
+  align-items: center;
 
-    .amount {
-      font-size: 14px;
-      font-weight: bold;
-      margin-right: 20px;
-    }
+  .amount {
+    font-size: 14px;
+    font-weight: bold;
+    margin-right: 20px;
   }
+}
 </style>

+ 0 - 259
src/views/bpm/handleTask/components/purchaseOrder/outSourceSendCk/detailDialog2.vue

@@ -1,259 +0,0 @@
-<template>
-  <div>
-    <el-form ref="form" :model="form" label-width="130px">
-      <headerTitle title="发货信息"></headerTitle>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="委外申请单编码:"
-            prop="code"
-            style="margin-bottom: 22px"
-          >
-            {{ form.code }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="采购订单编码:"
-            prop="orderNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.orderNo }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位:"
-            prop="contactName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.supplierName }}
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位联系人:"
-            prop="linkName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.linkName }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item label="计价方式:" style="margin-bottom: 22px">
-            {{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="外协单位电话:"
-            prop="linkPhone"
-            style="margin-bottom: 22px"
-          >
-            {{ form.linkPhone }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="车辆号:"
-            prop="carNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.carNo }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="送货单号:"
-            prop="sendNoteNo"
-            style="margin-bottom: 22px"
-          >
-            {{ form.sendNoteNo }}
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="12">
-          <el-form-item
-            label="订单类型:"
-            prop="sourceTypeName"
-            style="margin-bottom: 22px"
-          >
-            {{ form.sourceTypeName }}
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item prop="files" label="附件:">
-            <div v-if="form.files && form.files?.length">
-              <el-link
-                v-for="link in form.files"
-                :key="link.id"
-                type="primary"
-                :underline="false"
-                @click="downloadFile(link)"
-              >
-                {{ link.name }}
-              </el-link>
-            </div>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12"> </el-col>
-      </el-row>
-    </el-form>
-
-    <headerTitle title="产品清单"></headerTitle>
-    <ele-pro-table
-      ref="table"
-      :needPage="false"
-      :columns="competAnalysisListcolumns"
-      :toolkit="[]"
-      :datasource="detailData.detailList"
-      row-key="id"
-    >
-      <!-- <template v-slot:toolbar>
-       <div class="headbox">
-       <span class="amount">总计:{{detailData.totalAmount}}元</span>
-       <span class="amount">应付金额:{{detailData.payAmount}}元</span>
-     </div>
-     </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>
-    </ele-pro-table>
-  </div>
-</template>
-
-<script>
-  import { getFile } from '@/api/system/file';
-  import { getById } from '@/api/bpm/components/outsourcedWarehousing/index';
-
-  export default {
-    props: {
-      businessId: {
-        default: ''
-      }
-    },
-    data() {
-      return {
-        detailId: '',
-        form: {},
-        detailData: {},
-        competAnalysisListcolumns: [
-          {
-            width: 45,
-            type: 'index',
-            columnKey: 'index',
-            align: 'center',
-            fixed: 'left'
-          },
-          {
-            minWidth: 140,
-            prop: 'categoryName',
-            label: '名称',
-            slot: 'categoryName',
-            align: 'center'
-          },
-          {
-            minWidth: 120,
-            prop: 'categoryCode',
-            label: '编码',
-            slot: 'categoryCode',
-            align: 'center'
-          },
-          {
-            minWidth: 100,
-            prop: 'categoryLevelName',
-            label: '类型',
-            slot: 'categoryLevelName',
-            align: 'center'
-          },
-          {
-            width: 160,
-            prop: 'brandNum',
-            label: '牌号',
-            slot: 'brandNum',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'modelType',
-            label: '型号',
-            slot: 'modelType',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'specification',
-            label: '规格',
-            slot: 'specification',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'totalCount',
-            label: '数量',
-            slot: 'totalCount',
-            align: 'center'
-          }
-        ]
-      };
-    },
-    created() {
-      this.getDetailData(this.businessId);
-    },
-    methods: {
-      downloadFile(file) {
-        getFile({ objectName: file.storePath }, file.name);
-      },
-      async getDetailData(id) {
-        this.loading = true;
-        const data = await getById(id);
-        this.loading = false;
-        if (data) {
-          this.form = data;
-          this.detailData = data;
-        }
-      },
-      getTableValue() {
-        return Promise.resolve(this.form);
-      }
-    }
-  };
-</script>
-
-<style scoped lang="scss">
-  .ele-dialog-form {
-    .el-form-item {
-      margin-bottom: 10px;
-    }
-  }
-
-  .headbox {
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-
-    .amount {
-      font-size: 14px;
-      font-weight: bold;
-      margin-right: 20px;
-    }
-  }
-</style>