Browse Source

汽保设备维修

caojunjie 2 years ago
parent
commit
6fc61264cd

+ 16 - 2
src/api/basicData/EquipmentArchives.js

@@ -45,6 +45,20 @@ export const corpequipmentarchivesitemRemove = (data) => {
     params: data
   })
 }
-
-
+// 查看设备明细
+export const corpequipmentarchivesitemList = (data) => {
+  return request({
+    url: '/api/blade-client/corpequipmentarchivesitem/list',
+    method: 'get',
+    params: data
+  })
+}
+// 获取维修工数据
+export const bladeUserList = (data) => {
+  return request({
+    url: '/api/blade-user/userList',
+    method: 'get',
+    params: data
+  })
+}
 

+ 12 - 0
src/api/basicData/product.js

@@ -11,6 +11,18 @@ export const getList = (current, size, params) => {
         }
     })
 }
+// 汽保专用产品列表
+export const getListNew = (current, size, params) => {
+    return request({
+        url: '/api/blade-client/goodsdesc/descListNew',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
 
 export const getGoodstype = () => {
     return request({

+ 15 - 9
src/views/EquipmentArchives/detailsPage.vue

@@ -121,7 +121,7 @@
                         <avue-crud ref="productCrud" :option="optionTwo" :data="productListShow" :page.sync="productPage"
                                    :search.sync="productSearch" @selection-change="productSelection" @search-change="goodsSearch"
                                    @current-change="productCurrent" @size-change="productSize"
-                                   @refresh-change="productRefresh" @on-load="productonLoad" :table-loading="loading"
+                                   @refresh-change="productRefresh" :table-loading="loading"
                                    @saveColumn="productSave" @resetColumn="productReset" :cell-style="cellStyle">
                             <template slot="menuLeft" slot-scope="{size}">
                                 <el-tabs v-model="activeName" @tab-click="tabHandle">
@@ -156,7 +156,7 @@ import { optionList } from "./js/optionList";
 import { optionTwo } from "./js/optionListTwo";
 import reportDialog from "@/components/report-dialog/main";
 import { multiply, sum, subtract } from "@/util/calculate";
-import { getList } from "@/api/basicData/product";
+import { getListNew } from "@/api/basicData/product";
 import {getList as GYSgetList} from "@/api/basicData/client";
 import {getList as getListpp } from "@/api/tirePartsMall/basicData/brandPage";
 import {
@@ -594,12 +594,15 @@ export default {
     },
       // 客户下拉框
     getCorpData(row) {
+        console.log(row)
       if (row) {
         this.form.corpName = row.cname
-        this.form.corpTel = row.tel
+        this.form.contactsTel = row.tel
+
+          // 地址
       } else {
         this.form.corpName = null
-        this.form.corpTel = null
+        this.form.contactsTel = null
       }
     },
 
@@ -612,6 +615,7 @@ export default {
               this.goodsListSave = []
               // 获取产品弹窗的左侧类型
               this.getGoodstypefun()
+              this.productonLoad(this.productPage, this.productSearch);
               this.productVisible = true
           } else {
              return false;
@@ -702,7 +706,8 @@ export default {
                     url:item.url?item.url:null,
                     factoryId:item.factoryId?item.factoryId:null,
                     factoryName:item.factoryName?item.factoryName:null,
-                    categoryitem:item.categoryitem?item.categoryitem:null
+                    categoryitem:item.categoryitem?item.categoryitem:null,
+                    equipmentDescribe:item.equipmentDescribe?item.equipmentDescribe:null,
                 }
             })
             const obj = {
@@ -798,7 +803,8 @@ export default {
                       storageId: this.form.storageId,
                       factoryId:item.corpId,
                       factoryName:item.corpName,
-                      ...item
+                      ...item,
+                      equipmentDescribe:item.cname,
                   })
               }
           }else {
@@ -809,11 +815,11 @@ export default {
                       storageId: this.form.storageId,
                       factoryId:item.corpId,
                       factoryName:item.corpName,
-                      ...item
+                      ...item,
+                      equipmentDescribe:item.cname,
                   })
               }
           }
-          console.log(this.data,802)
           this.form.equipmentNumber = this.data.length
           this.productVisible = false
       },
@@ -827,7 +833,7 @@ export default {
       productonLoad(page, params = {}){
           let data = this.deepClone(Object.assign(params, this.productSearch));
           this.loading = true;
-          getList(
+          getListNew(
               page.currentPage,
               page.pageSize,
               data

+ 8 - 2
src/views/EquipmentArchives/js/optionList.js

@@ -175,8 +175,8 @@ export const optionList = {
     },
     {
       label: "设备描述",
-      prop: "remarks",
-      cell: false,
+      prop: "equipmentDescribe",
+      cell: true,
       overHidden: true
     },
     {
@@ -234,6 +234,12 @@ export const optionList = {
       },
       dicData: [],
     },
+    {
+      label: "备注",
+      prop: "remarks",
+      cell: true,
+      overHidden: true
+    },
   ]
 }
 

+ 119 - 78
src/views/maintenanceQ/detailsPage.vue

@@ -27,10 +27,11 @@
       </div>
       <trade-card title="基础资料" style="margin-top: 60px" v-loading="loadingBtn">
         <avue-form ref="form" class="trading-form" v-model="form" :option="option">
-          <template slot="corpId">
-            <crop-select v-model="form.corpId" corpType="KH" :disabled="option.disabled"
-              @getCorpData="getCorpData"></crop-select>
-          </template>
+          <!--<template slot="corpName">-->
+          <!--  &lt;!&ndash;<crop-select v-model="form.corpId" corpType="KH" :disabled="option.disabled"&ndash;&gt;-->
+          <!--  &lt;!&ndash;  @getCorpData="getCorpData"></crop-select>&ndash;&gt;-->
+          <!--    -->
+          <!--</template>-->
 
             <template slot="maintenanceAmount">
                 <el-input v-model="form.maintenanceAmount" type="number" disabled
@@ -85,8 +86,6 @@
       <dictbiz-dialog ref="dictbiz" title="添加单位" code="unit" parentId="1585962784498225154" @closed="getAllWorkDicts">
       </dictbiz-dialog>
 
-      <report-dialog :switchDialog="switchDialog" :reportId="form.id" reportName="配件系统-采购单" @onClose="onClose()">
-      </report-dialog>
 
 
     </div>
@@ -97,7 +96,7 @@
 import { optionList } from "./js/optionList";
 import reportDialog from "@/components/report-dialog/main";
 import { multiply, sum, subtract } from "@/util/calculate";
-import {getList as yhgetList} from "@/api/system/user";
+import {getList as yhgetList, userList} from "@/api/system/user";
 
 import {
     maintenanceDetail,
@@ -105,13 +104,16 @@ import {
     maintenanceFeesRemove, maintenanceRevokeDispatchingWorkers,
     maintenanceSubmit
 } from "@/api/basicData/maintenanceQ";
-import { getGoodstype } from "@/api/basicData/product";
-import { getList as CPgetList } from "@/api/basicData/product";
+import {
+    bladeUserList,
+    corpequipmentarchivesitemList,
+    corpequipmentarchivesList,
+} from "@/api/basicData/EquipmentArchives";
 export default {
   name: "index",
   data() {
     return {
-      switchDialog: false,
+
       loadingBtn: false,
       addressTitle: null,
       form: {},
@@ -129,7 +131,13 @@ export default {
         column: [
           {
             label: "客户名称",
-            prop: "corpId",
+            prop: "corpName",
+            type: "select",
+              dicData:[],
+            props: {
+                label: 'corpName',
+                value: 'corpName'
+            },
             rules: [
               {
                 required: true,
@@ -137,8 +145,23 @@ export default {
                 trigger: "blur"
               }
             ],
-            span: 16,
-
+              change: (val) => {
+                if(val.value == '') return
+                  for(let item of val.column.dicData) {
+                      if (val.value == item.corpName){
+                          this.form.corpId = item.corpId
+                          this.form.corpTel = item.contactsTel
+                          this.form.deviceAddress = item.address
+                          this.form.corpDescribe = item.corpName
+                          // 设备名称
+                          corpequipmentarchivesitemList({pid:item.id}).then(res=>{
+                              this.findObject(this.option.column, "deviceName").dicData = res.data.data.records
+                          })
+                          break;
+                      }
+                  }
+              },
+            span: 8,
           },
             {
                 label: "客户电话",
@@ -153,35 +176,40 @@ export default {
                 ],
             },
             {
+                label: "单号",
+                prop: "sysNo",
+                disabled:true,
+                span: 8,
+            },
+            {
                 label: "设备名称",
-                prop: "deviceId",
+                prop: "deviceName",
                 dicData:[],
                 dataType: "string",
                 type: "select",
                 props: {
                     label: 'cname',
-                    value: 'id'
+                    value: 'cname'
                 },
-                rules: [
-                    {
-                        required: true,
-                        message: "",
-                        trigger: "blur"
-                    }
-                ],
-                span: 12,
+                span: 8,
                 change: (val) => {
                     val.column.dicData.map(item=>{
-                        if (val.value == item.id){
-                            this.form.deviceName = item.cname
+                        if (val.value == item.cname){
+                            this.form.deviceId = item.id
+                            this.form.deviceDescribe = item.cname
+
+                            this.form.categoryitem = item.categoryitem
+                            this.form.categoryitemId = item.categoryitemId
+                            this.form.factoryId = item.factoryId
+                            this.form.factoryName = item.factoryName
                         }
                     })
                 },
             },
             {
-                label: "设备地址",
+                label: "地址",
                 prop: "deviceAddress",
-                span: 12,
+                span: 8,
                 rules: [
                     {
                         required: true,
@@ -191,6 +219,14 @@ export default {
                 ],
             },
             {
+                label: "报修日期",
+                prop: "repairReportDate",
+                type: "date",
+                format: "yyyy-MM-dd",
+                valueFormat: "yyyy-MM-dd 00:00:00",
+                span: 8,
+            },
+            {
                 label: "故障描述",
                 prop: "faultDescribe",
                 type: "textarea",
@@ -204,36 +240,24 @@ export default {
                 dataType: "string",
                 type: "select",
                 props: {
-                    label: 'name',
+                    label: 'realName',
                     value: 'id'
                 },
-                rules: [
-                    {
-                        required: true,
-                        message: "",
-                        trigger: "blur"
-                    }
-                ],
                 span: 8,
                 change: (val) => {
-                    val.column.dicData.map(item=>{
+                    if(val.value == '') return
+                    for(let item of val.column.dicData) {
                         if (val.value == item.id){
                             this.form.maintenanceWorkerName = item.name
+                            this.form.maintenanceWorkerTel = item.phone
                         }
-                    })
+                    }
                 },
             },
             {
                 label: "维修工电话",
                 prop: "maintenanceWorkerTel",
                 span: 8,
-                rules: [
-                    {
-                        required: true,
-                        message: "",
-                        trigger: "blur"
-                    }
-                ],
             },
             {
                 label: "维修金额",
@@ -242,33 +266,36 @@ export default {
                 span: 8,
                 type: "number",
             },
-          {
-            label: "报修日期",
-            prop: "repairReportDate",
-            type: "date",
-            format: "yyyy-MM-dd",
-            valueFormat: "yyyy-MM-dd 00:00:00",
-            span: 8,
-          },
             {
-                label: "状态",
-                prop: "status",
-                dataType: "string",
-                type: "select",
-                disabled:true,
-                dicUrl: "/api/blade-system/dict-biz/dictionary?code=state_Q",
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
+                label: "客户描述",
+                prop: "corpDescribe",
+                type: "textarea",
+                minRows: 3,
                 span: 8,
+                change:(val)=>{
+                    if (!this.form.corpId){
+                        this.form.corpName = val.value
+                    }
+                }
+            },
+            {
+                label: "设备描述",
+                prop: "deviceDescribe",
+                type: "textarea",
+                minRows: 3,
+                span: 8,
+                change:(val)=>{
+                    if (!this.form.deviceId) {
+                        this.form.deviceName = val.value
+                    }
+                }
             },
           {
             label: "备注",
             prop: "remarks",
             type: "textarea",
             minRows: 3,
-            span: 16,
+            span: 8,
           }
         ]
       },
@@ -305,23 +332,16 @@ export default {
 
   },
   methods: {
-      // 打印报表按钮事件
-    openReport() {
-      this.switchDialog = !this.switchDialog;
-    },
-    onClose(val) {
-      this.switchDialog = val;
-    },
       // 获取下拉字典
     getAllWorkDicts() {
         // 获取地址信息
         // this.findObject(this.option.column, "deviceAddress").dicData = JSON.parse(localStorage.getItem('areaTypeTree'))
-        // 获取维修工信息
-        yhgetList().then(res=>{
-            this.findObject(this.option.column, "maintenanceWorkerId").dicData = res.data.data.records
+        // 获取客户名称(档案列表)
+        corpequipmentarchivesList().then(res=>{
+            this.findObject(this.option.column, "corpName").dicData = res.data.data.records
         })
-        CPgetList().then(res=>{
-            this.findObject(this.option.column, "deviceId").dicData = res.data.data.records
+        bladeUserList({roleAlias:'维修工'}).then(res=>{
+            this.findObject(this.option.column, "maintenanceWorkerId").dicData = res.data.data
         })
     },
     cellStyle() {
@@ -427,14 +447,27 @@ export default {
         this.amountblur()
       });
     },
-    //修改提交触发1 派工2 撤销派工3
+    //修改提交触发0 派工1 撤销派工2
     editCustomer(index) {
       this.$refs["form"].validate((valid, done) => {
         done();
         if (valid) {
-          if (this.data.length == 0) {
-            return this.$message.error('请添加一条维修项目');
+          if (!this.form.corpName) {
+              return this.$message.error('请维护客户描述');
           }
+            if (!this.form.deviceDescribe) {
+                return this.$message.error('请维护设备描述');
+            }
+
+            if(index == 1) {
+                if (!this.form.maintenanceWorkerId) {
+                    return this.$message.error('请选择维修工');
+                }
+                if (!this.form.maintenanceWorkerTel) {
+                    return this.$message.error('请填写维修工电话');
+                }
+            }
+
             let arr = this.data.map(item=>{
                 return {
                     id:item.id?item.id:null,
@@ -470,6 +503,14 @@ export default {
                 settlementAmount:this.form.settlementAmount?this.form.settlementAmount:0,
                 remarks:this.form.remarks,
                 status:this.form.status,
+                categoryitem:this.form.categoryitem, // 功能分类
+                factoryId:this.form.factoryId, // 工厂
+                factoryName:this.form.factoryName, // 工厂
+                deviceDescribe:this.form.deviceDescribe,
+                corpDescribe:this.form.corpDescribe,
+
+                categoryitemId:this.form.categoryitemId,
+
                 maintenanceFees:arr,
                 maintenanceFiles:list
             }

+ 14 - 0
src/views/maintenanceQ/index.vue

@@ -8,6 +8,8 @@
                 <template slot="menuLeft">
                     <el-button type="primary" size="mini" @click.stop="newAdd()">新建维修
                     </el-button>
+                    <el-button type="primary" size="mini" @click.stop="openExport()">导出
+                    </el-button>
                 </template>
                 <template slot="corpIdSearch">
                     <crop-select v-model="search.corpId" corpType="GYS"></crop-select>
@@ -42,6 +44,7 @@ import {
     allCropList,
 } from "@/api/basicData/customerInformation";
 import {getCustomerCode} from "@/enums/management-type";
+import {getToken} from "@/util/auth";
 export default {
     name: "index",
     data() {
@@ -82,6 +85,17 @@ export default {
         }
     },
     methods: {
+        // 导出设备
+        openExport() {
+            let params = JSON.parse(JSON.stringify(this.search))
+            const routeData = this.$router.resolve({
+                path: '/api/blade-sales-part/maintenance/export-out-info',      //跳转目标窗口的地址
+                query: {
+                    ...params    //括号内是要传递给新窗口的参数
+                }
+            })
+            window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
+        },
         // 客户查询
         allCropListfun(){
             let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;

+ 45 - 1
src/views/maintenanceQ/js/optionList.js

@@ -54,18 +54,20 @@ export const option = {
     {
       label: "单号",
       prop: "sysNo",
-      search: true,
       overHidden: true,
       index: 2
     },
     {
       label: "设备名称",
       prop: "deviceName",
+      search: true,
       overHidden: true,
       index: 3
     },
     {
       label: "客户电话",
+      search: true,
+      type: 'select',
       prop: "corpTel",
       index: 4
     },
@@ -83,6 +85,13 @@ export const option = {
     },
     {
       label: "维修工",
+      prop: "maintenanceWorkerID",
+      hide:true,
+      search: true,
+      index: 7
+    },
+    {
+      label: "维修工",
       prop: "maintenanceWorkerName",
       index: 7
     },
@@ -100,15 +109,32 @@ export const option = {
     {
       label: "报修日期",
       prop: "repairReportDate",
+      type:'date',
+      format: "yyyy-MM-dd",
+      valueFormat: 'yyyy-MM-dd HH:mm:ss',
       width: 200,
       index: 10
     },
     {
+      label: "报修日期",
+      prop: "repairReportDateList",
+      search: true,
+      unlinkPanels: true,
+      searchRange: true,
+      type:'date',
+      format: "yyyy-MM-dd",
+      valueFormat: 'yyyy-MM-dd HH:mm:ss',
+      searchDefaultTime: ["00:00:00", "23:59:59"],
+      hide:true,
+      index: 10
+    },
+    {
       label: "是否派工",
       prop: "dispatchingWorkers",
       dataType: "string",
       type: "select",
       disabled:true,
+      search: true,
       dicUrl: "/api/blade-system/dict-biz/dictionary?code=Dispatching_workers_Q",
       props: {
         label: "dictValue",
@@ -119,6 +145,22 @@ export const option = {
     {
       label: "完成日期",
       prop: "completeDate",
+      type:'date',
+      format: "yyyy-MM-dd",
+      valueFormat: 'yyyy-MM-dd HH:mm:ss',
+      index: 11
+    },
+    {
+      label: "完成日期",
+      prop: "completeDateList",
+      search: true,
+      unlinkPanels: true,
+      searchRange: true,
+      type:'date',
+      format: "yyyy-MM-dd",
+      valueFormat: 'yyyy-MM-dd HH:mm:ss',
+      searchDefaultTime: ["00:00:00", "23:59:59"],
+      hide:true,
       index: 11
     },
     {
@@ -127,6 +169,7 @@ export const option = {
       dataType: "string",
       type: "select",
       disabled:true,
+      search: true,
       dicUrl: "/api/blade-system/dict-biz/dictionary?code=payment_status_Q",
       props: {
         label: "dictValue",
@@ -140,6 +183,7 @@ export const option = {
       dataType: "string",
       type: "select",
       disabled:true,
+      search: true,
       dicUrl: "/api/blade-system/dict-biz/dictionary?code=state_Q",
       props: {
         label: "dictValue",