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