guarantee-lsq 2 жил өмнө
parent
commit
ac36415e08

+ 24 - 0
src/api/sqarepartmanage/sparepartused.js

@@ -129,6 +129,22 @@ export function selectSparePartUsedListByRepairId (parameter) {
   })
 }
 
+/**
+ * page func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function selectSparePartUsedListBySbId (parameter) {
+  return axios({
+    url: '/sqarepartmanage/spare-part-used/list/' + parameter.id,
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
 /**
  * delete single func
  * parameter: { }
@@ -175,3 +191,11 @@ export function statisticsByGroupBySparePage (parameter) {
     }
   })
 }
+
+export function updateSpare (parameter) {
+  return axios({
+    url: '/sqarepartmanage/spare-part-used/update/spare',
+    method: 'PUT',
+    data: parameter
+  })
+}

+ 30 - 10
src/views/repair/application-form/modules/DetailRepair.vue

@@ -112,11 +112,12 @@
           <div class="table-operator" v-if="$auth('repair-application-forms-finish')">
             <a-button type="primary" @click="handleSpareStoreSelect(1)">
               <a-icon type="plus"/>
-              添加专用备件
+              专用备件
             </a-button>
+            <a-divider type="vertical" />
             <a-button type="primary" @click="handleSpareStoreSelect(0)">
               <a-icon type="plus"/>
-              添加常用备件
+              常用备件
             </a-button>
           </div>
           <a-table
@@ -127,11 +128,14 @@
             rowKey="id">
             <span slot="actionSpare" slot-scope="record">
               <template>
-                <a v-if="$auth('repair-application-forms-finish')" @click="handleEditSpare(record)">修改</a>
-                <a-divider type="vertical" />
+<!--                <a v-if="$auth('repair-application-forms-finish')" @click="handleEditSpare(record)">修改</a>-->
+                <a-popconfirm v-if="$auth('repair-application-forms-finish')" title="是否替换该备件?" @confirm="updateSpare(record)">
+                  <a>更换备件</a>
+                </a-popconfirm>
+<!--                <a-divider type="vertical" />
                 <a-popconfirm v-if="$auth('repair-application-forms-finish')" title="是否要删除该条数据?" @confirm="batchDeleteSpare(record.id)">
                   <a>删除</a>
-                </a-popconfirm>
+                </a-popconfirm>-->
               </template>
             </span>
           </a-table>
@@ -226,6 +230,7 @@
 </template>
 
 <script>
+import { stringify } from 'qs'
 import DetailList from '@/components/tools/DetailList'
 import { fetchRepairApplicationForm, examine, approve, receive } from '@/api/repair/application-form'
 import CheckForm from './CheckForm'
@@ -241,7 +246,7 @@ import RepairProjectSelectModal from '@/views/repair/repairproject/modules/Repai
 import { queryRepairProject, fetchRepairProject, deleteRepairProjects } from '@/api/repair/repairproject'
 import SparePartInfoSelectModal from '@/views/sqarepartmanage/sparepartinfo/modules/SparePartInfoSelectModal'
 import BaseFormForRepair from '@/views/sqarepartmanage/sparepartused/modules/BaseFormForRepair'
-import { selectSparePartUsedListByRepairId, addSparePartUsedBatch, deleteSparePartUseds } from '@/api/sqarepartmanage/sparepartused'
+import { selectSparePartUsedListBySbId, addSparePartUsedBatch, deleteSparePartUseds, updateSpare } from '@/api/sqarepartmanage/sparepartused'
 import SpareStoreSelectModal from '@/views/store/sparestore/modules/SpareStoreSelectModal'
 import BaseTool from '@/utils/tool'
 import FeeBaseForm from '@/views/repair/fee/modules/BaseForm'
@@ -527,7 +532,10 @@ export default {
       queryRepairProject({ repairId: this.model.id }).then(res => {
         this.data = res.data
       })
-      selectSparePartUsedListByRepairId({ id: this.model.id }).then(res => {
+      /*selectSparePartUsedListByRepairId({ id: this.model.id }).then(res => {
+        this.dataSpare = res.data
+      })*/
+      selectSparePartUsedListBySbId({ id: this.model.sbId }).then(res => {
         this.dataSpare = res.data
       })
       queryRepairFee({ repairId: this.model.id }).then(res => {
@@ -764,17 +772,29 @@ export default {
       const modal = this.$refs.baseFormForRepair
       modal.base(record)
     },
+    updateSpare (record) {
+      updateSpare(record).then(res => {
+        this.$message.info('更换成功')
+        selectSparePartUsedListBySbId({ id: this.model.sbId }).then(res => {
+          this.dataSpare = res.data
+        })
+      })
+    },
     handleSpareStoreSelect (isSpecial) {
-      this.$refs.spareStoreSelectModal.base({}, { storeId: this.storeId, isSpecial: isSpecial, sbId: this.model.sbId })
+      //this.$refs.spareStoreSelectModal.base({}, { storeId: this.storeId, isSpecial: isSpecial, sbId: this.model.sbId })
+      this.$refs.spareStoreSelectModal.base({}, { storeId: this.storeId, isSpecial: isSpecial })
     },
     handleSpareStoreSelected (record, keys, rows) {
       const data = []
       for (let i = 0; i < rows.length; i++) {
-        data.push({ sbId: this.model.sbId, spareId: rows[i].spareId, repairId: this.model.id, num: 1, price: rows[i].price, totalPrice: rows[i].price, startDate: BaseTool.Date.formatter(new Date(), BaseTool.Date.PICKER_NORM_DATE_PATTERN) })
+        data.push({ isSpecial: record.isSpecial, sbId: this.model.sbId, spareId: rows[i].spareId, repairId: this.model.id, num: 1, price: rows[i].price, totalPrice: rows[i].price, startDate: BaseTool.Date.formatter(new Date(), BaseTool.Date.PICKER_NORM_DATE_PATTERN) })
       }
       addSparePartUsedBatch(data)
         .then((response) => {
-          this.$message.info('添加成功')
+          this.$message.info('成功添加个数:' + response.data[0] + ',添加失败个数:' + response.data[1])
+          if (response.data[1] > 0) {
+            this.$message.error('失败原因:该备件已存在更换列表,请点击更换备件')
+          }
           this.handleOk()
         }).catch(() => {
           this.confirmLoading = false

+ 43 - 7
src/views/sqarepartmanage/sparepartused/modules/SparePartUsedSelectTable.vue

@@ -18,9 +18,12 @@
         </a-form>
       </div>
 
-      <div class="table-operator" v-if="type == 2">
-        <a-button type="primary" icon="plus" @click="handleAdd()">新增</a-button>
-        <a-dropdown v-action:edit v-if="selectedRowKeys.length > 0">
+      <div class="table-operator" >
+        <a-button type="primary" icon="plus" @click="handleSpareStoreSelect(1)">专用备件</a-button>
+        <a-divider type="vertical" />
+        <a-button type="primary" icon="plus" @click="handleSpareStoreSelect(0)">常用备件</a-button>
+        <a-button v-if="type == 2" type="primary" icon="plus" @click="handleAdd()">新增</a-button>
+        <a-dropdown v-action:edit v-if=" type == 2 && selectedRowKeys.length > 0">
           <a-menu slot="overlay">
             <a-popconfirm title="是否要删除所选数据?" @confirm="batchDelete()">
               <a-menu-item key="1"><a-icon type="delete" /><a>删除</a></a-menu-item>
@@ -61,6 +64,7 @@
         </span>
       </s-table>
       <base-form ref="baseModal" @ok="handleOk"/>
+      <spare-store-select-modal ref="spareStoreSelectModal" @selected="handleSpareStoreSelected"/>
       <detail ref="detailModal"/>
       <template slot="footer">
         <a-button :loading="confirmLoading" type="primary" @click="handleCancel()">取消</a-button>
@@ -73,7 +77,16 @@
 import { STable, Ellipsis } from '@/components'
 import BaseForm from './BaseForm'
 import Detail from './Detail'
-import { getSparePartUsedPage, deleteSparePartUseds, updateSparePartUsed, fetchSparePartUsed, exportSparePartUsed } from '@/api/sqarepartmanage/sparepartused'
+import SpareStoreSelectModal from '@/views/store/sparestore/modules/SpareStoreSelectModal'
+import {
+  getSparePartUsedPage,
+  deleteSparePartUseds,
+  updateSparePartUsed,
+  fetchSparePartUsed,
+  exportSparePartUsed,
+  addSparePartUsedBatch
+} from '@/api/sqarepartmanage/sparepartused'
+import BaseTool from '@/utils/tool'
 
 export default {
   name: 'SparePartUsedSelectTable',
@@ -81,7 +94,8 @@ export default {
     STable,
     Ellipsis,
     BaseForm,
-    Detail
+    Detail,
+    SpareStoreSelectModal
   },
   props: {
     type: {
@@ -114,9 +128,11 @@ export default {
       modalTitle: null,
       visible: false,
       record: null,
+      storeId: null,
+      sbId: null,
       // 查询参数
       queryParam: {
-        sbId: this.$route.query.id,
+        sbId: this.$route.query.id
       },
       // 表头
       columns: [
@@ -187,6 +203,7 @@ export default {
             sortName: 'update_time'
           }
         }
+        this.sbId = this.queryParam.sbId
         return getSparePartUsedPage(Object.assign(parameter, this.queryParam))
           .then(res => {
             return res.data
@@ -299,7 +316,26 @@ export default {
         this.isCreated = true
       }
     },
-    handleAdd(){
+    handleSpareStoreSelect (isSpecial) {
+      this.$refs.spareStoreSelectModal.base({}, { storeId: this.storeId, isSpecial: isSpecial })
+    },
+    handleSpareStoreSelected (record, keys, rows) {
+      const data = []
+      for (let i = 0; i < rows.length; i++) {
+        data.push({ isSpecial: record.isSpecial, sbId: this.sbId, spareId: rows[i].spareId, repairId: null, num: 1, price: rows[i].price, totalPrice: rows[i].price, startDate: BaseTool.Date.formatter(new Date(), BaseTool.Date.PICKER_NORM_DATE_PATTERN) })
+      }
+      addSparePartUsedBatch(data)
+        .then((response) => {
+          this.$message.info('成功添加个数:' + response.data[0] + ',添加失败个数:' + response.data[1])
+          if (response.data[1] > 0) {
+            this.$message.error('失败原因:该备件已存在列表中')
+          }
+          this.handleOk()
+        }).catch(() => {
+          this.confirmLoading = false
+        })
+    },
+    handleAdd () {
       this.$refs.baseModal.base(null,{sbId:this.tableParams.id, modelId:this.tableParams.modelId, repairId:this.tableParams.repairId})
     },
     handleCancel () {

+ 3 - 1
src/views/store/sparestore/modules/SpareStoreSelectModal.vue

@@ -160,6 +160,7 @@ export default {
       spareTypeTreeData: [],
       expandedKeys: [],
       selectedKeys: [],
+      isSpecial: null,
       // 查询参数
       queryParam: {
       },
@@ -325,7 +326,7 @@ export default {
       this.visible = true
       this.modalTitle = '选择信息'
       this.queryParam = queryParam
-      console.log(queryParam)
+      this.isSpecial = queryParam.isSpecial
       this.record = record
       if (this.isCreated) {
         this.$refs.table.clearSelected()
@@ -350,6 +351,7 @@ export default {
          return
        } */
         this.confirmLoading = true
+        this.record.isSpecial = this.isSpecial
         this.$emit('selected', this.record, this.selectedRowKeys, this.selectedRows)
         this.confirmLoading = false
         this.visible = false