4 changed files with 1012 additions and 1983 deletions
File diff suppressed because it is too large
@ -1,582 +1,440 @@ |
|||||
<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 { |
|
||||
components: { |
export default { |
||||
chooseproducts |
components: { |
||||
}, |
chooseproducts |
||||
data() { |
}, |
||||
return { |
data() { |
||||
viewState: 1, |
return { |
||||
listLoading: false, |
viewState: 1, |
||||
submitdisabled: false, |
listLoading: false, |
||||
|
submitdisabled: false, |
||||
formobj: { |
|
||||
'sid': '', |
formobj: { |
||||
'createBySid': window.sessionStorage.getItem('userSid'), |
'sid': '', |
||||
'createByName': window.sessionStorage.getItem('name'), |
'createBySid': window.sessionStorage.getItem('userSid'), |
||||
'sourceBillSid': '', |
'createByName': window.sessionStorage.getItem('name'), |
||||
'warehouseManagerSid': '', |
'sourceBillSid': '', |
||||
'warehouseManager': '', |
'warehouseManagerSid': '', |
||||
'useOrgSid': '', |
'warehouseManager': '', |
||||
'createOrgSid': '', |
'useOrgSid': '', |
||||
'deptSid': window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage |
'createOrgSid': '', |
||||
.getItem('defaultOrgPath').lastIndexOf('/') + 1), |
'deptSid': window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage |
||||
'deptName': window.sessionStorage.getItem('defaultOrgPathName').substring(window |
.getItem('defaultOrgPath').lastIndexOf('/') + 1), |
||||
.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': '', |
||||
|
'sitemVoList': [], |
||||
], |
'detailList': [] |
||||
'detailList': [ |
}, |
||||
|
receivePerList: [], |
||||
] |
warehouseList: [], |
||||
}, |
warehouseRackList: [], |
||||
receivePerList: [], |
rules: { |
||||
warehouseList: [], |
warehouseManager: [{ required: true, message: '请选择退料人', trigger: 'change' }] |
||||
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' |
|
||||
}] |
|
||||
|
|
||||
} |
|
||||
} |
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
initData() { |
||||
|
selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
|
if (res.success) { |
||||
|
this.receivePerList = res.data |
||||
|
} |
||||
|
}) |
||||
}, |
}, |
||||
created() {}, |
showAdd(sid) { |
||||
methods: { |
this.getWarehouseList() |
||||
initData() { |
this.initData() |
||||
selAllByOrgSidPath({ |
this.$nextTick(() => { |
||||
orgSidPath: window.sessionStorage.getItem('defaultOrgPath') |
this.$refs['form_obj'].clearValidate() |
||||
}).then((res) => { |
}) |
||||
if (res.success) { |
var params = { |
||||
this.receivePerList = res.data |
sid: sid |
||||
|
} |
||||
console.log('aaaaaa', this.receivePerList) |
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) |
||||
showAdd(sid) { |
this.formobj.createBySid = window.sessionStorage.getItem('userSid') |
||||
this.getWarehouseList() |
this.formobj.createByName = window.sessionStorage.getItem('name') |
||||
this.initData() |
this.formobj.createTime = getCurrentDate() |
||||
this.$nextTick(() => { |
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
this.$refs['form_obj'].clearValidate() |
if (res.success) { |
||||
}) |
this.formobj.createOrgSid = res.data |
||||
|
this.formobj.useOrgSid = res.data |
||||
var params = { |
} |
||||
sid: sid |
}) |
||||
|
} else { |
||||
|
// 根据resp.code进行异常情况处理 |
||||
} |
} |
||||
req.initBill(params) |
}) |
||||
.then(resp => { |
}, |
||||
if (resp.success) { |
backData(value) { |
||||
console.log('>>>>>>>>>initBill', resp) |
this.viewState = 1 |
||||
|
// 初始化 |
||||
this.formobj = resp.data |
var params = { |
||||
|
sid: value |
||||
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window |
} |
||||
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1) |
req.initBill(params).then(resp => { |
||||
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage |
if (resp.success) { |
||||
.getItem('defaultOrgPath').lastIndexOf('/') + 1) |
this.formobj = resp.data |
||||
this.formobj.createBySid = window.sessionStorage.getItem('userSid') |
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1) |
||||
this.formobj.createByName = window.sessionStorage.getItem('name') |
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) |
||||
this.formobj.createTime = getCurrentDate() |
this.formobj.createBySid = window.sessionStorage.getItem('userSid') |
||||
|
this.formobj.createByName = window.sessionStorage.getItem('name') |
||||
getOrgSidByPath({ |
this.formobj.createTime = getCurrentDate() |
||||
orgPath: window.sessionStorage.getItem('defaultOrgPath') |
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { |
||||
}).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 |
|
||||
} |
|
||||
}) |
|
||||
} else { |
|
||||
// 根据resp.code进行异常情况处理 |
|
||||
} |
} |
||||
}) |
}) |
||||
.catch(() => {}) |
} else { |
||||
}, |
// 根据resp.code进行异常情况处理 |
||||
backData(value) { |
|
||||
this.viewState = 1 |
|
||||
// 初始化 |
|
||||
var params = { |
|
||||
sid: value |
|
||||
} |
} |
||||
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) { |
if (resp.success) { |
||||
console.log('>>>>>>>>>initBill', resp) |
this.$message({ |
||||
|
showClose: true, |
||||
this.formobj = resp.data |
type: 'success', |
||||
|
message: resp.msg |
||||
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.handleReturn('true') |
||||
} else { |
} else { |
||||
// 根据resp.code进行异常情况处理 |
// 根据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') |
}, |
||||
}, |
handleReturn(isreload) { |
||||
indexMethod(index) { |
if (isreload === 'true') this.$emit('reloadlist') |
||||
return index + 1 |
this.formobj = { |
||||
}, |
'sid': '', |
||||
receivePerSelect(val) { |
'createBySid': window.sessionStorage.getItem('userSid'), |
||||
const choose = this.receivePerList.filter((item) => item.sid == val) |
'createByName': window.sessionStorage.getItem('name'), |
||||
console.log('>>>>>>>>>receivePerSelect', choose) |
'sourceBillSid': '', |
||||
this.formobj.warehouseManagerSid = choose[0].sid |
'warehouseManagerSid': '', |
||||
this.formobj.warehouseManager = choose[0].name |
'warehouseManager': '', |
||||
}, |
'useOrgSid': '', |
||||
|
'createOrgSid': '', |
||||
getWarehouseList() { |
'deptSid': window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1), |
||||
console.log('getWarehouseList>>>>>>>>>>>>>') |
'deptName': window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1), |
||||
var parpams = { |
'createTime': getCurrentDate(), |
||||
orgPath: window.sessionStorage.getItem('defaultOrgPath') |
'remarks': '', |
||||
} |
'sourceBillNo': '', |
||||
|
'waitorName': '', |
||||
console.log('getWarehouseList', parpams) |
'billDate': '', |
||||
req2.getWarehouses(parpams).then((res) => { |
'billType': '', |
||||
if (res.success) { |
'subject': '', |
||||
this.warehouseList = res.data |
'customerName': '', |
||||
|
'vehMark': '', |
||||
console.log('aaaaaa', this.warehouseList) |
'vinNo': '', |
||||
} |
'customerOrg': '', |
||||
}) |
'sitemVoList': [], |
||||
}, |
'detailList': [] |
||||
getWarehouseAreaList(sid) { |
} |
||||
var query = { |
this.submitdisabled = false |
||||
ckSid: sid |
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 |
getWarehouseAreaList(sid) { |
||||
|
var query = { |
||||
console.log('bbbbb', this.warehouseRackList) |
ckSid: sid |
||||
} |
} |
||||
}) |
req2.getWarehouseareas(query).then((res) => { |
||||
}, |
if (res.success) { |
||||
selectWarehouseName(row, val) { |
this.warehouseRackList = res.data |
||||
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 |
|
||||
} |
} |
||||
}, |
}) |
||||
commodityComputeYHAndXSJE(row, val) { |
}, |
||||
console.log("aaa", row) |
selectWarehouseName(row, val) { |
||||
console.log("aaa", val) |
const choose = this.warehouseList.filter((item) => item.sid === val) |
||||
|
row.warehouseName = choose[0].warehouseName |
||||
row.returnAmount = (Number(row.count) * Number(row.price)).toFixed(2) |
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> |
</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> |
||||
|
@ -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