Browse Source

完善维修领料--出库、退库

master
yunuo970428 3 months ago
parent
commit
17b4d0cad7
  1. 164
      yxt-as-ui/src/views/maintenanceReceive/index.vue
  2. 528
      yxt-as-ui/src/views/maintenanceReceive/maintenanceOutbound.vue
  3. 344
      yxt-as-ui/src/views/maintenanceReceive/maintenanceReturnBound.vue
  4. 647
      yxt-as-ui/src/views/maintenanceReceive/repairbillInfo.vue

164
yxt-as-ui/src/views/maintenanceReceive/index.vue

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="维修领料" :btndisabled="btndisabled" @btnhandle="btnHandle" /> <button-bar ref="btnbar" view-title="维修领料" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content"> <div class="main-content">
<div class="searchcon"> <div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow"> <el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -10,48 +10,40 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="维修状态"> <el-form-item label="维修状态">
<el-select v-model="queryParams.params.repairState" filterable clearable placeholder="请选择" <el-select v-model="queryParams.params.repairState" filterable clearable placeholder="请选择" style="width:100%">
style="width:100%"> <el-option v-for="item in repairTypeList" :key="item.sid" :label="item.name" :value="item.name"/>
<el-option v-for="item in repairTypeList" :key="item.sid" :label="item.name" :value="item.name" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="维修单号"> <el-form-item label="维修单号">
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> <el-input v-model="queryParams.params.billNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="维修单类型"> <el-form-item label="维修单类型">
<el-select v-model="queryParams.params.billType" filterable clearable placeholder="请选择" <el-select v-model="queryParams.params.billType" filterable clearable placeholder="请选择" style="width:100%">
style="width:100%"> <el-option v-for="item in billTypeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-option v-for="item in billTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="科目"> <el-form-item label="科目">
<el-select v-model="queryParams.params.subject" filterable clearable placeholder="请选择" <el-select v-model="queryParams.params.subject" filterable clearable placeholder="请选择" style="width:100%">
style="width:100%"> <el-option v-for="item in subjectList" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-option v-for="item in subjectList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictValue" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户名称"> <el-form-item label="客户名称">
<el-input v-model="queryParams.params.customerName" placeholder="" clearable /> <el-input v-model="queryParams.params.customerName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="车牌号"> <el-form-item label="车牌号">
<el-input v-model="queryParams.params.vehMark" placeholder="" clearable /> <el-input v-model="queryParams.params.vehMark" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="车架号"> <el-form-item label="车架号">
<el-input v-model="queryParams.params.vinNo" placeholder="" clearable /> <el-input v-model="queryParams.params.vinNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="进厂日期"> <el-form-item label="进厂日期">
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" <el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"/>
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" /> <span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"/>
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="完成状态"> <el-form-item label="完成状态">
<el-select v-model="queryParams.params.completeState" filterable clearable placeholder="请选择" <el-select v-model="queryParams.params.completeState" filterable clearable placeholder="请选择" style="width:100%">
style="width:100%"> <el-option v-for="item in completeStateList" :key="item.sid" :label="item.name" :value="item.sid"/>
<el-option v-for="item in completeStateList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -69,74 +61,66 @@
<!-- End 项目列表头部 --> <!-- End 项目列表头部 -->
<!-- Start 项目列表 --> <!-- Start 项目列表 -->
<div class=""> <div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="selectionLineChangeHandle">
@selection-change="selectionLineChangeHandle"> <el-table-column fixed width="50" type="selection" align="center"/>
<el-table-column fixed width="50" type="selection" align="center" /> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column prop="repairState" label="维修状态" align="center"/>
<el-table-column prop="repairState" label="维修状态" align="center" />
<el-table-column label="维修单编号" width="180" align="center"> <el-table-column label="维修单编号" width="180" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ;" @click="showResult(scope.row)"> <span class="bluezi" @click="showResult(scope.row)">{{ scope.row.billNo }}</span>
{{ scope.row.billNo }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="billTypeValue" label="维修单类型" align="center" /> <el-table-column prop="billTypeValue" label="维修单类型" align="center"/>
<el-table-column prop="subjectValue" label="科目" align="center" /> <el-table-column prop="subjectValue" label="科目" align="center"/>
<el-table-column prop="isGoOut" label="是否外出" align="center" /> <el-table-column prop="isGoOut" label="是否外出" align="center"/>
<el-table-column prop="customerName" label="客户名称" align="center" /> <el-table-column prop="customerName" label="客户名称" align="center"/>
<el-table-column prop="mobile" label="联系电话" align="center" /> <el-table-column prop="mobile" label="联系电话" align="center"/>
<el-table-column prop="vehMark" label="车架号" align="center" /> <el-table-column prop="vehMark" label="车架号" align="center"/>
<el-table-column prop="vinNo" label="车牌号" align="center" /> <el-table-column prop="vinNo" label="车牌号" align="center"/>
<el-table-column prop="entryTime" width="180" label="进厂日期" align="center" /> <el-table-column prop="entryTime" width="180" label="进厂日期" align="center"/>
</el-table> </el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" <pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> </div>
</div> </div>
</div> </div>
<!-- End 查询和其列表部分 --> <!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 --> <!-- 新增修改部分组件 -->
<divOutInfo v-show="viewState == 2 " ref="divOutInfo" @doback="resetState" @reloadlist="loadList" /> <divOutInfo v-show="viewState == 2 " ref="divOutInfo" @doback="resetState" @reloadlist="loadList"/>
<divReturnInfo v-show="viewState == 3" ref="divReturnInfo" @doback="resetState" @reloadlist="loadList" /> <divReturnInfo v-show="viewState == 3" ref="divReturnInfo" @doback="resetState" @reloadlist="loadList"/>
<divConfirmInfo v-show="viewState ==4" ref="divConfirmInfo" @doback="resetState" @reloadlist="loadList" /> <divConfirmInfo v-show="viewState ==4" ref="divConfirmInfo" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 5" ref="divInfo" @doback="resetState" @reloadlist="loadList" /> <divInfo v-show="viewState == 5" ref="divInfo" @doback="resetState" @reloadlist="loadList"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/maintenanceReceive/maintenanceReceive.js' import req from '@/api/maintenanceReceive/maintenanceReceive.js'
import { import {
typeValues, typeValues,
getOrgSidByPath getOrgSidByPath
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import divOutInfo from './maintenanceOutbound.vue'
import divOutInfo from './maintenanceOutbound.vue' import divReturnInfo from './maintenanceReturnBound.vue'
import divReturnInfo from './maintenanceReturnBound.vue' import divConfirmInfo from './maintenanceConfirm.vue'
import divConfirmInfo from './maintenanceConfirm.vue' import divInfo from '../operation/repairbill/repairbillInfo'
import divInfo from './repairbillInfo.vue' import {
import {
getStorage getStorage
} from '@/utils/auth' } from '@/utils/auth'
export default {
export default {
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
pageye,
divOutInfo, divOutInfo,
divReturnInfo, divReturnInfo,
divConfirmInfo, divConfirmInfo,
divInfo divInfo
}, },
data() { data() {
return { return {
@ -147,7 +131,8 @@
searchxianshitit: '显示查询条件', searchxianshitit: '显示查询条件',
tableLoading: false, tableLoading: false,
dataList: [], dataList: [],
btnList: [{ btnList: [
{
type: 'primary', type: 'primary',
size: 'small', size: 'small',
icon: 'plus', icon: 'plus',
@ -203,7 +188,8 @@
sids: [], sids: [],
selectionList: [], selectionList: [],
repairTypeList: [{ repairTypeList: [
{
name: '维修中', name: '维修中',
sid: '1' sid: '1'
}, },
@ -212,7 +198,8 @@
sid: '2' sid: '2'
} }
], ],
completeStateList: [{ completeStateList: [
{
name: '未完成', name: '未完成',
sid: '0' sid: '0'
}, },
@ -223,8 +210,8 @@
], ],
billTypeList: [], billTypeList: [],
subjectList: [], subjectList: [],
createOrgSid: "", createOrgSid: '',
useOrgSid: "" useOrgSid: ''
} }
}, },
mounted() { mounted() {
@ -237,33 +224,24 @@
methods: { methods: {
init() { init() {
typeValues({ typeValues({ type: 'billType' }).then((res) => {
type: 'billType'
}).then((res) => {
if (res.success) { if (res.success) {
this.billTypeList = res.data this.billTypeList = res.data
} }
}) })
typeValues({ typeValues({ type: 'as_servicesubject' }).then((resp) => {
type: 'as_servicesubject'
}).then((resp) => {
if (resp.success) { if (resp.success) {
this.subjectList = resp.data this.subjectList = resp.data
} }
}) })
getOrgSidByPath({ getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.createOrgSid = res.data this.createOrgSid = res.data
this.useOrgSid = res.data this.useOrgSid = res.data
} }
}) })
}, },
selectionLineChangeHandle(val) { selectionLineChangeHandle(val) {
console.log('val', val)
this.selectionList = val this.selectionList = val
const aa = [] const aa = []
val.forEach(element => { val.forEach(element => {
@ -301,11 +279,9 @@
break break
} }
}, },
toOut() { toOut() {
// this.$refs['divOutInfo'].showAdd('236195bd-2c76-4e39-aacb-e6ed89b4ca3d')
// this.viewState = 2 // this.viewState = 2
if (this.sids.length == 1) { if (this.sids.length === 1) {
this.viewState = 2 this.viewState = 2
this.$refs['divOutInfo'].showAdd(this.sids[0]) this.$refs['divOutInfo'].showAdd(this.sids[0])
} else { } else {
@ -317,9 +293,7 @@
} }
}, },
toReturn() { toReturn() {
// this.$refs['divReturnInfo'].showAdd('4e2b2a7d-d86c-415f-aa69-65e311a73c50') if (this.sids.length === 1) {
// this.viewState = 3
if (this.sids.length == 1) {
this.viewState = 3 this.viewState = 3
this.$refs['divReturnInfo'].showAdd(this.sids[0]) this.$refs['divReturnInfo'].showAdd(this.sids[0])
} else { } else {
@ -331,15 +305,13 @@
} }
}, },
doPrint() { doPrint() {
if (this.sids.length == 1) { if (this.sids.length === 1) {
var info = { var info = {
sid: this.sids[0], // sid sid: this.sids[0], // sid
createOrgSid: this.createOrgSid, createOrgSid: this.createOrgSid,
useOrgSid: this.useOrgSid, useOrgSid: this.useOrgSid,
userSid: window.sessionStorage.getItem('userSid'), userSid: window.sessionStorage.getItem('userSid')
} }
req.printSettlement(info).then((res) => { req.printSettlement(info).then((res) => {
if (res.success) { if (res.success) {
var xhr = new XMLHttpRequest() var xhr = new XMLHttpRequest()
@ -365,7 +337,6 @@
xhr.send() xhr.send()
} }
}) })
} else { } else {
this.$message({ this.$message({
showClose: true, showClose: true,
@ -375,8 +346,6 @@
} }
}, },
toConfirm() { toConfirm() {
// this.viewState = 4
// this.$refs['divConfirmInfo'].showAdd('4e2b2a7d-d86c-415f-aa69-65e311a73c50')
if (this.sids.length === 1) { if (this.sids.length === 1) {
if (this.selectionList[0].repairState == '维修完成') { if (this.selectionList[0].repairState == '维修完成') {
this.viewState = 4 this.viewState = 4
@ -400,7 +369,6 @@
this.$store.dispatch('tagsView/delView', this.$route) this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1) this.$router.go(-1)
}, },
loadList() { loadList() {
this.tableLoading = true this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid') this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
@ -452,17 +420,15 @@
} }
this.loadList() this.loadList()
}, },
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
}, },
showResult(row) { showResult(row) {
this.viewState = 5 this.viewState = 5
this.$refs['divInfo'].showInfo(row.billSid) this.$refs['divInfo'].showInfo({ sid: row.billSid })
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
</style> </style>

528
yxt-as-ui/src/views/maintenanceReceive/maintenanceOutbound.vue

@ -1,78 +1,53 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 -->
<div>新增维修出库</div> <div>新增维修出库</div>
<!-- start 添加修改按钮 -->
<div> <div>
<!-- <el-button type="primary" size="small" @click="seleMaintenance">选择维修工单</el-button> -->
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">出库</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">出库</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 操作人</div> <div class="span-sty"><span class="must">*</span> 操作人</div>
<el-form-item prop="createByName"> <el-form-item prop="createByName">
<span class="addinputw addinputInfo">{{ formobj.createByName }}</span> <span class="addinputw addinputInfo">{{ formobj.createByName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 操作部门</div> <div class="span-sty"><span class="must">*</span> 操作部门</div>
<el-form-item prop="deptName"> <el-form-item prop="deptName">
<span class="addinputw addinputInfo">{{ formobj.deptName }}</span> <span class="addinputw addinputInfo">{{ formobj.deptName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">操作日期</div> <div class="span-sty">操作日期</div>
<el-form-item prop="createByName"> <el-form-item prop="createByName">
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 领料人</div> <div class="span-sty"><span class="must">*</span> 领料人</div>
<el-form-item prop="warehouseManager"> <el-form-item prop="warehouseManager">
<el-select v-model="formobj.warehouseManager" filterable clearable placeholder="请选择" <el-select v-model="formobj.warehouseManager" filterable clearable placeholder="请选择" class="addinputw addinputInfo" @change="receivePerSelect">
class="addinputw addinputInfo" @change="receivePerSelect">
<el-option v-for="item in receivePerList" :key="item.sid" :label="item.name" :value="item.sid"> <el-option v-for="item in receivePerList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">维修工单</div>
<div class="title titleOne">
<div>维修工单</div>
</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">维修工单编号</div> <div class="span-sty">维修工单编号</div>
@ -80,14 +55,12 @@
<span class="addinputw addinputInfo">{{ formobj.sourceBillNo }}</span> <span class="addinputw addinputInfo">{{ formobj.sourceBillNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">单据日期</div> <div class="span-sty">单据日期</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.billDate }}</span> <span class="addinputw addinputInfo">{{ formobj.billDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">服务顾问</div> <div class="span-sty">服务顾问</div>
<el-form-item> <el-form-item>
@ -95,23 +68,19 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">工单类型</div> <div class="span-sty">工单类型</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.billType }}</span> <span class="addinputw addinputInfo">{{ formobj.billType }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">科目</div> <div class="span-sty">科目</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.subject }}</span> <span class="addinputw addinputInfo">{{ formobj.subject }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否外出</div> <div class="span-sty">是否外出</div>
<el-form-item> <el-form-item>
@ -122,177 +91,140 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">客户名称</div> <div class="span-sty">客户名称</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.customerName }}</span> <span class="addinputw addinputInfo">{{ formobj.customerName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">车牌号/车架号</div> <div class="span-sty">车牌号/车架号</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.vehMark }}/{{ formobj.vinNo }}</span> <span class="addinputw addinputInfo">{{ formobj.vehMark }}/{{ formobj.vinNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8">
<div class="span-sty">客户单位</div>
<el-form-item>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.customerOrg }}</span></el-form-item>
</el-form-item>
</el-col> -->
</el-row> </el-row>
<div class="title">服务项目</div>
<div class="title titleOne">
<div>服务项目</div>
</div>
<el-table v-loading="listLoading" :data="formobj.sitemVoList" border> <el-table v-loading="listLoading" :data="formobj.sitemVoList" border>
<!-- <el-table-column type="selection" align="center" width="50"/> --> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" wid align="center" width="120"> <el-table-column label="操作" wid align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="addGoods(scope.row)">商品出库</el-button> <el-button type="primary" size="mini" @click="addGoods(scope.row)">商品出库</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="服务项目" prop="serviceItem" align="center" /> <el-table-column label="服务项目" prop="serviceItem" align="center"/>
<el-table-column label="工种" prop="serviceType" align="center" /> <el-table-column label="工种" prop="serviceType" align="center"/>
<!-- <el-table-column label="科目" prop="subject" align="center" /> --> <el-table-column label="维修技师" prop="repairerName" align="center"/>
<el-table-column label="维修技师" prop="repairerName" align="center" /> <el-table-column label="工时提成" prop="examineHourPrice" align="center"/>
<el-table-column label="工时提成" prop="examineHourPrice" align="center" /> <el-table-column label="工时单价" prop="hourPrice" align="center"/>
<el-table-column label="工时单价" prop="hourPrice" align="center" /> <el-table-column label="工时数量" prop="hours" align="center"/>
<el-table-column label="工时数量" prop="hours" align="center" /> <el-table-column label="销售价" prop="price" align="center"/>
<el-table-column label="销售价" prop="price" align="center" /> <el-table-column label="折扣" prop="discount" align="center"/>
<el-table-column label="折扣" prop="discount" align="center" /> <el-table-column label="优惠" prop="discountAmount" align="center"/>
<el-table-column label="优惠" prop="discountAmount" align="center" /> <el-table-column label="销售金额" prop="amount" align="center"/>
<el-table-column label="销售金额" prop="amount" align="center" /> <el-table-column label="备注" prop="remarks" align="center"/>
<el-table-column label="备注" prop="remarks" align="center" />
</el-table> </el-table>
<div class="title">已领料列表</div>
<div class="title titleOne">
<div>已领料列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.receiveList" border> <el-table v-loading="listLoading" :data="formobj.receiveList" border>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="维修项目" prop="serviceItem" width="120" align="center" /> <el-table-column label="维修项目" prop="serviceItem" width="120" align="center"/>
<el-table-column label="商品ID" prop="goodsID" width="120" align="center" /> <el-table-column label="商品ID" prop="goodsID" width="120" align="center"/>
<el-table-column label="商品名称" prop="goodsSpuName" width="120" align="center" /> <el-table-column label="商品名称" prop="goodsSpuName" width="120" align="center"/>
<el-table-column label="商品编码" prop="goodsSkuCode" width="100" align="center" /> <el-table-column label="商品图号" prop="goodsSkuCode" width="100" align="center"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" width="120" align="center" /> <el-table-column label="规格" prop="goodsSkuOwnSpec" width="120" align="center"/>
<el-table-column label="单位" prop="unit" align="center" /> <el-table-column label="单位" prop="unit" align="center"/>
<el-table-column label="仓库" prop="warehouseName" width="150" align="center" /> <el-table-column label="仓库" prop="warehouseName" width="150" align="center"/>
<el-table-column label="库位" prop="warehouseRackCode" align="center" /> <el-table-column label="库位" prop="warehouseRackCode" align="center"/>
<el-table-column label="单价" prop="price" width="120" align="center" /> <el-table-column label="单价" prop="price" width="120" align="center"/>
<el-table-column label="库存数量" prop="inventoryNum" width="120" align="center" /> <el-table-column label="库存数量" prop="inventoryNum" width="120" align="center"/>
<el-table-column label="已出数量" prop="outboundCount" width="120" align="center" /> <el-table-column label="已出数量" prop="outboundCount" width="120" align="center"/>
<el-table-column label="出库数量" prop="count" width="120" align="center" /> <el-table-column label="出库数量" prop="count" width="120" align="center"/>
<el-table-column label="出库金额" prop="amount" width="120" align="center" /> <el-table-column label="出库金额" prop="amount" width="120" align="center"/>
<el-table-column label="备注" prop="remarks" width="220" align="center" /> <el-table-column label="备注" prop="remarks" width="220" align="center"/>
<el-table-column label="领料人" prop="receivePer" width="120" align="center" /> <el-table-column label="领料人" prop="receivePer" width="120" align="center"/>
<el-table-column label="领料时间" prop="receiveTimes" width="120" align="center" /> <el-table-column label="领料时间" prop="receiveTimes" width="120" align="center"/>
</el-table> </el-table>
<div class="title">维修用料</div>
<div class="title titleOne">
<div>维修用料</div>
</div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="span-sty span-sty-one" style="width: 300px;!important;">前台登记时对商品要求备注</div> <div class="span-sty span-sty-one" style="width: 300px;!important;">前台登记时对商品要求备注</div>
<el-form-item><el-input v-model="formobj.registerRemarks" class="addinputInfo-one" style="width: 70%" <el-form-item>
clearable placeholder="" /></el-form-item> <el-input v-model="formobj.registerRemarks" class="addinputInfo-one" style="width: 70%" clearable placeholder=""/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="listLoading" :data="formobj.detailList" border> <el-table v-loading="listLoading" :data="formobj.detailList" border>
<!-- <el-table-column type="selection" align="center" width="50"/> --> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" wid align="center" width="80"> <el-table-column label="操作" wid align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="deleteGoods(scope.row)">删除</el-button> <el-button type="primary" size="mini" @click="deleteGoods(scope.$index)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="维修项目" prop="serviceItem" width="120" align="center" /> <el-table-column label="维修项目" prop="serviceItem" width="120" align="center"/>
<el-table-column label="商品ID" prop="goodsID" width="120" align="center" /> <el-table-column label="商品ID" prop="goodsID" width="120" align="center"/>
<!-- <el-table-column label="商品名称" prop="goodsSpuName" align="center" /> -->
<el-table-column label="商品名称" align="center" min-width="180"> <el-table-column label="商品名称" align="center" min-width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover placement="right" width="800" trigger="click"> <el-popover placement="right" width="800" trigger="click">
<div> <div>
<el-table v-loading="commodityLoading" :data="commodityData" highlight-current-row <el-table v-loading="commodityLoading" :data="commodityData" highlight-current-row @current-change="commodityCurrentChange($event, scope.row)">
@current-change="commodityCurrentChange($event, scope.row)"> <el-table-column fixed prop="goodsSpuName" label="商品名称" width="180" align="center"/>
<el-table-column fixed prop="goodsID" label="商品ID" width="180" align="center" /> <el-table-column fixed prop="goodsSkuCode" label="商品图号" width="100" align="center"/>
<el-table-column fixed prop="goodsSpuName" label="商品名称" width="180" align="center" /> <el-table-column prop="unit" label="单位" align="center"/>
<el-table-column fixed prop="goodsSkuCode" label="商品图号" width="100" align="center" /> <el-table-column prop="count" label="库存数量" width="100" align="center"/>
<el-table-column prop="count" label="库存数量" width="100" align="center" /> <el-table-column prop="cost" label="入库单价" width="100" align="center"/>
<el-table-column prop="unit" label="单位" align="center" /> <el-table-column prop="supplierName" label="供应商" width="200" align="center"/>
<el-table-column prop="money" label="入库单价" width="100" align="center" /> <el-table-column prop="warehouseName" label="仓库" width="150" align="center"/>
<el-table-column prop="supplierName" label="供应商" width="200" align="center" /> <el-table-column prop="warehouseRackCode" label="库位" width="100" align="center"/>
<el-table-column prop="warehouseName" label="仓库" width="150" align="center" /> <el-table-column prop="goodsID" label="商品ID" width="150" align="center"/>
<el-table-column prop="warehouseRackCode" label="库位" width="100" align="center" /> <el-table-column prop="goodsSkuOwnSpec" label="规格" width="100" align="center"/>
<el-table-column prop="goodsID" label="商品ID" width="150" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="100" align="center" />
</el-table> </el-table>
<pagination v-show="commodityData.length > 0" :total="commodityQuery.total" :page.sync="commodityQuery.current" :limit.sync="commodityQuery.size" class="total pager" @pagination="commodityInput(scope.row)"/>
<pagination v-show="commodityData.length > 0" :total="commodityQuery.total"
:page.sync="commodityQuery.current" :limit.sync="commodityQuery.size" class="total pager"
@pagination="commodityInput(scope.row)" />
<!-- <el-pagination :page.sync="commodityQuery.current" :page-size="commodityQuery.size"
layout="total, pager" :total="commodityQuery.total" /> -->
</div> </div>
<el-input slot="reference" v-model="scope.row.goodsSpuName" clearable placeholder="商品名称" <el-input slot="reference" v-model="scope.row.goodsSpuName" clearable placeholder="商品名称" @input="commodityInput(scope.row)"/>
@input="commodityInput(scope.row)" />
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品编码" prop="goodsSkuCode" width="100" align="center" /> <el-table-column label="商品图号" prop="goodsSkuCode" width="100" align="center"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" width="120" align="center" /> <el-table-column label="规格" prop="goodsSkuOwnSpec" width="120" align="center"/>
<el-table-column label="单位" prop="unit" align="center" /> <el-table-column label="单位" prop="unit" align="center"/>
<el-table-column label="仓库" prop="warehouseName" width="150" align="center" /> <el-table-column label="仓库" prop="warehouseName" width="150" align="center"/>
<el-table-column label="库位" prop="warehouseRackCode" align="center" /> <el-table-column label="库位" prop="warehouseRackCode" align="center"/>
<el-table-column label="单价" prop="price" width="120" align="center" /> <el-table-column label="单价" prop="price" width="120" align="center"/>
<el-table-column label="已出数量" prop="outboundCount" width="120" align="center" /> <el-table-column label="已出数量" prop="outboundCount" width="120" align="center"/>
<el-table-column label="库存数量" prop="inventoryNum" width="120" align="center" /> <el-table-column label="库存数量" prop="inventoryNum" width="120" align="center"/>
<el-table-column label="出库数量" align="center" width="120"> <el-table-column label="出库数量" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder="" <el-input v-model="scope.row.count" clearable placeholder="" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" @input="commodityComputeYHAndXSJE(scope.row,$event)"/>
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
@input="commodityComputeYHAndXSJE(scope.row,$event)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出库金额" prop="amount" width="120" align="center" /> <el-table-column label="出库金额" prop="amount" width="120" align="center"/>
<el-table-column label="备注" align="center" width="220"> <el-table-column label="备注" align="center" width="220">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.remarks" clearable placeholder="" /> <el-input v-model="scope.row.remarks" clearable placeholder=""/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- 选择维修单 --> <!-- 选择维修单 -->
<chooseproducts v-show="viewState == 2" ref="divSp" @backData="backData" @doback="resetState" /> <chooseproducts v-show="viewState == 2" ref="divSp" @backData="backData" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/maintenanceReceive/maintenanceReceive.js' import req from '@/api/maintenanceReceive/maintenanceReceive.js'
import chooseproducts from './relation/chooseproducts' import chooseproducts from './relation/chooseproducts'
import { import {
getOrgSidByPath, getOrgSidByPath,
selAllByOrgSidPath selAllByOrgSidPath
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
import { import {
getCurrentDate getCurrentDate
} from '@/utils/index.js' } from '@/utils/index.js'
export default {
export default {
components: { components: {
chooseproducts chooseproducts
}, },
@ -301,37 +233,30 @@
viewState: 1, viewState: 1,
listLoading: false, listLoading: false,
submitdisabled: false, submitdisabled: false,
formobj: { formobj: {
"sid": "", sid: '',
"createBySid": window.sessionStorage.getItem('userSid'), createBySid: window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'), createByName: window.sessionStorage.getItem('name'),
"sourceBillSid": "", sourceBillSid: '',
"warehouseManagerSid": "", warehouseManagerSid: '',
"warehouseManager": "", warehouseManager: '',
"useOrgSid": "", useOrgSid: '',
"createOrgSid": "", createOrgSid: '',
"deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1),
.getItem('defaultOrgPath').lastIndexOf('/') + 1), deptName: window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
"deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window createTime: getCurrentDate(),
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1), remarks: '',
"createTime": getCurrentDate(), sourceBillNo: '',
"remarks": "", waitorName: '',
"sourceBillNo": "", billDate: '',
"waitorName": "", billType: '',
"billDate": "", subject: '',
"billType": "", customerName: '',
"subject": "", vehMark: '',
"customerName": "", vinNo: '',
"vehMark": "", customerOrg: '',
"vinNo": "", sitemVoList: [],
"customerOrg": "", detailList: []
"sitemVoList": [
],
"detailList": [
]
}, },
receivePerList: [], receivePerList: [],
// commodity // commodity
@ -346,73 +271,39 @@
} }
}, },
commodityData: [], commodityData: [],
rules: { rules: {
createByName: [{ createByName: [{ required: true, message: '制单人不能为空', trigger: 'blur' }],
required: true, deptName: [{ required: true, message: '制单部门不能为空', trigger: 'blur' }],
message: '制单人不能为空', createTime: [{ required: true, message: '制单日期不能为空', trigger: 'blur' }],
trigger: 'blur' warehouseManager: [{ required: true, message: '请选择领料人', trigger: 'change' }]
}],
deptName: [{
required: true,
message: '制单部门不能为空',
trigger: 'blur'
}],
createTime: [{
required: true,
message: '制单日期不能为空',
trigger: 'blur'
}],
warehouseManager: [{
required: true,
message: '请选择领料人',
trigger: 'change'
}]
} }
} }
},
created() {
}, },
methods: { methods: {
initData() { initData() {
selAllByOrgSidPath({ selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
orgSidPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.receivePerList = res.data this.receivePerList = res.data
console.log("aaaaaa", this.receivePerList)
} }
}) })
}, },
showAdd(sid) { showAdd(sid) {
this.initData() this.initData()
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
const params = { const params = {
sid: sid sid: sid
} }
req.initBill(params) req.initBill(params).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
console.log('>>>>>>>>>initBill', resp)
this.formobj = resp.data this.formobj = resp.data
this.formobj.detailList = [] this.formobj.detailList = []
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.formobj.createBySid = window.sessionStorage.getItem('userSid') this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.createByName = window.sessionStorage.getItem('name') this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.createTime = getCurrentDate() this.formobj.createTime = getCurrentDate()
getOrgSidByPath({ getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath') orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => { }).then((res) => {
@ -426,7 +317,6 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
}, },
backData(value) { backData(value) {
this.viewState = 1 this.viewState = 1
@ -434,25 +324,16 @@
const params = { const params = {
sid: value sid: value
} }
req.initBill(params) req.initBill(params).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
console.log('>>>>>>>>>initBill', resp)
this.formobj = resp.data this.formobj = resp.data
this.formobj.detailList = [] this.formobj.detailList = []
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.formobj.createBySid = window.sessionStorage.getItem('userSid') this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.createByName = window.sessionStorage.getItem('name') this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.createTime = getCurrentDate() this.formobj.createTime = getCurrentDate()
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.formobj.createOrgSid = res.data this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data this.formobj.useOrgSid = res.data
@ -463,7 +344,6 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
}, },
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
@ -473,45 +353,37 @@
const aa = [] const aa = []
this.$refs['divSp'].showData(aa, this.formobj.createOrgSid) this.$refs['divSp'].showData(aa, this.formobj.createOrgSid)
}, },
saveOrUpdate() { saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj) if (this.formobj.detailList.length === 0) {
if (this.formobj.detailList.length == 0) {
this.$message({ this.$message({
showClose: true, showClose: true,
type: 'warning', type: 'warning',
message: "商品不能为空" message: '商品不能为空'
}) })
return return
} }
for (let i = 0; i < this.formobj.detailList.length; i++) { for (let i = 0; i < this.formobj.detailList.length; i++) {
const item = this.formobj.detailList[i] const item = this.formobj.detailList[i]
if (item.goodSpuSid === '') {
if (item.goodSpuSid == '') {
this.$message({ this.$message({
showClose: true, showClose: true,
type: 'warning', type: 'warning',
message: "请添加商品" message: '请添加商品'
}) })
return return
} }
if (Number(item.count) === 0) {
if (Number(item.count) == 0) {
this.$message({ this.$message({
showClose: true, showClose: true,
type: 'warning', type: 'warning',
message: "商品出库数量不能0" message: '商品出库数量不能0'
}) })
return return
} }
} }
this.$refs['form_obj'].validate((valid) => { this.$refs['form_obj'].validate((valid) => {
if (valid) { if (valid) {
req.saveOutBill(this.formobj) req.saveOutBill(this.formobj).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
this.$message({ this.$message({
showClose: true, showClose: true,
@ -523,42 +395,35 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
} }
}) })
}, },
handleReturn(isreload) { handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist') if (isreload === 'true') this.$emit('reloadlist')
this.formobj = { this.formobj = {
"sid": "", sid: '',
"createBySid": window.sessionStorage.getItem('userSid'), createBySid: window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'), createByName: window.sessionStorage.getItem('name'),
"sourceBillSid": "", sourceBillSid: '',
"warehouseManagerSid": "", warehouseManagerSid: '',
"warehouseManager": "", warehouseManager: '',
"useOrgSid": "", useOrgSid: '',
"createOrgSid": "", createOrgSid: '',
"deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem( deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1),
'defaultOrgPath').lastIndexOf('/') + 1), deptName: window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
"deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem( createTime: getCurrentDate(),
'defaultOrgPathName').lastIndexOf('/') + 1), remarks: '',
"createTime": getCurrentDate(), sourceBillNo: '',
"remarks": "", waitorName: '',
"sourceBillNo": "", billDate: '',
"waitorName": "", billType: '',
"billDate": "", subject: '',
"billType": "", customerName: '',
"subject": "", vehMark: '',
"customerName": "", vinNo: '',
"vehMark": "", customerOrg: '',
"vinNo": "", sitemVoList: [],
"customerOrg": "", detailList: []
"sitemVoList": [
],
"detailList": [
]
} }
this.submitdisabled = false this.submitdisabled = false
this.$emit('doback') this.$emit('doback')
@ -567,19 +432,14 @@
return index + 1 return index + 1
}, },
receivePerSelect(val) { receivePerSelect(val) {
const choose = this.receivePerList.filter((item) => item.sid == val) const choose = this.receivePerList.filter((item) => item.sid === val)
console.log('>>>>>>>>>receivePerSelect', choose)
this.formobj.warehouseManagerSid = choose[0].sid this.formobj.warehouseManagerSid = choose[0].sid
this.formobj.warehouseManager = choose[0].name this.formobj.warehouseManager = choose[0].name
}, },
commodityInput(row) { commodityInput(row) {
console.log("commodityInput》》》》", row)
this.commodityQuery.params.name = row.goodsSpuName this.commodityQuery.params.name = row.goodsSpuName
this.commodityQuery.params.busrepairBillsid = row.sourceBillSid this.commodityQuery.params.busrepairBillsid = row.sourceBillSid
this.commodityQuery.params.useOrgSid = window.sessionStorage.getItem('defaultOrgPath').substring(window this.commodityQuery.params.useOrgSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.commodityLoading = true this.commodityLoading = true
req.getGoodsListPage(this.commodityQuery).then((response) => { req.getGoodsListPage(this.commodityQuery).then((response) => {
if (response.success) { if (response.success) {
@ -594,9 +454,6 @@
}) })
}, },
commodityCurrentChange(value, row) { commodityCurrentChange(value, row) {
console.log("commodityCurrentChange》》》》", value)
console.log("commodityCurrentChange》》》》", row)
row.inventorySid = value.inventorySid row.inventorySid = value.inventorySid
row.goodsID = value.goodsID row.goodsID = value.goodsID
row.goodSpuSid = value.goodSpuSid row.goodSpuSid = value.goodSpuSid
@ -618,96 +475,91 @@
row.remarks = '' row.remarks = ''
document.body.click() document.body.click()
}, },
addGoods(row) { addGoods(row) {
const goods = { const goods = {
"sourceBillNo": this.formobj.sourceBillNo, sourceBillNo: this.formobj.sourceBillNo,
"sourceBillSid": this.formobj.sourceBillSid, sourceBillSid: this.formobj.sourceBillSid,
"sitemSid": row.serviceItemSid, sitemSid: row.serviceItemSid,
'serviceItem': row.serviceItem, serviceItem: row.serviceItem,
"inventorySid": "", inventorySid: '',
"goodsID": "", goodsID: '',
"goodSpuSid": "", goodSpuSid: '',
"goodsSpuName": "", goodsSpuName: '',
"goodsSkuSid": "", goodsSkuSid: '',
"goodsSkuTitle": "", goodsSkuTitle: '',
"goodsSkuCode": "", goodsSkuCode: '',
"goodsSkuOwnSpec": "", goodsSkuOwnSpec: '',
"currentCount": "", currentCount: '',
"unit": "", unit: '',
"warehouseSid": "", warehouseSid: '',
"warehouseName": "", warehouseName: '',
"warehouseRackSid": "", warehouseRackSid: '',
"warehouseRackCode": "", warehouseRackCode: '',
"count": 0, count: 0,
"price": '', price: '',
'amount': 0.00, amount: 0.00,
"outboundCount": 0, outboundCount: 0,
"remarks": "" remarks: ''
} }
this.formobj.detailList.push(goods) this.formobj.detailList.push(goods)
}, },
deleteGoods(row) { deleteGoods(index) {
const index = this.formobj.detailList.findIndex((item) => item.goodSpuSid == row.goodSpuSid)
console.log('>>>>>>>>>receivePerSelect', index)
this.formobj.detailList.splice(index, 1) this.formobj.detailList.splice(index, 1)
}, },
commodityComputeYHAndXSJE(row, val) { commodityComputeYHAndXSJE(row, val) {
console.log("aaa", row) if (parseFloat(row.amount) > parseFloat(row.inventoryNum)) {
console.log("aaa", val) row.amount = row.inventoryNum
row.amount = (Number(row.count) * Number(row.price)).toFixed(2)
} }
row.amount = (Number(row.count) * Number(row.price)).toFixed(2)
} }
} }
}
</script> </script>
<style scoped> <style scoped>
/deep/ .el-form-item__error { /deep/ .el-form-item__error {
margin-left: 120px !important; margin-left: 120px !important;
} }
.must { .must {
color: #f00; color: #f00;
} }
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; margin-left: 120px !important;
width: calc(100% - 115px); width: calc(100% - 115px);
} }
.first_row { .first_row {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
.titleOne { .titleOne {
padding: 7px; padding: 7px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.el-radio /deep/ .el-radio__label { .el-radio /deep/ .el-radio__label {
font-size: 14px !important; font-size: 14px !important;
} }
.addinputInfo-one { .addinputInfo-one {
margin-left: 170px !important; margin-left: 170px !important;
} }
.span-sty-one { .span-sty-one {
width: 180px !important; width: 180px !important;
} }
</style> </style>

344
yxt-as-ui/src/views/maintenanceReceive/maintenanceReturnBound.vue

@ -1,248 +1,187 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 -->
<div>新增维修退库</div> <div>新增维修退库</div>
<!-- start 添加修改按钮 -->
<div> <div>
<!-- <el-button type="primary" size="small" @click="seleMaintenance">选择维修工单</el-button> -->
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">入库</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">入库</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 申请人</div> <div class="span-sty">申请人</div>
<el-form-item prop="createByName"> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.createByName }}</span> <span class="addinputInfo">{{ formobj.createByName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 申请部门</div> <div class="span-sty">申请部门</div>
<el-form-item prop="deptName"> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.deptName }}</span> <span class="addinputInfo">{{ formobj.deptName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">申请日期</div> <div class="span-sty">申请日期</div>
<el-form-item prop="createByName"> <el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 退料人</div> <div class="span-sty"><span class="must">*</span>退料人</div>
<el-form-item prop="warehouseManager"> <el-form-item prop="warehouseManager">
<el-select v-model="formobj.warehouseManager" filterable clearable placeholder="请选择" <el-select v-model="formobj.warehouseManager" filterable clearable placeholder="请选择" class="addinputw addinputInfo" @change="receivePerSelect">
class="addinputw addinputInfo" @change="receivePerSelect"> <el-option v-for="item in receivePerList" :key="item.sid" :label="item.name" :value="item.sid"/>
<el-option v-for="item in receivePerList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.remarks" placeholder="备注" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">
<div class="title titleOne">
<div>维修工单</div> <div>维修工单</div>
</div> </div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">维修工单编号</div> <div class="span-sty">维修工单编号</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.sourceBillNo }}</span> <span class="addinputInfo">{{ formobj.sourceBillNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">单据日期</div> <div class="span-sty">单据日期</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.billDate }}</span> <span class="addinputInfo">{{ formobj.billDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">服务顾问</div> <div class="span-sty">服务顾问</div>
<el-form-item> <el-form-item>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.waitorName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.waitorName }}</span></el-form-item>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">工单类型</div> <div class="span-sty">工单类型</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.billType }}</span> <span class="addinputInfo">{{ formobj.billType }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">科目</div> <div class="span-sty">科目</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.subject }}</span> <span class="addinputInfo">{{ formobj.subject }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否外出</div> <div class="span-sty">是否外出</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="formobj.isGoOut" class="addinputw addinputInfo" :disabled="true"> <el-radio-group v-model="formobj.isGoOut" class="addinputInfo" :disabled="true">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">客户名称</div> <div class="span-sty">客户名称</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.customerName }}</span> <span class="addinputInfo">{{ formobj.customerName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">车牌号/车架号</div> <div class="span-sty">车牌号/车架号</div>
<el-form-item> <el-form-item>
<span class="addinputw addinputInfo">{{ formobj.vehMark }}/{{ formobj.vinNo }}</span> <span class="addinputInfo">{{ formobj.vehMark }}/{{ formobj.vinNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8">
<div class="span-sty">客户单位</div>
<el-form-item>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.customerOrg }}</span></el-form-item>
</el-form-item>
</el-col> -->
</el-row> </el-row>
<div class="title">服务项目</div>
<div class="title titleOne">
<div>服务项目</div>
</div>
<el-table v-loading="listLoading" :data="formobj.sitemVoList" border> <el-table v-loading="listLoading" :data="formobj.sitemVoList" border>
<!-- <el-table-column type="selection" align="center" width="50"/> --> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> <el-table-column label="服务项目" prop="serviceItem" align="center"/>
<el-table-column label="服务项目" prop="serviceItem" align="center" /> <el-table-column label="工种" prop="serviceType" align="center"/>
<el-table-column label="工种" prop="serviceType" align="center" /> <el-table-column label="维修技师" prop="repairerName" align="center"/>
<!-- <el-table-column label="科目" prop="subject" align="center" /> --> <el-table-column label="工时提成" prop="examineHourPrice" align="center"/>
<el-table-column label="维修技师" prop="repairerName" align="center" /> <el-table-column label="工时单价" prop="hourPrice" align="center"/>
<el-table-column label="工时提成" prop="examineHourPrice" align="center" /> <el-table-column label="工时数量" prop="hours" align="center"/>
<el-table-column label="工时单价" prop="hourPrice" align="center" /> <el-table-column label="销售价" prop="price" align="center"/>
<el-table-column label="工时数量" prop="hours" align="center" /> <el-table-column label="折扣" prop="discount" align="center"/>
<el-table-column label="销售价" prop="price" align="center" /> <el-table-column label="优惠" prop="discountAmount" align="center"/>
<el-table-column label="折扣" prop="discount" align="center" /> <el-table-column label="销售金额" prop="amount" align="center"/>
<el-table-column label="优惠" prop="discountAmount" align="center" /> <el-table-column label="备注" prop="remarks" align="center"/>
<el-table-column label="销售金额" prop="amount" align="center" />
<el-table-column label="备注" prop="remarks" align="center" />
</el-table> </el-table>
<div class="title titleOne"> <div class="title titleOne">
<div>商品列表</div> <div>商品列表</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="returnAll()">全退</el-button> <el-button type="primary" size="mini" class="btntopblueline" @click="returnAll()">全退</el-button>
</div> </div>
<el-table v-loading="listLoading" :data="formobj.detailList" border> <el-table v-loading="listLoading" :data="formobj.detailList" border>
<!-- <el-table-column type="selection" align="center" width="50"/> --> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> <el-table-column label="维修项目" prop="serviceItem" align="center"/>
<el-table-column label="维修项目" prop="serviceItem" align="center" /> <el-table-column label="商品ID" prop="goodsID" width="120" align="center"/>
<el-table-column label="商品ID" prop="goodsID" width="120" align="center" /> <el-table-column label="商品名称" prop="goodsSpuName" align="center"/>
<el-table-column label="商品名称" prop="goodsSpuName" align="center" /> <el-table-column label="商品图号" prop="goodsSkuCode" align="center"/>
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" /> <el-table-column label="规格" prop="goodsSkuOwnSpec" align="center"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" /> <el-table-column label="单位" prop="unit" align="center"/>
<el-table-column label="单位" prop="unit" align="center" />
<!-- <el-table-column label="仓库" prop="warehouseName" align="center" />
<el-table-column label="库位" prop="warehouseRackCode" align="center" />
-->
<el-table-column label="仓库" align="center" width="180"> <el-table-column label="仓库" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable <el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable @change="selectWarehouseName(scope.row,$event)">
@change="selectWarehouseName(scope.row,$event)"> <el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName" :value="item.sid"/>
<el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName" :value="item.sid" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="库位" align="center" width="180"> <el-table-column label="库位" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.warehouseRackCode" :disabled="scope.row.warehouseName==''" clearable <el-select v-model="scope.row.warehouseRackCode" :disabled="scope.row.warehouseName==''" clearable placeholder="请选择" @focus="getWarehouseAreaList(scope.row.warehouseSid)" @change="selectWarehouseAreaCode(scope.row,$event)">
placeholder="请选择" @focus="getWarehouseAreaList(scope.row.warehouseSid)" <el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid"/>
@change="selectWarehouseAreaCode(scope.row,$event)">
<el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单价" prop="price" align="center"/>
<el-table-column label="单价" prop="price" align="center" /> <el-table-column label="已出数量" prop="outboundCount" align="center"/>
<el-table-column label="已出数量" prop="outboundCount" align="center" />
<el-table-column label="退库数量" align="center" width="120"> <el-table-column label="退库数量" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder="" <el-input v-model="scope.row.count" clearable placeholder="" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" @input="commodityComputeYHAndXSJE(scope.row,$event)"/>
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
@input="commodityComputeYHAndXSJE(scope.row,$event)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="退库金额" prop="returnAmount" align="center" /> <el-table-column label="退库金额" prop="returnAmount" align="center"/>
<el-table-column label="备注" align="center" width="220"> <el-table-column label="备注" align="center" width="220">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.remarks" clearable placeholder="" /> <el-input v-model="scope.row.remarks" clearable placeholder=""/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="领料人" prop="receivePer" width="120" align="center" /> <el-table-column label="领料人" prop="receivePer" width="120" align="center"/>
<el-table-column label="接收时间" prop="receiveTimes" width="120" align="center" /> <el-table-column label="接收时间" prop="receiveTimes" width="120" align="center"/>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- 选择维修单 --> <!-- 选择维修单 -->
<chooseproducts v-show="viewState == 2" ref="divSp" @backData="backData" @doback="resetState" /> <chooseproducts v-show="viewState == 2" ref="divSp" @backData="backData" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/maintenanceReceive/maintenanceReceive.js' import req from '@/api/maintenanceReceive/maintenanceReceive.js'
import req2 from '@/api/storage/allocation.js' import req2 from '@/api/storage/allocation.js'
import chooseproducts from './relation/chooseproducts' import chooseproducts from './relation/chooseproducts'
import { import {
getOrgSidByPath, getOrgSidByPath,
selAllByOrgSidPath selAllByOrgSidPath
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
import { import {
getCurrentDate getCurrentDate
} from '@/utils/index.js' } from '@/utils/index.js'
export default {
export default {
components: { components: {
chooseproducts chooseproducts
}, },
@ -276,83 +215,43 @@
'vehMark': '', 'vehMark': '',
'vinNo': '', 'vinNo': '',
'customerOrg': '', 'customerOrg': '',
'sitemVoList': [ 'sitemVoList': [],
'detailList': []
],
'detailList': [
]
}, },
receivePerList: [], receivePerList: [],
warehouseList: [], warehouseList: [],
warehouseRackList: [], warehouseRackList: [],
rules: { rules: {
createByName: [{ warehouseManager: [{ required: true, message: '请选择退料人', trigger: 'change' }]
required: true,
message: '制单人不能为空',
trigger: 'blur'
}],
deptName: [{
required: true,
message: '制单部门不能为空',
trigger: 'blur'
}],
createTime: [{
required: true,
message: '制单日期不能为空',
trigger: 'blur'
}],
warehouseManager: [{
required: true,
message: '请选择领料人',
trigger: 'change'
}]
} }
} }
}, },
created() {},
methods: { methods: {
initData() { initData() {
selAllByOrgSidPath({ selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
orgSidPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.receivePerList = res.data this.receivePerList = res.data
console.log('aaaaaa', this.receivePerList)
} }
}) })
}, },
showAdd(sid) { showAdd(sid) {
this.getWarehouseList() this.getWarehouseList()
this.initData() this.initData()
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
var params = { var params = {
sid: sid sid: sid
} }
req.initBill(params) req.initBill(params).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
console.log('>>>>>>>>>initBill', resp)
this.formobj = resp.data this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.formobj.createBySid = window.sessionStorage.getItem('userSid') this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.createByName = window.sessionStorage.getItem('name') this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.createTime = getCurrentDate() this.formobj.createTime = getCurrentDate()
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.formobj.createOrgSid = res.data this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data this.formobj.useOrgSid = res.data
@ -362,7 +261,6 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
}, },
backData(value) { backData(value) {
this.viewState = 1 this.viewState = 1
@ -370,24 +268,15 @@
var params = { var params = {
sid: value sid: value
} }
req.initBill(params) req.initBill(params).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
console.log('>>>>>>>>>initBill', resp)
this.formobj = resp.data this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
this.formobj.createBySid = window.sessionStorage.getItem('userSid') this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.createByName = window.sessionStorage.getItem('name') this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.createTime = getCurrentDate() this.formobj.createTime = getCurrentDate()
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) { if (res.success) {
this.formobj.createOrgSid = res.data this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data this.formobj.useOrgSid = res.data
@ -397,7 +286,6 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
}, },
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
@ -407,14 +295,10 @@
const aa = [] const aa = []
this.$refs['divSp'].showData(aa, this.formobj.createOrgSid) this.$refs['divSp'].showData(aa, this.formobj.createOrgSid)
}, },
saveOrUpdate() { saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
this.$refs['form_obj'].validate((valid) => { this.$refs['form_obj'].validate((valid) => {
if (valid) { if (valid) {
req.saveQuitBill(this.formobj) req.saveQuitBill(this.formobj).then(resp => {
.then(resp => {
if (resp.success) { if (resp.success) {
this.$message({ this.$message({
showClose: true, showClose: true,
@ -426,7 +310,6 @@
// resp.code // resp.code
} }
}) })
.catch(() => {})
} }
}) })
}, },
@ -441,10 +324,8 @@
'warehouseManager': '', 'warehouseManager': '',
'useOrgSid': '', 'useOrgSid': '',
'createOrgSid': '', 'createOrgSid': '',
'deptSid': window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem( 'deptSid': window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1),
'defaultOrgPath').lastIndexOf('/') + 1), 'deptName': window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
'deptName': window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem(
'defaultOrgPathName').lastIndexOf('/') + 1),
'createTime': getCurrentDate(), 'createTime': getCurrentDate(),
'remarks': '', 'remarks': '',
'sourceBillNo': '', 'sourceBillNo': '',
@ -456,12 +337,8 @@
'vehMark': '', 'vehMark': '',
'vinNo': '', 'vinNo': '',
'customerOrg': '', 'customerOrg': '',
'sitemVoList': [ 'sitemVoList': [],
'detailList': []
],
'detailList': [
]
} }
this.submitdisabled = false this.submitdisabled = false
this.$emit('doback') this.$emit('doback')
@ -470,24 +347,17 @@
return index + 1 return index + 1
}, },
receivePerSelect(val) { receivePerSelect(val) {
const choose = this.receivePerList.filter((item) => item.sid == val) const choose = this.receivePerList.filter((item) => item.sid === val)
console.log('>>>>>>>>>receivePerSelect', choose)
this.formobj.warehouseManagerSid = choose[0].sid this.formobj.warehouseManagerSid = choose[0].sid
this.formobj.warehouseManager = choose[0].name this.formobj.warehouseManager = choose[0].name
}, },
getWarehouseList() { getWarehouseList() {
console.log('getWarehouseList>>>>>>>>>>>>>')
var parpams = { var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath') orgPath: window.sessionStorage.getItem('defaultOrgPath')
} }
console.log('getWarehouseList', parpams)
req2.getWarehouses(parpams).then((res) => { req2.getWarehouses(parpams).then((res) => {
if (res.success) { if (res.success) {
this.warehouseList = res.data this.warehouseList = res.data
console.log('aaaaaa', this.warehouseList)
} }
}) })
}, },
@ -498,85 +368,73 @@
req2.getWarehouseareas(query).then((res) => { req2.getWarehouseareas(query).then((res) => {
if (res.success) { if (res.success) {
this.warehouseRackList = res.data this.warehouseRackList = res.data
console.log('bbbbb', this.warehouseRackList)
} }
}) })
}, },
selectWarehouseName(row, val) { selectWarehouseName(row, val) {
console.log('selectWarehouseName', row) const choose = this.warehouseList.filter((item) => item.sid === val)
console.log('selectWarehouseName', val)
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseName', choose)
row.warehouseName = choose[0].warehouseName row.warehouseName = choose[0].warehouseName
row.warehouseSid = choose[0].sid row.warehouseSid = choose[0].sid
row.warehouseRackCode = '' row.warehouseRackCode = ''
row.warehouseRackSid = '' row.warehouseRackSid = ''
}, },
selectWarehouseAreaCode(row, val) { selectWarehouseAreaCode(row, val) {
console.log('selectWarehouseAreaCode', val) const choose = this.warehouseRackList.filter((item) => item.sid === val)
const choose = this.warehouseRackList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaCode', choose)
row.warehouseRackCode = choose[0].areaCode row.warehouseRackCode = choose[0].areaCode
row.warehouseRackSid = choose[0].sid row.warehouseRackSid = choose[0].sid
}, },
returnAll() { returnAll() {
for (var i = 0; i < this.formobj.detailList.length; i++) { for (var i = 0; i < this.formobj.detailList.length; i++) {
var item = this.formobj.detailList[i] var item = this.formobj.detailList[i]
item.count = item.outboundCount item.count = item.outboundCount
} }
}, },
commodityComputeYHAndXSJE(row, val) { commodityComputeYHAndXSJE(row, val) {
console.log("aaa", row) if (parseFloat(row.count) > parseFloat(row.outboundCount)) {
console.log("aaa", val) row.count = row.outboundCount
row.returnAmount = (Number(row.count) * Number(row.price)).toFixed(2)
} }
row.returnAmount = (Number(row.count) * Number(row.price)).toFixed(2)
} }
} }
}
</script> </script>
<style scoped> <style scoped>
/deep/ .el-form-item__error { /deep/ .el-form-item__error {
margin-left: 120px !important; margin-left: 120px !important;
} }
.must { .must {
color: #f00; color: #f00;
} }
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; margin-left: 120px !important;
width: calc(100% - 115px); width: calc(100% - 115px);
} }
.first_row { .first_row {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
.titleOne { .titleOne {
padding: 7px; padding: 7px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.el-radio /deep/ .el-radio__label { .el-radio /deep/ .el-radio__label {
font-size: 14px !important; font-size: 14px !important;
} }
</style> </style>

647
yxt-as-ui/src/views/maintenanceReceive/repairbillInfo.vue

@ -1,647 +0,0 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">工单类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.billType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">科目</div>
<el-form-item><span class="addinputInfo">{{ formobj.subject }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">索赔厂家</div>
<el-form-item><span class="addinputInfo">{{ formobj.claimManufacturer }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">是否外出</div>
<el-form-item><span class="addinputInfo">{{ formobj.isGoOut == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">进厂时间</div>
<el-form-item><span class="addinputInfo">{{ formobj.entryTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">预计完工</div>
<el-form-item><span class="addinputInfo">{{ formobj.estimatedFinishTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">服务顾问</div>
<el-form-item><span class="addinputInfo">{{ formobj.waitorName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">班组</div>
<el-form-item><span class="addinputInfo">{{ formobj.groupName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">主修人</div>
<el-form-item><span class="addinputInfo">{{ formobj.mainRepairers }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">备注(打印)</div>
<el-form-item><span class="addinputInfo">{{ formobj.printRemarks }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">特殊标注</div>
<el-form-item><span
class="addinputInfo"
>{{ formobj.isSpecialSign == '1' ? '有' : '否' }}</span></el-form-item>
</el-col>
</el-row>
<el-collapse v-model="activeNames">
<el-collapse-item title="客户信息" name="1">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">客户</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户来源</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerSource }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehModel }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">行驶里程(Km)</div>
<el-form-item><span class="addinputInfo">{{ formobj.mileage }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">油量(L)</div>
<el-form-item><span class="addinputInfo">{{ formobj.oil }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">当前里程(Km)</div>
<el-form-item><span class="addinputInfo">{{ formobj.currentMileage }}</span></el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="对接人信息" name="2">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">对接人姓名</div>
<el-form-item><span class="addinputInfo">{{ formobj.dockingPeople }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">对接人电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.dockingPhone }}</span></el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="保险信息" name="3">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">责任划分</div>
<el-form-item><span
class="addinputInfo"
>{{ formobj.insuranceVo.responsibility }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">责任比例</div>
<el-form-item><span
class="addinputInfo"
>{{ formobj.insuranceVo.responsibilityRatio }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否存在人伤</div>
<el-form-item><span
class="addinputInfo"
>{{ formobj.insuranceVo.isPersonInjuries == '1' ? '是' : formobj.insuranceVo.isPersonInjuries == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
</el-row>
<el-table
:key="insuranceKey"
:data="formobj.insuranceVo.insuranceList"
:index="index"
border
style="width: 100%"
>
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="useInsurer" label="使用保险方" align="center" min-width="150" />
<el-table-column prop="insuranceType" label="使用险种" align="center" min-width="150" />
<el-table-column prop="insuranceCompany" label="保险公司" align="center" min-width="150" />
<el-table-column prop="claimBillNo" label="报案号" align="center" min-width="180" />
<el-table-column prop="investigator" label="勘察员及电话" align="center" min-width="220" />
<el-table-column prop="lossAdjuster" label="定损员及电话" align="center" min-width="220" />
</el-table>
</el-collapse-item>
<el-collapse-item title="发票信息" name="4">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">是否开发票</div>
<el-form-item><span
class="addinputInfo"
>{{ formobj.invoiceVo.isInvoicing == '1' ? '是' : formobj.invoiceVo.isInvoicing == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发票类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.invoiceVo.invoiceType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票单位</div>
<el-form-item><span class="addinputInfo">{{ formobj.invoiceVo.invoiceCompany }}</span></el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
<div class="title">服务项目</div>
<el-table :key="serviceKey" :data="formobj.sitemVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="serviceItem" label="服务项目" align="center" width="200" />
<el-table-column prop="serviceType" label="工种" align="center" width="150" />
<el-table-column prop="repairerName" label="维修人" width="200" align="center" />
<el-table-column prop="examineHourPrice" label="工时提成" align="center" width="100" />
<el-table-column prop="hourPrice" label="工时单价" align="center" width="150" />
<el-table-column prop="hours" label="工时数" align="center" width="100" />
<el-table-column prop="price" label="销售价" align="center" width="150" />
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="amount" label="金额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">商品</div>
<el-row>
<el-col :span="24">
<div class="span-sty span-sty-one" style="width: 300px;!important;">前台登记时对商品要求备注</div>
<el-form-item><span class="addinputInfo-one">{{ formobj.registerRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-table :key="tableKey" :data="formobj.goodsDetailsVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" width="100" align="center" />
<el-table-column prop="goodsSkuCode" label="图号" width="100" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="100" align="center" />
<el-table-column prop="unit" label="单位" width="100" align="center" />
<el-table-column prop="warehouseName" label="仓库" width="100" align="center" />
<el-table-column prop="warehouseRackCode" label="库位" width="100" align="center" />
<el-table-column prop="price" label="销售价" align="center" width="150" />
<el-table-column prop="count" label="数量" width="100" align="center" />
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" width="100" align="center" />
<el-table-column prop="amount" label="金额" width="100" align="center" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<div class="span-sty">外出费()</div>
<el-form-item><span class="addinputInfo">{{ formobj.outAmount }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">厂家补助()</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyAmount }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">施救费()</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueAmount }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="8">
<span />
</el-col>
</el-row>
<el-table :key="subjoinKey" :data="formobj.aitemVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="price" label="销售价" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
<el-row>
<el-col :span="24">
<div class="span-sty" style="border-right: 0px">应收合计</div>
<el-form-item><span class="addinputInfo">{{ ysTotal }} = 工时费{{ gsfTotal }} + 材料费{{ clfTotal }} +
附加费{{ fjfTotal }} + 税额0</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="border-right: 0px">实收合计</div>
<el-form-item><span class="addinputInfo">{{ ssTotal }} = 应收合计{{ ysTotal }} -
优惠{{ yhTotal }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!-- <workslrsettlementAdd v-show="viewState == 2" ref="divFJS" @doback="resetState" /> -->
</div>
</template>
<script>
import req from '@/api/operation/repairbill'
// import workslrsettlementAdd from '../workslrsettlement/workslrsettlementAdd'
export default {
name: 'RepairBillInfo',
components: {
// workslrsettlementAdd
},
data() {
return {
viewTitle: '',
viewState: 1,
activeNames: '1',
tableKey: 0,
index: 0,
// service
serviceKey: 1,
// subjoin
subjoinKey: 2,
// insuranceKey
insuranceKey: 3,
formobj: {
sid: '',
registerRemarks: '',
billNo: '',
createByName: '',
deptName: '',
createDate: '',
billTypeKey: '',
billType: '',
subjectSid: '',
subject: '',
claimManufacturerSid: '',
claimManufacturer: '',
isGoOut: '',
estimatedFinishTime: '',
entryTime: '',
nodeName: '',
waitorName: '',
waitorSid: '',
groupSid: '',
groupName: '',
mainRepairers: '',
printRemarks: '',
remarks: '',
isSpecialSign: '',
discountAmount: '',
coupon: '',
scoreDeduct: '',
nodeTime: '',
outDoorState: '',
outDoorTime: '',
customerSid: '',
customerName: '',
mobile: '',
customerOrg: '',
customerSource: '',
memberCardSid: '',
memberCarNumber: '',
vehMark: '',
vinNo: '',
vehModel: '',
mileage: '',
oil: '',
currentMileage: '',
dockingPeopleSid: '',
dockingPeople: '',
dockingPhone: '',
invoiceVo: {
isInvoicing: '',
invoiceType: '',
invoiceTypeKey: '',
invoiceCompanySid: '',
invoiceCompany: ''
},
insuranceVo: {
responsibility: '',
responsibilityKey: '',
isPersonInjuries: '',
responsibilityRatioKey: '',
responsibilityRatio: '',
insuranceList: []
},
sitemVos: [],
aitemVos: [],
goodsDetailsVos: [],
createBySid: '',
operatorSid: '',
nodeCode: '',
settleVo: {
payerNo: '',
payerName: '',
receivableAmount: '',
depositdeductAmount: '',
settleKey: '',
settleValue: '',
settleAmount: '',
otherSettleKey: '',
otherSettleValue: '',
debts: '',
settleTime: '',
otherSettleAmount: ''
},
showReSettleBtn: true,
hourAmount: '',
otherAmount: '',
goodsAmount: '',
addAmount: '',
taxAmount: '',
outAmount: '',
subsidyAmount: '',
rescueAmount: '',
actualAmount: '',
receivableAmount: '',
subsidyRemarks: '',
rescueRemarks: '',
outRemarks: '',
fileName: '',
operator: '',
useOrgSid: '',
createOrgSid: ''
},
rules: {}
}
},
computed: {
// =
gsfTotal() {
let gsf = '0'
if (this.formobj.sitemVos.length > 0) {
this.formobj.sitemVos.forEach((e) => {
if (e.serviceItem !== '') {
gsf = Math.round((parseFloat(gsf) + parseFloat(e.price !== '' ? e.price : '0')) * 100) / 100
}
})
}
return gsf
},
// = *
clfTotal() {
let clf = '0'
if (this.formobj.goodsDetailsVos.length > 0) {
this.formobj.goodsDetailsVos.forEach((e) => {
if (e.goodsSpuName !== '') {
clf = Math.round((parseFloat(clf) + (parseFloat(e.price !== '' ? e.price : '0') * parseFloat(e
.count !== '' ? e.count : '0'))) * 100) / 100
}
})
}
return clf
},
// == + + +
fjfTotal() {
let fjf = '0'
fjf = parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : '0') + parseFloat(this.formobj
.subsidyAmount !== '' ? this.formobj.subsidyAmount : '0') + parseFloat(this.formobj.rescueAmount !== ''
? this.formobj.rescueAmount : '0')
if (this.formobj.aitemVos.length > 0) {
this.formobj.aitemVos.forEach((e) => {
if (e.aitemName !== '') {
fjf = Math.round((parseFloat(fjf) + parseFloat(e.price !== '' ? e.price : '0')) * 100) / 100
}
})
}
return fjf
},
// = + + +
ysTotal() {
let ys = '0'
ys = Math.round((parseFloat(ys) + parseFloat(this.gsfTotal) + parseFloat(this.clfTotal) + parseFloat(this
.fjfTotal)) * 100) / 100
return ys
},
// = +
yhTotal() {
let yh = '0'
if (this.formobj.sitemVos.length > 0) {
this.formobj.sitemVos.forEach((e) => {
if (e.serviceItem !== '') {
yh = Math.round((parseFloat(yh) + parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) *
100) / 100
}
})
}
if (this.formobj.goodsDetailsVos.length > 0) {
this.formobj.goodsDetailsVos.forEach((e) => {
if (e.goodsSpuName !== '') {
yh = Math.round((parseFloat(yh) + parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) *
100) / 100
}
})
}
return yh
},
// = -
ssTotal() {
let ysje = '0'
ysje = Math.round((parseFloat(ysje) + parseFloat(this.ysTotal) - parseFloat(this.yhTotal)) * 100) / 100
return ysje
}
},
methods: {
showInfo(sid) {
this.viewTitle = '维修单详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.sitemVos.length > 0) {
this.formobj.sitemVos.forEach((e) => {
if (e.staffNameList.length > 0) {
e.repairerName = e.staffNameList.join(',')
}
})
}
}
})
},
resetState() {
this.viewState = 1
},
negativeSettlement() {
this.viewState = 2
this.$refs['divFJS'].showAdd(this.formobj.sid)
},
handleReturn() {
this.formobj = {
sid: '',
registerRemarks: '',
billNo: '',
createByName: '',
deptName: '',
createDate: '',
billTypeKey: '',
billType: '',
subjectSid: '',
subject: '',
claimManufacturerSid: '',
claimManufacturer: '',
isGoOut: '',
estimatedFinishTime: '',
entryTime: '',
nodeName: '',
waitorName: '',
waitorSid: '',
groupSid: '',
groupName: '',
mainRepairers: '',
printRemarks: '',
remarks: '',
isSpecialSign: '',
discountAmount: '',
coupon: '',
scoreDeduct: '',
nodeTime: '',
outDoorState: '',
outDoorTime: '',
customerSid: '',
customerName: '',
mobile: '',
customerOrg: '',
customerSource: '',
memberCardSid: '',
memberCarNumber: '',
vehMark: '',
vinNo: '',
vehModel: '',
mileage: '',
oil: '',
currentMileage: '',
dockingPeopleSid: '',
dockingPeople: '',
dockingPhone: '',
invoiceVo: {
isInvoicing: '',
invoiceType: '',
invoiceTypeKey: '',
invoiceCompanySid: '',
invoiceCompany: ''
},
insuranceVo: {
responsibility: '',
responsibilityKey: '',
isPersonInjuries: '',
responsibilityRatioKey: '',
responsibilityRatio: '',
insuranceList: []
},
sitemVos: [],
aitemVos: [],
goodsDetailsVos: [],
createBySid: '',
operatorSid: '',
nodeCode: '',
settleVo: {
payerNo: '',
payerName: '',
receivableAmount: '',
depositdeductAmount: '',
settleKey: '',
settleValue: '',
settleAmount: '',
otherSettleKey: '',
otherSettleValue: '',
debts: '',
settleTime: '',
otherSettleAmount: ''
},
showReSettleBtn: true,
hourAmount: '',
otherAmount: '',
goodsAmount: '',
addAmount: '',
taxAmount: '',
outAmount: '',
subsidyAmount: '',
rescueAmount: '',
actualAmount: '',
receivableAmount: '',
subsidyRemarks: '',
rescueRemarks: '',
outRemarks: '',
fileName: '',
operator: '',
useOrgSid: '',
createOrgSid: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.span-sty-one {
width: 180px !important;
}
.addinputInfo-one {
margin-left: 170px !important;
}
</style>
Loading…
Cancel
Save