Jelajahi Sumber

售后服务查询条件样式更改 发货单弹窗增加查询条件

8521520123jsy 1 tahun lalu
induk
melakukan
e57e5ab14d

+ 22 - 2
src/components/jimureport/browseModal.vue

@@ -6,10 +6,12 @@
       custom-class="ele-dialog-form"
       append-to-body
       :fullscreen="true"
+      :before-close="cancel"
     >
       <browse :url="fileUrl"></browse
     ></ele-modal>
-    <el-link type="primary" @click="open">{{ text }}</el-link>
+    <!-- <el-link type="primary" @click="open">{{ text }}</el-link> -->
+    <el-link v-if="!browseShow" type="primary" @click="open">{{ text }}</el-link>
   </div>
 </template>
 
@@ -31,6 +33,11 @@
       },
       businessCode: {
         default: ''
+      },
+      // ***  公共按钮形式触发
+      browseShow:{
+        type:Boolean,
+        default:false
       }
     },
     data() {
@@ -39,12 +46,25 @@
         showEditFlag: false
       };
     },
-
+    // *** 新增 
+    mounted(){
+      if(this.browseShow){
+        // this.showEditFlag = this.browseShow;
+        this.open();
+      }
+    },
     methods: {
       async open() {
         this.showEditFlag = true;
         let url = await getJmPrintViewUrl(this.businessCode);
         this.fileUrl = `${url}?token=${getToken()}&id=${this.businessId}`;
+      },
+      // *** 新增
+      cancel(){
+        this.showEditFlag = false;
+        if(this.browseShow){
+          this.$emit('cancelQuo')
+        }
       }
     }
   };

+ 3 - 3
src/views/saleManage/contact/components/parentList.vue

@@ -1,7 +1,7 @@
 <template>
-  <el-dialog title="选择客户" custom-class="ele-dialog-form long-dialog-form" :visible.sync="visible"
+  <ele-modal title="选择客户" custom-class="ele-dialog-form long-dialog-form" :visible.sync="visible"
              :before-close="handleClose" :close-on-click-modal="false" top="5vh"
-             :close-on-press-escape="false" append-to-body width="70%">
+             :close-on-press-escape="false" append-to-body width="70%" :maxable="true">
     <el-card shadow="never">
 
       <contact-search @search="reload"></contact-search>
@@ -28,7 +28,7 @@
       <el-button size="small" @click="handleClose">关闭</el-button>
     </div>
 
-  </el-dialog>
+  </ele-modal>
 </template>
 
 <script>

+ 1 - 1
src/views/salesServiceManagement/accessory/components/search.vue

@@ -1,6 +1,6 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
 export default {

+ 14 - 1
src/views/salesServiceManagement/components/info.vue

@@ -133,6 +133,9 @@
       :default-expanded-keys="expandedKeys"
       -->
       <!-- ***  -->
+      <template v-slot:measureQuantity="{row}">
+        <el-input  @input="totalCountChange(row,'measureQuantity')" v-model="row.measureQuantity" type="number" :min="1" placeholder="请输入" :disabled="!tableOperate"></el-input>
+      </template>
       <template v-slot:expand="{ row,$index }">
         <div
           style=" width: calc(100% - 55px);min-height: 60px;margin-left: 55px;"
@@ -536,6 +539,7 @@ export default {
           }
         },
         {
+          slot: 'measureQuantity',
           prop: 'measureQuantity',
           label: '计量数量',
           align: 'center',
@@ -844,11 +848,20 @@ export default {
         this.$refs.invoiceDialogRef.open(this.form.contractInfo.id, obj);
       }
     },
+    totalCountChange(data,name) {
+      data[name] = data[name].replace(/[^\d]/g, '').replace(/^0+/, '') || '1';
+    },
     //发货单回调
     invoiceChange(data) {
       this.$set(this.form, 'orderCode', data.orderCode);
       this.$set(this.form, 'orderId', data.orderId);
-      this.$set(this.form, 'tableList', data.tableList);
+      let list = JSON.parse(JSON.stringify(data.tableList));
+      // 如果计量数量没有的话默认是 1
+      list.map(
+        (el) =>
+          (el.measureQuantity = el.measureQuantity ? el.measureQuantity : 1)
+      );
+      this.$set(this.form, 'tableList', list);
       // 单选赋值 ***
       // if (data.tableList && data.tableList.length > 0) {
       //   this.radio = data.tableList[0].id;

+ 87 - 2
src/views/salesServiceManagement/components/invoiceDialog.vue

@@ -8,8 +8,73 @@
     width="85%"
     append-to-body
     @close="handleClose"
+    :maxable="true"
   >
     <div class="main_container">
+      <el-form :model="searchForm" label-width="120px" @keyup.enter.native="onSearch" @submit.native.prevent>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="发货单编码:">
+              <el-input
+                style="width: 100%"
+                type="text"
+                clearable
+                placeholder="请输入"
+                v-model="searchForm.docNo"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="销售订单编码:">
+              <el-input
+                style="width: 100%"
+                type="text"
+                clearable
+                placeholder="请输入"
+                v-model="searchForm.orderNo"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="客户名称:">
+              <el-input
+                style="width: 100%"
+                type="text"
+                clearable
+                placeholder="请输入"
+                v-model="searchForm.contactName"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="创建时间:">
+              <el-date-picker
+                style="width: 100%;"
+                v-model="searchForm.time"
+                type="datetimerange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                :default-time="['00:00:00']"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="16">
+            <el-form-item>
+              <el-button
+                size="small"
+                type="primary"
+                icon="el-icon-search"
+                class="ele-btn-icon"
+                @click="onSearch"
+              >查询</el-button>
+
+              <el-button @click="reset" icon="el-icon-refresh" class="ele-btn-icon" size="medium">重置</el-button>
+              <slot></slot>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
       <headerTitle title="发货单" style="margin-top: 8px"></headerTitle>
       <ele-pro-table
         ref="tableRef2"
@@ -234,7 +299,8 @@ export default {
         // }
       ],
       contactId: '',
-      goodsShow: false
+      goodsShow: false,
+      searchForm: {}
     };
   },
   created() {},
@@ -250,7 +316,7 @@ export default {
       this.rowClickData.id = obj.orderId;
       this.rowClickData.docNo = obj.orderCode;
       this.packingList = JSON.parse(JSON.stringify(obj.tableList));
-      
+
       this.$nextTick(() => {
         this.packingList.forEach((row) => {
           this.$refs.tableRef3.toggleRowSelection(row);
@@ -267,6 +333,25 @@ export default {
         ...where
       });
     },
+    onSearch() {
+      console.log(this.searchForm, 'form');
+      let data = JSON.parse(JSON.stringify(this.searchForm));
+      if (data.time?.length > 0) {
+        data.createTimeStart = data.time[0];
+        data.createTimeEnd = data.time[1];
+      }
+      delete data.time;
+      this.reload(data);
+    },
+    reset() {
+      this.searchForm = {
+        docNo: '',
+        orderNo: '',
+        contactName: '',
+        time: []
+      };
+      this.reload({});
+    },
     reload(where) {
       where = {
         ...where,

+ 1 - 1
src/views/salesServiceManagement/demandList/components/searchTable.vue

@@ -1,6 +1,6 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
 export default {

+ 1 - 1
src/views/salesServiceManagement/evaluate/components/search.vue

@@ -1,6 +1,6 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
 export default {

+ 0 - 1
src/views/salesServiceManagement/evaluate/index.vue

@@ -122,7 +122,6 @@ export default {
           label: '评价内容',
           align: 'center',
           showOverflowTooltip: true,
-          minWidth: 350
         },
 
         {

+ 1 - 1
src/views/salesServiceManagement/toDoList/components/plan-search.vue

@@ -1,6 +1,6 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
 export default {

+ 41 - 32
src/views/salesServiceManagement/toDoList/index.vue

@@ -67,12 +67,15 @@
             @click="handleCommand('handleDispatchOrders', row)"
             v-if="[0, 4,5].includes(row.planStatus)"
           >派单</el-link>
+          <!-- <jimureportBrowse   :businessId="row.id" businessCode="eomquotationprint"></jimureportBrowse> -->
+
         </template>
       </ele-pro-table>
     </el-card>
     <addOrUpdateDialog ref="addOrUpdateDialogRef" @reload="reload"></addOrUpdateDialog>
     <applyForSpare ref="edit" @reload="reload" />
     <generateForm ref="generateFormRef"></generateForm>
+    <jimureportBrowse @cancelQuo="cancelQuo"  v-if="browseShow" :browseShow="browseShow" :businessId="currentRow.id" businessCode="eomquotationprint"></jimureportBrowse>
   </div>
 </template>
 
@@ -80,7 +83,7 @@
 import planSearch from './components/plan-search.vue';
 import addOrUpdateDialog from './components/addOrUpdateDialog.vue';
 import generateForm from './components/generateForm.vue';
-
+import jimureportBrowse from '@/components/jimureport/browseModal.vue'
 import applyForSpare from '../components/applyForSpare.vue';
 
 import {
@@ -88,7 +91,7 @@ import {
   deleteSalesPlan,
   planRevocation
 } from '@/api/salesServiceManagement/index';
-
+import { getToken } from '@/utils/token-util';
 import dictMixins from '@/mixins/dictMixins';
 
 export default {
@@ -97,7 +100,8 @@ export default {
     planSearch,
     addOrUpdateDialog,
     generateForm,
-    applyForSpare
+    applyForSpare,
+    jimureportBrowse
   },
   data() {
     return {
@@ -156,33 +160,33 @@ export default {
           align: 'center',
           showOverflowTooltip: true
         },
-        {
-          prop: 'isSyncBill',
-          label: '是否自动派单',
-          align: 'center',
-          showOverflowTooltip: true,
-          formatter: (item) => {
-            return {
-              0: '否',
-              1: '是'
-            }[item.isSyncBill];
-          }
-        },
-        {
-          prop: 'duration',
-          label: '预计售后时长(小时)',
-          align: 'center',
-          showOverflowTooltip: true,
-          formatter: (row) => {
-            if (!row.duration) return '';
-            if (row.durationUnit == '2')
-              return row.duration.toFixed(1) + ' 小时';
-            if (row.durationUnit == '1')
-              return (row.duration / 60).toFixed(1) + ' 小时';
-            if (row.durationUnit == '3')
-              return (row.duration * 24).toFixed(1) + ' 小时';
-          }
-        },
+        // {
+        //   prop: 'isSyncBill',
+        //   label: '是否自动派单',
+        //   align: 'center',
+        //   showOverflowTooltip: true,
+        //   formatter: (item) => {
+        //     return {
+        //       0: '否',
+        //       1: '是'
+        //     }[item.isSyncBill];
+        //   }
+        // },
+        // {
+        //   prop: 'duration',
+        //   label: '预计售后时长(小时)',
+        //   align: 'center',
+        //   showOverflowTooltip: true,
+        //   formatter: (row) => {
+        //     if (!row.duration) return '';
+        //     if (row.durationUnit == '2')
+        //       return row.duration.toFixed(1) + ' 小时';
+        //     if (row.durationUnit == '1')
+        //       return (row.duration / 60).toFixed(1) + ' 小时';
+        //     if (row.durationUnit == '3')
+        //       return (row.duration * 24).toFixed(1) + ' 小时';
+        //   }
+        // },
         {
           prop: 'planStatus',
           label: '状态',
@@ -241,7 +245,8 @@ export default {
       // 加载状态
       loading: false,
       radioId: '',
-      currentRow: {}
+      currentRow: {},
+      browseShow: false,
     };
   },
   computed: {},
@@ -321,7 +326,11 @@ export default {
         this.$message.warning('请先选择计划')
         return;
       }
-      this.handleCommand('handleGenerate', this.currentRow);
+      this.browseShow = true;
+      // this.handleCommand('handleGenerate', this.currentRow);
+    },
+    cancelQuo(){
+      this.browseShow = false;
     }
   }
 };

+ 1 - 1
src/views/salesServiceManagement/workOrder/components/work-search.vue

@@ -1,6 +1,6 @@
 <!-- 搜索表单 -->
 <template>
-  <seekPage :seekList="seekList" :formLength="4" @search="search"></seekPage>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
 <script>
 export default {