Browse Source

Merge remote-tracking branch 'origin/master'

master
fanzongzhe 12 months ago
parent
commit
01c1ae3242
  1. 302
      yxt-as-ui/src/router/index.js
  2. 12
      yxt-as-ui/src/views/operation/preregistration/preregistration.vue
  3. 49
      yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue
  4. 26
      yxt-as-ui/src/views/operation/preregistration/preregistrationInfo.vue

302
yxt-as-ui/src/router/index.js

@ -49,69 +49,49 @@ export const constantRoutes = [{
meta: {
title: '业务'
},
children: [{
children: [
{
path: '/preregistration/preregistration',
component: () => import('@/views/operation/preregistration/preregistration.vue'),
name: 'Preregistration',
meta: {
title: '预约登记',
noCache: true
}
meta: { title: '预约单管理', noCache: true }
},
{
path: '/repairbill/repairbill',
component: () => import('@/views/operation/repairbill/repairbill.vue'),
name: 'RepairBill',
meta: {
title: '维修开单管理(登记)',
noCache: true
}
meta: { title: '维修开单管理(登记)', noCache: true }
},
{
path: '/repairbill/repairbillBySendWork',
component: () => import('@/views/operation/repairbill/repairbillBySendWork.vue'),
name: 'RepairBillBySendWork',
meta: {
title: '维修开单管理(派工)',
noCache: true
}
meta: { title: '维修开单管理(派工)', noCache: true }
},
{
path: '/repairbill/repairbillByMaintain',
component: () => import('@/views/operation/repairbill/repairbillByMaintain.vue'),
name: 'RepairBillByMaintain',
meta: {
title: '维修开单管理(维修)',
noCache: true
}
meta: { title: '维修开单管理(维修)', noCache: true }
},
{
path: '/repairbill/repairbillByBeCompleted',
component: () => import('@/views/operation/repairbill/repairbillByBeCompleted.vue'),
name: 'RepairBillByBeCompleted',
meta: {
title: '维修开单管理(竣工)',
noCache: true
}
meta: { title: '维修开单管理(竣工)', noCache: true }
},
{
path: '/repairbill/repairbillBySettleAccounts',
component: () => import('@/views/operation/repairbill/repairbillBySettleAccounts.vue'),
name: 'RepairBillBySettleAccounts',
meta: {
title: '维修开单管理(结算)',
noCache: true
}
meta: { title: '维修开单管理(结算)', noCache: true }
},
{
path: '/repairbill/repairbillBYLeaveFactory',
component: () => import('@/views/operation/repairbill/repairbillBYLeaveFactory.vue'),
name: 'RepairBillBYLeaveFactory',
meta: {
title: '维修开单管理(出厂)',
noCache: true
}
},
meta: { title: '维修开单管理(出厂)', noCache: true }
}
// {
// path: '/workslrsettlement/workslrsettlement',
// component: () => import('@/views/operation/workslrsettlement/workslrsettlement.vue'),
@ -127,43 +107,31 @@ export const constantRoutes = [{
meta: {
title: '仓库管理'
},
children: [{
children: [
{
path: '/goodsShelves/index',
component: () => import('@/views/warehouse/goodsShelves/index.vue'),
name: 'GoodsShelves',
meta: {
title: '库位管理',
noCache: true
}
meta: { title: '库位管理', noCache: true }
},
{
path: '/warehouseArea/index',
component: () => import('@/views/warehouse/warehouseArea/index.vue'),
name: 'WarehouseArea',
meta: {
title: '库区管理',
noCache: true
}
meta: { title: '库区管理', noCache: true }
},
{
path: '/warehouseAreaType/index',
component: () => import('@/views/warehouse/warehouseAreaType/index.vue'),
name: 'WarehouseAreaType',
meta: {
title: '库区类型管理',
noCache: true
}
meta: { title: '库区类型管理', noCache: true }
},
{
path: '/warehouse/index',
component: () => import('@/views/warehouse/warehouse/index.vue'),
name: 'Warehouse',
meta: {
title: '仓库管理',
noCache: true
}
},
meta: { title: '仓库管理', noCache: true }
}
]
},
@ -174,51 +142,37 @@ export const constantRoutes = [{
meta: {
title: '商品管理'
},
children: [{
children: [
{
path: '/brands/index',
component: () => import('@/views/goods/brands/index.vue'),
name: 'Brands',
meta: {
title: '品牌管理',
noCache: true
}
meta: { title: '品牌管理', noCache: true }
},
{
path: '/category/index',
component: () => import('@/views/goods/category/index.vue'),
name: 'Category',
meta: {
title: '类别管理',
noCache: true
}
meta: { title: '类别管理', noCache: true }
},
{
path: '/factory/index',
component: () => import('@/views/goods/factory/index.vue'),
name: 'Factory',
meta: {
title: '厂家管理',
noCache: true
}
meta: { title: '厂家管理', noCache: true }
},
{
path: '/goods/index',
component: () => import('@/views/goods/goods/index.vue'),
name: 'Goods',
meta: {
title: '商品管理',
noCache: true
}
meta: { title: '商品管理', noCache: true }
},
{
path: '/unit/index',
component: () => import('@/views/goods/unit/index.vue'),
name: 'Unit',
meta: {
title: '单位管理',
noCache: true
}
},
meta: { title: '单位管理', noCache: true }
}
]
},
{
@ -228,132 +182,109 @@ export const constantRoutes = [{
meta: {
title: '仓储'
},
children: [{
children: [
{
path: '/outStorage/index',
name: 'OutStorage',
component: () => import('@/views/storage/outStorage/index'),
meta: {
title: '出库管理',
noCache: true
}
name: 'OutStorage',
meta: { title: '出库管理', noCache: true }
},
{
path: '/inventory/inventory',
component: () => import('@/views/storage/inventory/inventory.vue'),
name: 'Inventory',
meta: {
title: '库存查询',
noCache: true
}
meta: { title: '库存查询', noCache: true }
},
{
path: '/inventory/inventoryRefer',
component: () => import('@/views/storage/inventory/inventoryRefer.vue'),
name: 'InventoryRefer',
meta: {
title: '出入库查询',
noCache: true
}
meta: { title: '出入库查询', noCache: true }
},
{
path: '/stocktaking/index',
name: 'Stocktaking',
component: () => import('@/views/storage/stocktaking/index'),
meta: {
title: '盘点管理',
noCache: true
}
name: 'Stocktaking',
meta: { title: '盘点管理', noCache: true }
},
{
path: '/allocation/index',
name: 'Allocation',
component: () => import('@/views/storage/allocation/index'),
meta: {
title: '调拨管理',
noCache: true
}
name: 'Allocation',
meta: { title: '调拨管理', noCache: true }
},
{
path: '/deliveryNotice/index',
name: 'DeliveryNotice',
component: () => import('@/views/storage/deliveryNotice/index'),
meta: {
title: '到货通知单',
noCache: true
}
name: 'DeliveryNotice',
meta: { title: '到货通知单', noCache: true }
},
{
path: '/receivingGoods/index',
name: 'ReceivingGoods',
component: () => import('@/views/storage/receivingGoods/index'),
meta: {
title: '收货单管理',
noCache: true
}
name: 'ReceivingGoods',
meta: { title: '收货单管理', noCache: true }
},
{
path: '/upShelf/index',
name: 'UpShelf',
component: () => import('@/views/storage/upShelf/index'),
meta: {
title: '上架单管理',
noCache: true
}
name: 'UpShelf',
meta: { title: '上架单管理', noCache: true }
},
{
path: '/oldPartsFactory/index',
name: 'OldPartsFactory',
component: () => import('@/views/storage/oldPartsFactory/index'),
meta: {
title: '旧件返厂',
noCache: true
}
name: 'OldPartsFactory',
meta: { title: '旧件返厂', noCache: true }
},
{
path: '/oldPartsCope/index',
name: 'OldPartsCope',
component: () => import('@/views/storage/oldPartsCope/index'),
meta: {
title: '旧件处理',
noCache: true
}
name: 'OldPartsCope',
meta: { title: '旧件处理', noCache: true }
},
{
path: '/oldPartsRecovery/index',
name: 'OldPartsRecovery',
component: () => import('@/views/storage/oldPartsRecovery/index'),
meta: {
title: '旧件回收',
noCache: true
}
name: 'OldPartsRecovery',
meta: { title: '旧件回收', noCache: true }
},
{
path: '/oldPartsInStorage/index',
name: 'OldPartsInStorage',
component: () => import('@/views/storage/oldPartsInStorage/index'),
meta: {
title: '旧件入库',
noCache: true
}
name: 'OldPartsInStorage',
meta: { title: '旧件入库', noCache: true }
},
{
path: '/oldPartsInvertory/index',
name: 'OldPartsInvertory',
component: () => import('@/views/storage/oldPartsInvertory/index'),
meta: {
title: '旧件库存',
noCache: true
}
name: 'OldPartsInvertory',
meta: { title: '旧件库存', noCache: true }
},
{
path: '/oldPartsInAndOutStorage/index',
name: 'OldPartsInAndOutStorage',
component: () => import('@/views/storage/oldPartsInAndOutStorage/index'),
meta: {
title: '旧件出入库查询',
noCache: true
}
name: 'OldPartsInAndOutStorage',
meta: { title: '旧件出入库查询', noCache: true }
},
{
path: '/storageage/storageage',
component: () => import('@/views/storage/storageage/storageage'),
name: 'StorageAge',
meta: { title: '库龄查询', noCache: true }
},
{
path: '/carryover/carryoverstock',
component: () => import('@/views/storage/carryover/carryoverstock'),
name: 'CarryoverStock',
meta: { title: '结转库存查询', noCache: true }
},
{
path: '/carryover/carryforwardrecord',
component: () => import('@/views/storage/carryover/carryforwardrecord'),
name: 'CarryForwardRecord',
meta: { title: '结转记录查询', noCache: true }
}
]
},
@ -364,23 +295,18 @@ export const constantRoutes = [{
meta: {
title: '采购'
},
children: [{
children: [
{
path: '/procurement/procurement',
component: () => import('@/views/purchase/procurement/procurement.vue'),
name: 'Procurement',
meta: {
title: '采购开单',
noCache: true
}
meta: { title: '采购单管理', noCache: true }
},
{
path: '/purchasereturn/purchasereturn',
component: () => import('@/views/purchase/purchasereturn/purchasereturn.vue'),
name: 'PurchaseReturn',
meta: {
title: '采购退货',
noCache: true
}
meta: { title: '采购退货', noCache: true }
}
]
},
@ -391,68 +317,48 @@ export const constantRoutes = [{
meta: {
title: '报表'
},
children: [{
children: [
{
path: '/salesstatement/merchandisesalesdetail',
component: () => import('@/views/statement/salesstatement/merchandisesalesdetail.vue'),
name: 'MerchandiseSalesDetail',
meta: {
title: '销售明细商品',
noCache: true
}
meta: { title: '销售明细商品', noCache: true }
},
{
path: '/salesstatement/merchandisesalessummary',
component: () => import('@/views/statement/salesstatement/merchandisesalessummary.vue'),
name: 'MerchandiseSalesSummary',
meta: {
title: '销售汇总商品',
noCache: true
}
meta: { title: '销售汇总商品', noCache: true }
},
{
path: '/salesstatement/salestrendreport',
component: () => import('@/views/statement/salesstatement/salestrendreport.vue'),
name: 'SalesTrendReport',
meta: {
title: '销售价趋势报表',
noCache: true
}
meta: { title: '销售价趋势报表', noCache: true }
},
{
path: '/warehousereport/inventorystatistics',
component: () => import('@/views/statement/warehousereport/inventorystatistics.vue'),
name: 'InventoryStatistics',
meta: {
title: '库存统计',
noCache: true
}
meta: { title: '库存统计', noCache: true }
},
{
path: '/warehousereport/receiptandreceiptrecord',
component: () => import('@/views/statement/warehousereport/receiptandreceiptrecord.vue'),
name: 'ReceiptAndReceiptRecord',
meta: {
title: '收发存明细报表',
noCache: true
}
meta: { title: '收发存明细报表', noCache: true }
},
{
path: '/purchasereport/detailedpurchasereport',
component: () => import('@/views/statement/purchasereport/detailedpurchasereport.vue'),
name: 'DetailedPurchaseReport',
meta: {
title: '采购明细报表',
noCache: true
}
meta: { title: '采购明细报表', noCache: true }
},
{
path: '/purchasereport/purchasesummaryreport',
component: () => import('@/views/statement/purchasereport/purchasesummaryreport.vue'),
name: 'PurchaseSummaryReport',
meta: {
title: '采购汇总报表',
noCache: true
}
meta: { title: '采购汇总报表', noCache: true }
}
]
},
@ -463,68 +369,48 @@ export const constantRoutes = [{
meta: {
title: '基础信息'
},
children: [{
children: [
{
path: '/maintenanceitem/maintenanceitem',
component: () => import('@/views/basicinformation/maintenanceitem/maintenanceitem.vue'),
name: 'MaintenanceItem',
meta: {
title: '维修项目管理',
noCache: true
}
meta: { title: '维修项目管理', noCache: true }
},
{
path: '/additionitem/additionitem',
component: () => import('@/views/basicinformation/additionitem/additionitem.vue'),
name: 'AdditionItem',
meta: {
title: '附加项目管理',
noCache: true
}
meta: { title: '附加项目管理', noCache: true }
},
{
path: '/setmeal/setmeal',
component: () => import('@/views/basicinformation/setmeal/setmeal.vue'),
name: 'Setmeal',
meta: {
title: '套餐管理',
noCache: true
}
meta: { title: '套餐管理', noCache: true }
},
{
path: '/profession/profession',
component: () => import('@/views/basicinformation/profession/profession.vue'),
name: 'Profession',
meta: {
title: '工种管理',
noCache: true
}
meta: { title: '工种管理', noCache: true }
},
{
path: '/subjects/subjects',
component: () => import('@/views/basicinformation/subjects/subjects.vue'),
name: 'Subjects',
meta: {
title: '科目管理',
noCache: true
}
meta: { title: '科目管理', noCache: true }
},
{
path: '/team/team',
component: () => import('@/views/basicinformation/team/team.vue'),
name: 'Team',
meta: {
title: '班组管理',
noCache: true
}
meta: { title: '班组管理', noCache: true }
},
{
path: '/suppliertype/suppliertype',
component: () => import('@/views/basicinformation/suppliertype/suppliertype.vue'),
name: 'SupplierType',
meta: {
title: '供应商类型管理',
noCache: true
}
meta: { title: '供应商类型管理', noCache: true }
},
{
path: '/supplier/supplier',
@ -533,7 +419,7 @@ export const constantRoutes = [{
meta: { title: '供应商管理', noCache: true }
}
]
},
}
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }
]

12
yxt-as-ui/src/views/operation/preregistration/preregistration.vue

@ -39,7 +39,7 @@
<el-input v-model="listQuery.params.mobile" placeholder="" clearable/>
</el-form-item>
<el-form-item label="服务顾问">
<el-input v-model="listQuery.params.state" placeholder="" clearable/>
<el-input v-model="listQuery.params.waitorName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="预约日期">
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
@ -69,14 +69,14 @@
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<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="单据编号" align="center" width="130">
<el-table-column label="单据编号" align="center" width="160">
<template slot-scope="scope">
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.state == '1' ? '未完成' : scope.row.state == '2' ? '已完成' : scope.row.state == '0' ? '作废' : '' }}</span>
<span>{{ scope.row.state == '1' ? '未完成' : scope.row.state == '0' ? '已完成' : scope.row.state == '2' ? '作废' : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="useOrgName" label="分公司" align="center" width="100" />
@ -86,12 +86,12 @@
<el-table-column prop="customerName" label="客户名称" align="center" width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" width="120" />
<el-table-column prop="vinNo" label="车架号" align="center" width="120" />
<el-table-column prop="mobile" label="联系电话" align="center" width="100" />
<el-table-column prop="mobile" label="联系电话" align="center" width="110" />
<el-table-column prop="reserveStart" label="预约起始时间" align="center" width="130" />
<el-table-column prop="reserveEnd" label="预约截止时间" align="center" width="130" />
<el-table-column prop="waitorName" label="服务顾问" align="center" width="100" />
<el-table-column prop="reserveEquip" label="预约设备" align="center" width="100" />
<el-table-column prop="remarks" label="备注" align="center" min-width="100" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</div>
<!--End 主页面主要部分-->
@ -203,6 +203,7 @@ export default {
createDept: '',
createByName: '',
billNo: '',
waitorName: '',
startCreateDate: '',
endCreateDate: ''
}
@ -305,6 +306,7 @@ export default {
createDept: '',
createByName: '',
billNo: '',
waitorName: '',
startCreateDate: '',
endCreateDate: ''
}

49
yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue

@ -46,7 +46,7 @@
<div class="addinputInfo">
<el-date-picker v-model="formobj.reserveStart" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
<span style="padding: 0 4px"></span>
<el-date-picker v-model="formobj.reserveEnd" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
<el-date-picker v-model="formobj.reserveEnd" :picker-options="pickerEndData(formobj.reserveStart)" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
</div>
</el-form-item>
</el-col>
@ -78,15 +78,15 @@
<el-form-item><span class="addinputInfo">{{ formobj.customerOrg }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">服务项目</div>
<div class="title titleOne">
<div>服务项目</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="serviceAdd">添加</el-button>
</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 align="center" width="70">
<template slot="header">
<i class="add-btn-icon el-icon-plus" style="color: red;font-size:20px" @click="serviceAdd"></i>
</template>
<el-table-column fixed label="操作" align="center" width="100">
<template slot-scope="scope">
<i class="el-icon-delete" @click="serviceDelete(scope.$index)"></i>
<el-button type="danger" size="small" @click="serviceDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="服务项目" align="center" width="300">
@ -138,7 +138,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item><el-input v-model="formobj.trackLogs" type="textarea" :autosize="{ minRows: 2, maxRows: 6}" clearable placeholder="" /></el-form-item>
<el-form-item><el-input v-model="formobj.trackLog" type="textarea" :autosize="{ minRows: 2, maxRows: 6}" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
@ -205,7 +205,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -214,6 +215,12 @@ export default {
}
},
methods: {
//
pickerEndData(newtime) {
return {
disabledDate(time) { return time.getTime() < new Date(newtime) - 1000 * 60 * 60 * 24 }
}
},
init() {
selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
@ -227,7 +234,7 @@ export default {
this.$refs['form_obj'].clearValidate()
})
this.init()
this.formobj.orgSidPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.orgPath = 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)
@ -339,10 +346,10 @@ export default {
row.hours = Math.round((parseFloat(row.price === '' ? '0' : row.price) / parseFloat(row.hourPrice === '' ? '0' : row.hourPrice)) * 100) / 100
},
handleClick(value) {
this.formobj.trackLogs = value
this.formobj.trackLog = value
},
handleAdd() {
if (this.formobj.trackLogs !== '') {
if (this.formobj.trackLog !== '') {
req.saveTrackingRecord(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '添加成功' })
@ -355,6 +362,10 @@ export default {
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' })
return
}
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
@ -372,6 +383,10 @@ export default {
toService() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' })
return
}
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '表格不能为空' })
return
@ -439,7 +454,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -462,4 +478,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;
}
</style>

26
yxt-as-ui/src/views/operation/preregistration/preregistrationInfo.vue

@ -74,11 +74,10 @@
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
<div class="title">跟踪记录</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.trackLogs }}</span></el-form-item>
</el-col>
</el-row>
<el-table :key="tableKey" :data="list" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="name" label="记录内容" align="left" header-align="center" />
</el-table>
</el-form>
</div>
</div>
@ -94,6 +93,8 @@ export default {
viewState: 1,
index: 0,
serviceKey: 0,
tableKey: 1,
list: [],
formobj: {
sid: '',
createBySid: '',
@ -113,7 +114,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -126,6 +128,13 @@ export default {
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.trackLogs.length > 0) {
this.formobj.trackLogs.forEach((e) => {
this.list.push({
name: e
})
})
}
}
})
},
@ -149,13 +158,14 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
}
this.$emit('doback')
},
}
}
}
</script>

Loading…
Cancel
Save