ysy 2 年之前
父節點
當前提交
5d481cf527

+ 21 - 8
src/views/outsourcing/components/release.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-    <ele-modal :visible.sync="visible" title="发布" width="800px" append-to-body>
+    <ele-modal :visible.sync="visible" v-if="visible" title="发布" width="800px" append-to-body>
 
 
         <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form ref="form" :model="form" :rules="rules" label-width="80px">
             <el-row>
             <el-row>
@@ -30,7 +30,7 @@
 
 
                 <el-col :span="20">
                 <el-col :span="20">
                     <el-form-item label="分批到货:" prop="">
                     <el-form-item label="分批到货:" prop="">
-                        <el-link type="primary" :underline="false" @click.native="handleMethod(row)">
+                        <el-link type="primary" :underline="false" @click.native="handleMethod">
                             设置分批时间
                             设置分批时间
                         </el-link>
                         </el-link>
                     </el-form-item>
                     </el-form-item>
@@ -48,7 +48,7 @@
         <template v-slot:footer>
         <template v-slot:footer>
             <el-button @click="close">取消</el-button>
             <el-button @click="close">取消</el-button>
             <el-button type="primary" :loading="loading" @click="save">
             <el-button type="primary" :loading="loading" @click="save">
-                保存
+                发布
             </el-button>
             </el-button>
         </template>
         </template>
 
 
@@ -69,7 +69,7 @@ export default {
     data() {
     data() {
         return {
         return {
             visible: false,
             visible: false,
-
+            rowObj: {},
             form: {},
             form: {},
             rules: {},
             rules: {},
             loading: false
             loading: false
@@ -82,7 +82,9 @@ export default {
             getFile({ objectName: file.storePath }, file.name);
             getFile({ objectName: file.storePath }, file.name);
         },
         },
         open(row) {
         open(row) {
+
             this.visible = true
             this.visible = true
+            this.rowObj = row
         },
         },
 
 
         close() {
         close() {
@@ -91,15 +93,26 @@ export default {
 
 
 
 
         handleMethod() {
         handleMethod() {
-         
-            this.$refs.timeDialogRef.open()
+            this.$refs.timeDialogRef.open(this.rowObj)
         },
         },
 
 
         chooseTime(timeList) {
         chooseTime(timeList) {
-            console.log(timeList)
+            if (timeList.length > 0) {
+                this.form.timeList = timeList
+                this.form.deliveryMethod = 2
+            } else {
+                this.form.timeList = []
+                this.form.deliveryMethod = 1
+            }
+
         },
         },
 
 
-        save() { },
+        save() {
+            this.form.id = this.rowObj.id
+            release(this.form).then(res => {
+                this.close()
+            })
+        },
 
 
     }
     }
 }
 }

+ 2 - 2
src/views/outsourcing/components/search.vue

@@ -3,7 +3,7 @@
     <el-form label-width="90px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
     <el-form label-width="90px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
         <el-row :gutter="15">
         <el-row :gutter="15">
             <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
             <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-                <el-form-item label="工单Id:">
+                <el-form-item label="工单Code:">
                     <el-input clearable v-model="where.workOrderId" placeholder="请输入" />
                     <el-input clearable v-model="where.workOrderId" placeholder="请输入" />
                 </el-form-item>
                 </el-form-item>
             </el-col>
             </el-col>
@@ -51,7 +51,7 @@ export default {
         return {
         return {
             // 表单数据
             // 表单数据
             where: { ...defaultWhere },
             where: { ...defaultWhere },
-       
+
         };
         };
     },
     },
     computed: {
     computed: {

+ 26 - 7
src/views/outsourcing/components/timeDialog.vue

@@ -1,9 +1,12 @@
 <template>
 <template>
-    <el-dialog :title="title" :visible.sync="visible" :before-close="handleClose" :close-on-click-modal="false"
+    <el-dialog :title="title"  v-if="visible" :visible.sync="visible" :before-close="handleClose" :close-on-click-modal="false"
         :close-on-press-escape="false" append-to-body width="35%">
         :close-on-press-escape="false" append-to-body width="35%">
 
 
         <el-form :model="form" ref="tableForm" class="tableForm" :rules="tableFormRules">
         <el-form :model="form" ref="tableForm" class="tableForm" :rules="tableFormRules">
             <el-button type="primary" size="small" style="margin-bottom: 10px" @click="handleAdd()">新增</el-button>
             <el-button type="primary" size="small" style="margin-bottom: 10px" @click="handleAdd()">新增</el-button>
+            
+             <span>&nbsp;&nbsp;&nbsp;&nbsp;委外总数: {{  formedNumLast }}</span>
+             
             <el-table ref="multipleTable" :data="form.timeList" tooltip-effect="dark" style="width: 100%" stripe
             <el-table ref="multipleTable" :data="form.timeList" tooltip-effect="dark" style="width: 100%" stripe
                 :header-cell-style="{ background: '#EEEEEE', border: 'none' }">
                 :header-cell-style="{ background: '#EEEEEE', border: 'none' }">
 
 
@@ -13,7 +16,6 @@
                     <template slot-scope="{ row, $index }">
                     <template slot-scope="{ row, $index }">
                         <el-form-item :prop="'timeList.' + $index + '.purchaseQuantity'"
                         <el-form-item :prop="'timeList.' + $index + '.purchaseQuantity'"
                             :rules="tableFormRules.purchaseQuantity">
                             :rules="tableFormRules.purchaseQuantity">
-
                             <el-input placeholder="请输入" clearable v-model="row.purchaseQuantity"></el-input>
                             <el-input placeholder="请输入" clearable v-model="row.purchaseQuantity"></el-input>
                         </el-form-item>
                         </el-form-item>
 
 
@@ -46,7 +48,7 @@
 
 
 
 
 
 
-        <div class="btns">
+        <div class="btns" v-if="!isDetails">
             <el-button type="primary" size="small" @click="handleOk">确认</el-button>
             <el-button type="primary" size="small" @click="handleOk">确认</el-button>
             <el-button size="small" @click="handleClose">取消</el-button>
             <el-button size="small" @click="handleClose">取消</el-button>
         </div>
         </div>
@@ -60,6 +62,10 @@
 
 
 export default {
 export default {
     components: {
     components: {
+    },
+
+    props: {
+    
     },
     },
     data() {
     data() {
         return {
         return {
@@ -88,7 +94,12 @@ export default {
                     message: '请选择日期',
                     message: '请选择日期',
                     trigger: 'change'
                     trigger: 'change'
                 }
                 }
-            }
+            },
+
+            formedNumLast: 0,
+            isDetails: false
+
+        
 
 
 
 
         }
         }
@@ -101,11 +112,19 @@ export default {
 
 
 
 
 
 
-        open() {
-
-            this.form.timeList =  []
+        open(row, type) {
+        
+            this.formedNumLast = row.formedNumLast
+            this.form.timeList = []
 
 
             this.visible = true
             this.visible = true
+            this.isDetails = false
+            if(type == 'details') {
+                this.form.timeList = row.timeList
+                this.isDetails = true
+                this.$forceUpdate()
+            }
+           
 
 
         },
         },
 
 

+ 25 - 8
src/views/outsourcing/index.vue

@@ -7,8 +7,18 @@
             <ele-pro-table ref="table" :columns="columns" :datasource="datasource" cache-key="workOrderTable">
             <ele-pro-table ref="table" :columns="columns" :datasource="datasource" cache-key="workOrderTable">
 
 
 
 
-                <template v-slot:isRelease="{ row }">
-                    <el-tag>{{ row.isRelease == 1 ? '已发布' : '未发布' }}</el-tag>
+                
+
+                <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>
 
 
 
 
@@ -43,13 +53,12 @@
                         详情
                         详情
                     </el-link>
                     </el-link>
 
 
-                    <!-- v-if="row.isRelease == 0"  -->
-                    <el-link type="primary" :underline="false" @click="handleRelease(row)">
+
+                    <el-link type="primary"  v-if="row.status != 1" :underline="false" @click="handleRelease(row)">
                         发布
                         发布
                     </el-link>
                     </el-link>
 
 
 
 
-
                 </template>
                 </template>
 
 
 
 
@@ -60,6 +69,8 @@
         <release ref="releaseRef"></release>
         <release ref="releaseRef"></release>
         <detail ref="detailsRef"></detail>
         <detail ref="detailsRef"></detail>
 
 
+        <timeDialog ref="timeDialogRef"></timeDialog>
+
 
 
     </div>
     </div>
 </template>
 </template>
@@ -70,13 +81,15 @@ import flow from './components/flow.vue'
 import search from './components/search.vue';
 import search from './components/search.vue';
 import release from './components/release.vue'
 import release from './components/release.vue'
 import Detail from './components/details.vue';
 import Detail from './components/details.vue';
+import timeDialog from './components/timeDialog.vue'
 import { getFile } from "@/api/system/file";
 import { getFile } from "@/api/system/file";
 export default {
 export default {
     components: {
     components: {
         search,
         search,
         flow,
         flow,
         release,
         release,
-        Detail
+        Detail,
+        timeDialog
     },
     },
     data() {
     data() {
         return {
         return {
@@ -145,7 +158,7 @@ export default {
                 },
                 },
 
 
                 {
                 {
-                    prop: 'expectReceiveDate',
+                    slot: 'requireDeliveryTime',
                     label: '预计到货日期',
                     label: '预计到货日期',
                     align: 'center',
                     align: 'center',
                     minWidth: 70
                     minWidth: 70
@@ -160,7 +173,7 @@ export default {
                 },
                 },
 
 
                 {
                 {
-                    slot: 'isRelease',
+                    slot: 'status',
                     label: '状态',
                     label: '状态',
                     align: 'center'
                     align: 'center'
                 },
                 },
@@ -240,6 +253,10 @@ export default {
 
 
         },
         },
 
 
+        handleMethod(row) {
+            this.$refs.timeDialogRef.open(row, 'details')
+        },
+
 
 
         handleRelease(row) {
         handleRelease(row) {
             this.$refs.releaseRef.open(row)
             this.$refs.releaseRef.open(row)