diff --git a/yxt-as-ui/src/api/operation/repairbill.js b/yxt-as-ui/src/api/operation/repairbill.js
index eba5ac68e0..865d8dd16a 100644
--- a/yxt-as-ui/src/api/operation/repairbill.js
+++ b/yxt-as-ui/src/api/operation/repairbill.js
@@ -10,14 +10,6 @@ export default {
headers: { 'Content-Type': 'application/json' }
})
},
- customerListPage: function(params) {
- return request({
- url: '/as/v1/AsServiceItem/listPage',
- method: 'post',
- data: params,
- headers: { 'Content-Type': 'application/json' }
- })
- },
saveOrUpdate: function(data) {
return request({
url: '/as/v1/AsBusrepairBill/saveBill',
@@ -48,19 +40,13 @@ export default {
headers: { 'Content-Type': 'application/json' }
})
},
- // 根据分公司全路径sid查询本分公司下的品牌,再根据品牌查询相应的关联车型信息
- getVehModel: function(data) {
+ // 确认材料费
+ sureMaterialFee: function(data) {
return request({
- url: '/as/v1/AsServiceItem/getVehModel',
- method: 'get',
- params: data
- })
- },
- getManufacturers: function(data) {
- return request({
- url: '/as/v1/AsServiceItem/getManufacturers',
- method: 'get',
- params: data
+ url: '/as/v1/AsBusrepairBill/sureMaterialFee',
+ method: 'post',
+ data: data,
+ headers: { 'Content-Type': 'application/json' }
})
}
}
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbill.vue b/yxt-as-ui/src/views/operation/repairbill/repairbill.vue
index f61a8ec8c6..fc39b04697 100644
--- a/yxt-as-ui/src/views/operation/repairbill/repairbill.vue
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbill.vue
@@ -9,22 +9,71 @@
{{ searchxianshitit }}
@@ -43,23 +92,35 @@
-
+
- 办理
- 查看
+ {{ scope.row.billNo }}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
@@ -73,6 +134,8 @@
+
+
@@ -82,13 +145,16 @@ import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/operation/repairbill'
import repairbillAdd from './repairbillAdd'
+import repairbillInfo from './repairbillInfo'
+
export default {
name: 'RepairBill',
components: {
Pagination,
pageye,
ButtonBar,
- repairbillAdd
+ repairbillAdd,
+ repairbillInfo
},
data() {
return {
@@ -101,6 +167,13 @@ export default {
btnKey: 'toAdd',
btnLabel: '新增'
},
+ {
+ type: 'primary',
+ size: 'small',
+ icon: 'edit',
+ btnKey: 'toEdit',
+ btnLabel: '编辑'
+ },
{
type: 'danger',
size: 'small',
@@ -122,6 +195,30 @@ export default {
tableKey: 0,
list: [],
sids: [], // 用于导出的时候保存已选择的SIDs
+ billType_list: [
+ {
+ dictKey: '0',
+ dictValue: '正常工单'
+ },
+ {
+ dictKey: '1',
+ dictValue: '保险理赔'
+ },
+ {
+ dictKey: '2',
+ dictValue: '协议单位'
+ }
+ ],
+ state_list: [
+ {
+ dictKey: '1',
+ dictValue: '是'
+ },
+ {
+ dictKey: '0',
+ dictValue: '是'
+ }
+ ],
FormLoading: false,
listLoading: false,
// 翻页
@@ -132,12 +229,29 @@ export default {
params: {
startTime: '',
endTime: '',
+ useOrgName: '',
+ dept: '',
+ createByName: '',
+ billNo: '',
+ billType: '',
+ entryStartTime: '',
+ entryEndTime: '',
+ finishStartTime: '',
+ finishEndTime: '',
customerName: '',
mobile: '',
+ customerOrg: '',
vehMark: '',
- vehModel: '',
+ vinNo: '',
+ waitorName: '',
+ groupName: '',
+ mainRepairers: '',
+ isInvoicing: '',
+ nodeCode: '',
+ userSid: '',
+ menuUrl: '',
orgPath: '',
- nodeCode: ''
+ subject: ''
}
}
}
@@ -165,6 +279,9 @@ export default {
case 'toAdd':
this.toAdd()
break
+ case 'toEdit':
+ this.toEdit()
+ break
case 'doDel':
this.doDel()
break
@@ -193,7 +310,9 @@ export default {
getList() {
this.listLoading = true
this.listQuery.params.nodeCode = '1'
+ this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
+ this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
@@ -219,12 +338,29 @@ export default {
params: {
startTime: '',
endTime: '',
+ useOrgName: '',
+ dept: '',
+ createByName: '',
+ billNo: '',
+ billType: '',
+ entryStartTime: '',
+ entryEndTime: '',
+ finishStartTime: '',
+ finishEndTime: '',
customerName: '',
mobile: '',
+ customerOrg: '',
vehMark: '',
- vehModel: '',
+ vinNo: '',
+ waitorName: '',
+ groupName: '',
+ mainRepairers: '',
+ isInvoicing: '',
+ nodeCode: '',
+ userSid: '',
+ menuUrl: '',
orgPath: '',
- nodeCode: ''
+ subject: ''
}
}
this.getList()
@@ -233,9 +369,9 @@ export default {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
- toEdit(row) {
+ toEdit() {
this.viewState = 3
- this.$refs['divAdd'].showEdit(row)
+ this.$refs['divAdd'].showEdit()
},
toInfo(row) {
this.viewState = 4
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue
index efb2328d4e..4ed5bdc725 100644
--- a/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue
@@ -4,160 +4,295 @@
+
+
+ 制单人
+ {{ formobj.createByName }}
+
+
+ 制单部门
+ {{ formobj.createDept }}
+
+
+ 制单日期
+ {{ formobj.createTime }}
+
+
+
+
+ 工单类型
+
+
+
+
+
+
+
+ 科目
+
+
+
+
+
+
+
+ 环节
+ {{ formobj.nodeName }}
+
+
+
+
+ 进厂时间
+
+
+
+ 预计完工
+
+
+
+
+
+ 服务顾问
+
+
+
+
+
+
+
+ 班组
+
+
+
+
+
+
+
+ 主修人
+
+
+
+
+
+
+
+
+
+ 快捷备注
+
+
+
+ 备注(打印)
+
+
+
+ 备注
+
+
+
-
- 客户
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
客户
{{ formobj.customerName }}
- 车辆牌照
+ 联系地那话
{{ formobj.vehMark }}
- 联系电话
+ 客户单位
{{ formobj.mobile }}
- 车架号
+ 车牌号
+ {{ formobj.vehMark }}
+
+
+ 车架号哦啊
{{ formobj.vinNo }}
+
+ 车型
+ {{ formobj.vehModel }}
+
+
+
行驶里程
- {{ formobj.mileage }}
+
+
+
+ 油量
+
- 单位
- {{ formobj.customerOrg }}
+ 当前里程
+
-
+
+
+
- 车型
- {{ formobj.vehModel }}
+ 送修人姓名
+
- 会员卡号
- {{ formobj.memberCarNumber }}
+ 送修人电话
+
- 油量
- {{ formobj.oil }}
+ 厂家
+
+
+
+
+
+
+
+ 责任划分
+
+
+
+
+
+
+
+ 对方险种
+
+
+
+
+
-
- 当前里程
- {{ formobj.currentMileage }}
+
+ 保险公司1
+
+
+
+ 保险公司2
+
+
+
+ 保险索赔单号
+
-
-
-
+
- 单据编号
- {{ formobj.billNo }}
+ 保险人员
+
- 进场时间
-
+ 勘察员
+
- 预计完工
-
+ 定损员
+
- 科目
- {{ formobj.vehModel }}
+ 特殊标志
+
+
+ 是
+ 否
+
+
+
+
+ 出险类型
+
+
+
+
+
+
+
+
+
+
+
+ 是否开发票
+
+
+ 是
+ 否
+
+
- 服务顾问
- {{ formobj.memberCarNumber }}
+ 发票类型
+
+
+
+
+
- 快捷备注
- {{ formobj.shotRemarks }}
+ 开票名称
+
- 备注(打印)
- {{ formobj.printRemarks }}
+ 税号
+
- 备注
- {{ formobj.remarks }}
+ 发票号码
+
- 主修人
- {{ formobj.mainRepairers }}
+ 税率
+
-
-
-
-
-
-
+
-
-
-
-
+
-
+ 删除
-
+
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -175,12 +310,19 @@
-
+
+
+
+
+
+
+
+
-
+
@@ -190,7 +332,7 @@
-
+
@@ -200,23 +342,51 @@
-
-
-
+
+
+
- 附加项目列表
+ 商品
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
+ 删除
@@ -236,7 +406,7 @@
-
+
@@ -248,56 +418,77 @@
合计金额
- {{ jeTotal }} = 工时费:{{ gsfTotal }} + 附加费:{{ fjfTotal }}
+ {{ jeTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }} + 税额:{{ seTotal }}
应收金额
- {{ ysjeTotal }} = 合计金额:{{ jeTotal }} - 优惠: - 优惠券: - 积分抵扣:
+ {{ ysjeTotal }} = 合计金额:{{ jeTotal }} - 优惠: - 优惠券: - 积分抵扣:
+
+
+
- 应付金额
- {{ formobj.payableAmount }}
+ 付款人姓名
+
-
- 预付款抵扣
-
+
+ 付款人编号
+
+
+
+ 应收金额
+ {{ ysjeTotal }}
- 结算方式
-
+ 订金抵扣
+
- 结算金额
-
+ 结算方式
+
+
+
+
+
- 结算时间
-
+ 结算金额
+
其他结算方式
-
+
+
+
+
+
其他结算金额
-
+
欠款金额
- {{ debts }}
+ {{ qkjeTotal }}
+
+
+
+
+ 结算时间
+
@@ -313,31 +504,34 @@
import req from '@/api/operation/repairbill'
import maintenanceitem from '@/api/basicinformation/maintenanceitem'
import additionitem from '@/api/basicinformation/additionitem'
-import { getServiceType, selSubjectInfo } from '@/api/Common/dictcommons'
+import { getServiceType, selAllByOrgSidPath, selSubjectInfo, getGroupList, typeValues } from '@/api/Common/dictcommons'
+import customer from '../../operation/preregistration/relation/customer'
export default {
name: 'RepairBillAdd',
+ components: {
+ customer
+ },
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
+ user_list: [], // 服务顾问
+ serviceType_list: [], // 工种
+ subject_list: [], // 科目
+ group_list: [], // 班组
settleVisible: false, // 结算弹框
+ billType_list: [], // 单据类型
+ responsibility_list: [], // 责任划分
+ otherInsuranceType_list: [], // 对方险种
+ accidentType_list: [], // 出险类型
+ invoiceType_list: [], // 发票类型
+ settle_list: [], // 结算方式
+ otherSettle_list: [], // 其他结算方式
activeNames: '1',
+ tableKey: 0,
index: 0,
- // client客户
- clientKey: 1,
- clientLoading: false,
- clientQuery: {
- current: 1,
- size: 2,
- total: 0,
- params: {
- queryName: '',
- useOrgSid: ''
- }
- },
- clientData: [],
// service服务
serviceKey: 1,
serviceLoading: false,
@@ -370,10 +564,13 @@ export default {
operator: '',
billNo: '',
billType: '',
+ billTypeKey: '',
entryTime: '',
estimatedFinishTime: '',
subjectSid: '',
subject: '',
+ groupSid: '',
+ groupName: '',
waitorSid: '',
waitorName: '',
mainRepairers: '',
@@ -387,8 +584,6 @@ export default {
nodeTime: '',
outDoorState: '',
outDoorTime: '',
- useOrgSid: '',
- createOrgSid: '',
customerSid: '',
customerName: '',
mobile: '',
@@ -404,6 +599,7 @@ export default {
invoiceVo: {
isInvoicing: '',
invoiceType: '',
+ invoiceTypeKey: '',
invoiceTitle: '',
taxpayerNo: '',
invoiceCode: '',
@@ -411,7 +607,9 @@ export default {
},
insuranceVo: {
responsibility: '',
+ responsibilityKey: '',
otherInsuranceType: '',
+ otherInsuranceTypeKey: '',
insuranceCompany1: '',
insuranceCompany2: '',
insurer: '',
@@ -419,7 +617,8 @@ export default {
investigator: '',
lossAdjuster: '',
isSpecialSign: '',
- accidentType: ''
+ accidentType: '',
+ accidentTypeKey: ''
},
otherVo: {
manufacturer: '',
@@ -428,25 +627,58 @@ export default {
},
sitemVos: [],
aitemVos: [],
- goodsDetailsVos: []
+ goodsDetailsVos: [],
+ orgPath: '',
+ createBySid: '',
+ deptSid: '',
+ dept: '',
+ operatorSid: '',
+ nodeCode: '',
+ settleVo: {
+ payerNo: '',
+ payerName: '',
+ receivableAmount: '',
+ depositdeductAmount: '',
+ settleKey: '',
+ settleValue: '',
+ settleAmount: '',
+ otherSettleKey: '',
+ otherSettleValue: '',
+ otherSettleAmount: '',
+ debts: '',
+ settleTime: ''
+ },
+ showReSettleBtn: true
},
- serviceType_list: [],
- subject_list: [],
rules: {}
}
},
computed: {
+ // 计算工时费 = 服务项目列表中所有销售价之和
gsfTotal() {
let gsf = '0'
if (this.formobj.sitemVos.length > 0) {
this.formobj.sitemVos.forEach((e) => {
- if (e.goodsName !== '') {
+ 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')) * 100) / 100
+ }
+ })
+ }
+ return clf
+ },
+ // 计算附加费 == 附加项目列表中所有销售价之和
fjfTotal() {
let fjf = '0'
if (this.formobj.aitemVos.length > 0) {
@@ -458,10 +690,16 @@ export default {
}
return fjf
},
- // 计算合计金额
+ // 计算税额 = 材料费 * 税率
+ seTotal() {
+ let se = '0'
+ se = Math.round((parseFloat(this.clfTotal) * parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0')) * 100) / 100
+ return se
+ },
+ // 计算合计金额 = 工时费 + 材料费 + 附加费 + 税额
jeTotal() {
let je = '0'
- je = Math.round((parseFloat(je) + parseFloat(this.gsfTotal) + parseFloat(this.fjfTotal)) * 100) / 100
+ je = Math.round((parseFloat(je) + parseFloat(this.gsfTotal) + parseFloat(this.clfTotal) + parseFloat(this.fjfTotal) + parseFloat(this.seTotal)) * 100) / 100
return je
},
// 计算应收金额
@@ -469,10 +707,51 @@ export default {
let ysje = '0'
ysje = Math.round((parseFloat(ysje) + parseFloat(this.jeTotal) - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') - parseFloat(this.formobj.coupon !== '' ? this.formobj.coupon : '0') - parseFloat(this.formobj.scoreDeduct !== '' ? this.formobj.scoreDeduct : '0')) * 100) / 100
return ysje
+ },
+ // 结算页面中计算欠款金额 = 应付金额 - 订金抵扣 - 结算金额 - 其他结算金额
+ qkjeTotal() {
+ let qkje = '0'
+ qkje = Math.round((parseFloat(this.ysjeTotal) - parseFloat(this.formobj.settleVo.depositdeductAmount !== '' ? this.formobj.settleVo.depositdeductAmount : '0') - parseFloat(this.formobj.settleVo.settleAmount !== '' ? this.formobj.settleVo.settleAmount : '0') - parseFloat(this.formobj.settleVo.otherSettleAmount !== '' ? this.formobj.settleVo.otherSettleAmount : '0')) * 100) / 100
+ return qkje
}
},
methods: {
init() {
+ typeValues({ type: 'billType' }).then((res) => {
+ if (res.success) {
+ this.billType_list = res.data
+ }
+ })
+ typeValues({ type: 'responsibility' }).then((res) => {
+ if (res.success) {
+ this.responsibility_list = res.data
+ }
+ })
+ typeValues({ type: 'otherInsuranceType' }).then((res) => {
+ if (res.success) {
+ this.otherInsuranceType_list = res.data
+ }
+ })
+ typeValues({ type: 'accidentType' }).then((res) => {
+ if (res.success) {
+ this.accidentType_list = res.data
+ }
+ })
+ typeValues({ type: 'invoiceType' }).then((res) => {
+ if (res.success) {
+ this.invoiceType_list = res.data
+ }
+ })
+ typeValues({ type: 'settle' }).then((res) => {
+ if (res.success) {
+ this.settle_list = res.data
+ }
+ })
+ typeValues({ type: 'otherSettle' }).then((res) => {
+ if (res.success) {
+ this.otherSettle_list = res.data
+ }
+ })
getServiceType({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.serviceType_list = resp.data
@@ -483,6 +762,16 @@ export default {
this.subject_list = resp.data
}
})
+ getGroupList({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
+ if (resp.success) {
+ this.group_list = resp.data
+ }
+ })
+ selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
+ if (resp.success) {
+ this.user_list = resp.data
+ }
+ })
},
getNumber(val, limit) {
val = val.replace(/[^0-9.]/g, '') // 保留数字
@@ -507,6 +796,18 @@ export default {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
+ this.formobj.orgSidPath = window.sessionStorage.getItem('defaultOrgPath')
+ this.formobj.createByName = window.sessionStorage.getItem('name')
+ this.formobj.createBySid = window.sessionStorage.getItem('userSid')
+ this.formobj.createDept = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
+ this.formobj.createDeptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
+ var nowDate = new Date()
+ var date = {
+ year: nowDate.getFullYear(),
+ month: nowDate.getMonth() + 1,
+ day: nowDate.getDate()
+ }
+ this.formobj.createTime = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
},
showEdit() {
this.viewTitle = '【编辑】维修单'
@@ -514,26 +815,84 @@ export default {
this.$refs['form_obj'].clearValidate()
})
},
- clientInput(value) {
- this.clientQuery.params.queryName = value
- this.clientLoading = true
- req.customerListPage(this.clientQuery).then((response) => {
- if (response.success) {
- this.clientLoading = false
- this.clientData = response.data.records
- this.clientQuery.total = response.data.total
- } else {
- this.serviceLoading = false
- this.clientData = []
- this.clientQuery.total = 0
- }
- })
+ selectCustomer() {
+ this.viewState = 2
+ this.$refs['divCus'].getList()
},
- clientCurrentChange(value) {
- // this.formobj.customerName = value.name
- // this.formobj.vehMark = value.vehMark
- // this.formobj.mobile = value.mobile
- document.body.click()
+ backData(value) {
+ this.viewState = 1
+ value = JSON.parse(JSON.stringify(value))
+ this.formobj.customerName = value.name
+ this.formobj.customerSid = value.sid
+ this.formobj.mobile = value.mobile
+ this.formobj.vehMark = value.vehMark
+ this.formobj.vinNo = value.vinNo
+ this.formobj.customerOrg = value.orgName
+ this.formobj.vehModel = value.vehModel
+ },
+ billTypeChange(value) {
+ const choose = this.billType_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.billTypeKey = choose[0].dictKey
+ } else {
+ this.formobj.billTypeKey = ''
+ }
+ },
+ changeSubject(value) {
+ const choose = this.subject_list.filter((item) => item.subjectName === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.subjectSid = choose[0].subjectSid
+ } else {
+ this.formobj.subjectSid = ''
+ }
+ },
+ waitorChange(value) {
+ const choose = this.user_list.filter((item) => item.name === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.waitorSid = choose[0].sid
+ } else {
+ this.formobj.waitorSid = ''
+ }
+ },
+ groupChange(value) {
+ const choose = this.group_list.filter((item) => item.groupName === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.groupSid = choose[0].groupSid
+ } else {
+ this.formobj.groupSid = ''
+ }
+ },
+ responsibilityChange(value) {
+ const choose = this.responsibility_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.insuranceVo.responsibilityKey = choose[0].dictKey
+ } else {
+ this.formobj.insuranceVo.responsibilityKey = ''
+ }
+ },
+ otherInsuranceTypeChange(value) {
+ const choose = this.otherInsuranceType_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.insuranceVo.otherInsuranceTypeKey = choose[0].dictKey
+ } else {
+ this.formobj.insuranceVo.otherInsuranceTypeKey = ''
+ }
+ },
+ accidentTypeChange(value) {
+ const choose = this.accidentType_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.insuranceVo.accidentTypeKey = choose[0].dictKey
+ } else {
+ this.formobj.insuranceVo.accidentTypeKey = ''
+ }
+ },
+ invoiceTypeChange(value) {
+ const choose = this.invoiceType_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.invoiceVo.invoiceTypeKey = choose[0].dictKey
+ } else {
+ this.formobj.invoiceVo.invoiceTypeKey = ''
+ }
},
serviceAdd() {
this.formobj.sitemVos.push({
@@ -550,9 +909,10 @@ export default {
discount: '',
discountAmount: '',
amount: '',
- repairerSid: '',
- groupSid: '',
- groupName: ''
+ remarks: '',
+ repairerName: '',
+ staffList: [],
+ staffNameList: []
})
},
serviceInput(value) {
@@ -571,26 +931,29 @@ export default {
}
})
},
+ userChange(row, list) {
+ const aa = []
+ list.forEach((e) => {
+ this.user_list.forEach((k) => {
+ if (e === k.sid) {
+ aa.push(k.name)
+ }
+ })
+ })
+ row.staffNameList = aa
+ },
serviceDelete(index) {
this.formobj.sitemVos.splice(index, 1)
},
serviceCurrentChange(value, row) {
- row.goodsSid = value.goodsSid
- row.goodsName = value.goodsName
- row.goodsCode = value.goodsCode
- row.goodsModelSid = value.goodsModelSid
- row.goodsModel = value.goodsModel
- row.unit = value.unit
- row.warehouse = value.warehouse
- row.warehouseSid = value.warehouseSid
- row.subjectSid = ''
- row.subject = ''
- row.count = value.count
+ row.serviceItemSid = value.sid
+ row.serviceItem = value.sitemName
+ row.serviceTypeSid = value.serviceType
+ row.serviceType = value.serviceType
+ row.examineHourPrice = value.examineHourPrice
+ row.hourPrice = value.hourPrice
+ row.hours = value.hours
row.price = value.price
- row.discount = value.discount
- row.discountAmount = value.discountAmount
- row.amount = value.amount
- row.specification = value.specification
document.body.click()
},
serviceTypeChange(value, row) {
@@ -663,6 +1026,8 @@ export default {
document.body.click()
},
saveOrUpdate() {
+ this.formobj.operator = window.sessionStorage.getItem('name')
+ this.formobj.operatorSid = window.sessionStorage.getItem('userSid')
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
@@ -680,6 +1045,8 @@ export default {
})
},
submit() {
+ this.formobj.operator = window.sessionStorage.getItem('name')
+ this.formobj.operatorSid = window.sessionStorage.getItem('userSid')
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
@@ -700,6 +1067,22 @@ export default {
this.settleVisible = true
// this.formobj.payableAmount = this.yfjeTotal
},
+ settleChange(value) {
+ const choose = this.settle_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.settleVo.settleKey = choose[0].dictKey
+ } else {
+ this.formobj.settleVo.settleKey = ''
+ }
+ },
+ otherSettleChange(value) {
+ const choose = this.otherSettle_list.filter((item) => item.dictValue === value)
+ if (choose.length > 0 && choose !== null) {
+ this.formobj.settleVo.otherSettleKey = choose[0].dictKey
+ } else {
+ this.formobj.settleVo.otherSettleKey = ''
+ }
+ },
confirm() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
@@ -717,9 +1100,120 @@ export default {
}
})
},
+ confirmCLF() {
+ this.$refs['form_obj'].validate((valid) => {
+ if (valid) {
+ this.submitdisabled = true
+ req.sureMaterialFee(this.formobj).then((res) => {
+ if (res.success) {
+ this.$message({ showClose: true, type: 'success', message: ' 操作成功' })
+ this.handleReturn('true')
+ } else {
+ this.submitdisabled = false
+ }
+ }).catch(() => {
+ this.submitdisabled = false
+ })
+ }
+ })
+ },
+ resetState() {
+ this.viewState = 1
+ },
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
- this.formobj = {}
+ this.formobj = {
+ sid: '',
+ createByName: '',
+ operator: '',
+ billNo: '',
+ billType: '',
+ billTypeKey: '',
+ entryTime: '',
+ estimatedFinishTime: '',
+ subjectSid: '',
+ subject: '',
+ groupSid: '',
+ groupName: '',
+ waitorSid: '',
+ waitorName: '',
+ mainRepairers: '',
+ barCode: '',
+ shotRemarks: '',
+ printRemarks: '',
+ discountAmount: '',
+ coupon: '',
+ scoreDeduct: '',
+ nodeName: '',
+ nodeTime: '',
+ outDoorState: '',
+ outDoorTime: '',
+ customerSid: '',
+ customerName: '',
+ mobile: '',
+ customerOrg: '',
+ memberCardSid: '',
+ memberCarNumber: '',
+ vehMark: '',
+ vinNo: '',
+ vehModel: '',
+ mileage: '',
+ oil: '',
+ currentMileage: '',
+ invoiceVo: {
+ isInvoicing: '',
+ invoiceType: '',
+ invoiceTypeKey: '',
+ invoiceTitle: '',
+ taxpayerNo: '',
+ invoiceCode: '',
+ taxRate: ''
+ },
+ insuranceVo: {
+ responsibility: '',
+ responsibilityKey: '',
+ otherInsuranceType: '',
+ otherInsuranceTypeKey: '',
+ insuranceCompany1: '',
+ insuranceCompany2: '',
+ insurer: '',
+ claimBillNo: '',
+ investigator: '',
+ lossAdjuster: '',
+ isSpecialSign: '',
+ accidentType: '',
+ accidentTypeKey: ''
+ },
+ otherVo: {
+ manufacturer: '',
+ senderName: '',
+ senderMobile: ''
+ },
+ sitemVos: [],
+ aitemVos: [],
+ goodsDetailsVos: [],
+ orgPath: '',
+ createBySid: '',
+ deptSid: '',
+ dept: '',
+ operatorSid: '',
+ nodeCode: '',
+ settleVo: {
+ payerNo: '',
+ payerName: '',
+ receivableAmount: '',
+ depositdeductAmount: '',
+ settleKey: '',
+ settleValue: '',
+ settleAmount: '',
+ otherSettleKey: '',
+ otherSettleValue: '',
+ otherSettleAmount: '',
+ debts: '',
+ settleTime: ''
+ },
+ showReSettleBtn: true
+ }
this.submitdisabled = false
this.$emit('doback')
}
@@ -738,4 +1232,11 @@ export default {
margin-left: 120px !important;
width: calc(100% - 115px);
}
+.titleOne {
+ padding: 7px;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue
new file mode 100644
index 0000000000..a8985f38b3
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
{{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.billNo }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue
new file mode 100644
index 0000000000..f8f0570c55
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
{{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.billNo }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue
new file mode 100644
index 0000000000..75809fbae7
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
{{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.billNo }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue
new file mode 100644
index 0000000000..aebb36169c
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
{{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.billNo }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue
new file mode 100644
index 0000000000..ef629b3ab7
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
{{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.billNo }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.isInvoicing == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue
new file mode 100644
index 0000000000..85c31e525f
--- /dev/null
+++ b/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue
@@ -0,0 +1,567 @@
+
+
+
+
+
+
+
+
+ 制单人
+ {{ formobj.createByName }}
+
+
+ 制单部门
+ {{ formobj.createDept }}
+
+
+ 制单日期
+ {{ formobj.createTime }}
+
+
+
+
+ 工单类型
+ {{ formobj.billType }}
+
+
+ 科目
+ {{ formobj.subject }}
+
+
+ 环节
+ {{ formobj.nodeName }}
+
+
+
+
+ 进厂时间
+ {{ formobj.entryTime }}
+
+
+ 预计完工
+ {{ formobj.estimatedFinishTime }}
+
+
+
+
+ 服务顾问
+ {{ formobj.waitorName }}
+
+
+ 班组
+ {{ formobj.groupName }}
+
+
+ 主修人
+ {{ formobj.mainRepairers }}
+
+
+
+
+ 快捷备注
+ {{ formobj.shotRemarks }}
+
+
+ 备注(打印)
+ {{ formobj.printRemarks }}
+
+
+ 备注
+ {{ formobj.remarks }}
+
+
+
+
+
+
+ 客户
+ {{ formobj.customerName }}
+
+
+ 联系地那话
+ {{ formobj.vehMark }}
+
+
+ 客户单位
+ {{ formobj.mobile }}
+
+
+
+
+ 车牌号
+ {{ formobj.vehMark }}
+
+
+ 车架号哦啊
+ {{ formobj.vinNo }}
+
+
+ 车型
+ {{ formobj.vehModel }}
+
+
+
+
+ 行驶里程
+ {{ formobj.mileage }}
+
+
+ 油量
+ {{ formobj.oil }}
+
+
+ 当前里程
+ {{ formobj.currentMileage }}
+
+
+
+
+
+
+ 送修人姓名
+ {{ formobj.otherVo.senderName }}
+
+
+ 送修人电话
+ {{ formobj.otherVo.senderMobile }}
+
+
+ 厂家
+ {{ formobj.otherVo.manufacturer }}
+
+
+
+
+
+
+ 责任划分
+ {{ formobj.insuranceVo.responsibility }}
+
+
+ 对方险种
+ {{ formobj.insuranceVo.otherInsuranceType }}
+
+
+
+
+ 保险公司1
+ {{ formobj.insuranceVo.insuranceCompany1 }}
+
+
+ 保险公司2
+ {{ formobj.insuranceVo.insuranceCompany2 }}
+
+
+ 保险索赔单号
+ {{ formobj.insuranceVo.claimBillNo }}
+
+
+
+
+ 保险人员
+ {{ formobj.insuranceVo.insurer }}
+
+
+ 勘察员
+ {{ formobj.insuranceVo.investigator }}
+
+
+ 定损员
+ {{ formobj.insuranceVo.lossAdjuster }}
+
+
+
+
+ 特殊标志
+ {{ formobj.insuranceVo.isSpecialSign == '1' ? '是' : '否' }}
+
+
+ 出险类型
+ {{ formobj.insuranceVo.accidentType }}
+
+
+
+
+
+
+ 是否开发票
+ {{ formobj.invoiceVo.isInvoicing == '1' ? '是' : '否' }}
+
+
+ 发票类型
+ {{ formobj.invoiceVo.invoiceType }}
+
+
+ 开票名称
+ {{ formobj.invoiceVo.invoiceTitle }}
+
+
+
+
+ 税号
+ {{ formobj.invoiceVo.taxpayerNo }}
+
+
+ 发票号码
+ {{ formobj.invoiceVo.invoiceCode }}
+
+
+ 税率
+ {{ formobj.invoiceVo.taxRate }}
+
+
+
+
+ 服务项目
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 商品
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 附加项目
+
+
+
+
+
+
+
+
+ 合计金额
+ {{ jeTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }} + 税额:{{ seTotal }}
+
+
+
+
+ 应收金额
+ {{ ysjeTotal }} = 合计金额:{{ jeTotal }} - 优惠:{{ formobj.discountAmount }} - 优惠券:{{ formobj.coupon }} - 积分抵扣:{{ formobj.scoreDeduct }}
+
+
+
+
+
+
+
+
+
+
+