Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a82d5b6277 | ||
|
da0b468fae | ||
|
fe21a5802d | ||
|
d769a595fe | ||
|
a88664df4e | ||
|
c44da68d9c | ||
|
83b8aa1b75 | ||
|
70fe5aebc9 | ||
|
7881c6022b | ||
|
ba90e8c90d | ||
|
b96157f2c5 | ||
|
bf3a148e06 |
18
src/api/inspection/cw/index.js
Normal file
18
src/api/inspection/cw/index.js
Normal file
@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 分页查询节点提成
|
||||
export function getRoyaltyList(params) {
|
||||
return request({
|
||||
url: '/system/info/getRoyaltyList',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
// 分页查询节点提成总和
|
||||
export function getRoyaltySum(params) {
|
||||
return request({
|
||||
url: '/system/info/getRoyaltySum',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
@ -18,6 +18,15 @@ export function updateDlInspectionProject(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 更新检测项目排序
|
||||
export function updateSort(data) {
|
||||
return request({
|
||||
url: '/inspection/dl-inspection-project/updateSort',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除检测项目
|
||||
export function deleteDlInspectionProject(id) {
|
||||
return request({
|
||||
@ -61,3 +70,15 @@ export function getRole(params) {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// 获取商品 Excel
|
||||
export function getGoods(params) {
|
||||
return request({
|
||||
url: 'system/inspectionGoods/listPartnerGoods',
|
||||
method: 'get',
|
||||
params: {
|
||||
pageNum: 1,
|
||||
pageSize: 10000
|
||||
},
|
||||
})
|
||||
}
|
||||
|
414
src/views/inspection/cw/inspectionCw.vue
Normal file
414
src/views/inspection/cw/inspectionCw.vue
Normal file
@ -0,0 +1,414 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form-item label="员工名称" prop="dealUserName">
|
||||
<el-input
|
||||
v-model="queryParams.dealUserName"
|
||||
placeholder="请输入员工名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="月份" prop="rescueStartMonth">
|
||||
<el-date-picker
|
||||
v-model="queryParams.rescueStartMonth"
|
||||
value-format="yyyy-MM"
|
||||
type="month"
|
||||
placeholder="选择月份"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测时间" prop="maintenanceTime">
|
||||
<el-date-picker
|
||||
v-model="time1"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd"
|
||||
align="right"
|
||||
unlink-panels
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
:picker-options="pickerOptions"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
:loading="exportLoading"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
|
||||
<div style="display: flex;justify-content:right;font-weight: bold;font-size: 16px">
|
||||
<!-- <span>-->
|
||||
<!-- 施救总金额:{{ moneyManagementData.allMoney }} 元-->
|
||||
<!-- </span>-->
|
||||
<!-- <span style="margin-left: 3%">-->
|
||||
<!-- 出车次数:{{ moneyManagementData.allNum }} 次-->
|
||||
<!-- </span>-->
|
||||
<!-- <span style="margin-left: 3%">-->
|
||||
<!-- 提成总金额:{{ moneyManagementData.tcAll }} 元-->
|
||||
<!-- </span>-->
|
||||
<span style="margin-left: 3%">
|
||||
提成总金额:{{ moneyManagementData.royaltyAmountSum }} 元
|
||||
</span>
|
||||
</div>
|
||||
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column label="序号" align="center">-->
|
||||
<!-- <template scope="scope">-->
|
||||
<!-- <span>{{ scope.$index + 1 }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||
<el-table-column label="员工" align="center" prop="handlerName" />
|
||||
<el-table-column label="提成" align="center" prop="royaltyAmount" />
|
||||
<el-table-column label="项目完成时间" align="center" prop="node_create_time" >
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.node_create_time, '{y}-{m}-{d} {h}:{m}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNo"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { moneyManagement, moneyManagementData, exportManagement } from '@/api/rescue/info'
|
||||
import { getmap } from '@/api/Map/map'
|
||||
import {getRoyaltyList, getRoyaltySum} from "@/api/inspection/cw";
|
||||
// import Map from '../../components/Map/index'
|
||||
|
||||
export default {
|
||||
name: 'Info',
|
||||
dicts: ['dljy_type', 'fee_type', 'car_type', 'yes_no', 'jy_status', 'jy_order_status'],
|
||||
data() {
|
||||
return {
|
||||
// 导出遮罩层
|
||||
exportLoading: false,
|
||||
pickerOptions: null,
|
||||
chooseDriverId: '',
|
||||
rescueInfoId: '',
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
ztlist: [],
|
||||
// 选中数组
|
||||
ids: [],
|
||||
time1: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 道路救援模块表格数据
|
||||
infoList: [],
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
opens: false,
|
||||
designateFlag: false,
|
||||
zong: '',
|
||||
repaymentForm: {},
|
||||
repaymentOpen: false,
|
||||
moneyManagementData: {},
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
connectionName: null,
|
||||
isAppointment: null,
|
||||
rescueType: null,
|
||||
feeType: null,
|
||||
carBrand: null,
|
||||
destinationInfo: null,
|
||||
rescueStatus: null,
|
||||
rescueAmount: null,
|
||||
rescueStart: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
driverList: [],
|
||||
// 表单校验
|
||||
rules: {
|
||||
connectionName: [
|
||||
{ required: true, message: '联系人名称不能为空', trigger: 'blur' }
|
||||
],
|
||||
connectionPhone: [
|
||||
{ required: true, message: '联系人手机号不能为空', trigger: 'blur' }
|
||||
],
|
||||
licenseNum: [
|
||||
{ required: true, message: '车牌号不能为空', trigger: 'blur' }
|
||||
],
|
||||
isAppointment: [
|
||||
{ required: true, message: '是否为预约单不能为空', trigger: 'change' }
|
||||
],
|
||||
rescueType: [
|
||||
{ required: true, message: '救援类型 1拖车2送油3搭电4换台5扣车不能为空', trigger: 'change' }
|
||||
],
|
||||
carType: [
|
||||
{ required: true, message: '车辆类型 大中小不能为空', trigger: 'change' }
|
||||
],
|
||||
rescuePosition: [
|
||||
{ required: true, message: '救援地点 详细描述不能为空', trigger: 'blur' }
|
||||
],
|
||||
feeType: [
|
||||
{ required: true, message: '收费类型不能为空', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
components: {
|
||||
Map
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
cancelRepayment() {
|
||||
this.repaymentForm = {}
|
||||
this.repaymentOpen = false
|
||||
},
|
||||
repaymentSubmit() {
|
||||
this.$refs['repaymentForm'].validate(valid => {
|
||||
if (valid) {
|
||||
returnOrder(this.repaymentForm).then(res => {
|
||||
this.$modal.msgSuccess('还款成功')
|
||||
this.repaymentOpen = false
|
||||
this.repaymentForm = {}
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
repayment(data) {
|
||||
this.repaymentOpen = true
|
||||
this.repaymentForm.rescueOrderId = data.rescueOrderId
|
||||
},
|
||||
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||
if (columnIndex === 0) {
|
||||
if (rowIndex % 2 === 0) {
|
||||
return {
|
||||
rowspan: 2,
|
||||
colspan: 1
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
rowspan: 0,
|
||||
colspan: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
driverOk() {
|
||||
this.designateFlag = false
|
||||
designateDriver(this.rescueInfoId, this.chooseDriverId).then(res => {
|
||||
this.$message.success('指派成功')
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
/** 查询道路救援模块列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
getRoyaltyList(this.queryParams).then(response => {
|
||||
console.log("响应",response)
|
||||
this.infoList = response.data.records
|
||||
this.total = response.data.total
|
||||
this.loading = false
|
||||
})
|
||||
getRoyaltySum(this.queryParams).then(response => {
|
||||
this.moneyManagementData = response.data
|
||||
})
|
||||
},
|
||||
getDriverList() {
|
||||
getDriver().then(response => {
|
||||
this.driverList = response.rows
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
connectionName: null,
|
||||
connectionPhone: null,
|
||||
licenseNum: null,
|
||||
isAppointment: null,
|
||||
rescueTime: null,
|
||||
rescueType: null,
|
||||
carType: null,
|
||||
rescuePosition: null,
|
||||
rescueLongitude: null,
|
||||
rescueLatitude: null,
|
||||
feeType: null,
|
||||
carBrand: null,
|
||||
destinationInfo: null,
|
||||
destinationLongitude: null,
|
||||
destinationLatitude: null,
|
||||
rescueStatus: null,
|
||||
driverId: null,
|
||||
rescueAmount: null,
|
||||
createTime: null,
|
||||
createBy: null,
|
||||
updateTime: null,
|
||||
updateBy: null
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
if (this.time1 && this.time1.length > 0) {
|
||||
this.queryParams.rescueStart = this.time1[0]
|
||||
this.queryParams.rescueEnd = this.time1[1]
|
||||
}
|
||||
this.queryParams.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.time1 = []
|
||||
this.resetForm('queryForm')
|
||||
this.queryParams = {}
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '添加道路救援模块'
|
||||
},
|
||||
pickDriver(row) {
|
||||
|
||||
},
|
||||
designateDriver(row) {
|
||||
this.designateFlag = true
|
||||
this.rescueInfoId = row.id
|
||||
this.getDriverList()
|
||||
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset()
|
||||
const id = row.id || this.ids
|
||||
getInfo(id).then(response => {
|
||||
this.form = response.data
|
||||
this.open = true
|
||||
this.title = '修改道路救援模块'
|
||||
})
|
||||
},
|
||||
handleMap(row) {
|
||||
this.rescueInfoId = row.id
|
||||
routeInfo(row.id).then(res => {
|
||||
this.ztlist = res.data
|
||||
this.none(res.data)
|
||||
})
|
||||
getmap(row.id).then(res => {
|
||||
let datas = []
|
||||
res.data.forEach(it => {
|
||||
let temp = [it.longitude, it.latitude]
|
||||
datas.push(temp)
|
||||
})
|
||||
this.$refs.mapComponent.initMap(datas)
|
||||
})
|
||||
this.opens = true
|
||||
},
|
||||
none(arr) {
|
||||
let sum = 0
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
sum += arr[i].distanceMeter
|
||||
}
|
||||
|
||||
this.zong = sum
|
||||
},
|
||||
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateInfo(this.form).then(response => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
} else {
|
||||
addInfo(this.form).then(response => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids
|
||||
this.$modal.confirm('是否确认删除道路救援模块编号为"' + ids + '"的数据项?').then(function() {
|
||||
return delInfo(ids)
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
async handleExport() {
|
||||
try {
|
||||
this.exportLoading = true
|
||||
this.queryParams.pageNo = 1
|
||||
this.queryParams.pageSize = 500
|
||||
this.$modal.msgError("系统故障,联系管理员")
|
||||
// const data = await exportManagement(this.queryParams)
|
||||
// this.$download.excel(data, `救援财务报表_${new Date().getTime()}.xlsx`)
|
||||
} catch {
|
||||
} finally {
|
||||
this.exportLoading = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.lang-for {
|
||||
width: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
</style>
|
@ -19,6 +19,20 @@
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" placeholder="请输入备注"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="排序" prop="remark">-->
|
||||
<!-- <el-input v-model="formData.sort" placeholder="请输入排序"/>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="提成价格">
|
||||
<el-table :data="tableData" style="width: 100%" height="250">
|
||||
<el-table-column fixed prop="title" label="商品名称">
|
||||
</el-table-column>
|
||||
<el-table-column label="提成价格">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.royaltyAmount" placeholder="输入价格"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm" :disabled="formLoading">确 定</el-button>
|
||||
@ -30,11 +44,12 @@
|
||||
|
||||
<script>
|
||||
import * as DlInspectionProjectApi from '@/api/inspection/project';
|
||||
import {getRole} from "@/api/inspection/project";
|
||||
import {getGoods, getRole} from "@/api/inspection/project";
|
||||
import ElementBaseInfo from "@/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue";
|
||||
|
||||
export default {
|
||||
name: "DlInspectionProjectForm",
|
||||
components: {},
|
||||
components: {ElementBaseInfo},
|
||||
data() {
|
||||
return {
|
||||
// 弹出层标题
|
||||
@ -59,12 +74,14 @@ export default {
|
||||
]
|
||||
},
|
||||
roleList: [],
|
||||
tableData: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
/** 打开弹窗 */
|
||||
async open(id) {
|
||||
this.getRole()
|
||||
|
||||
this.dialogVisible = true;
|
||||
this.reset();
|
||||
// 修改时,设置数据
|
||||
@ -73,10 +90,16 @@ export default {
|
||||
try {
|
||||
const res = await DlInspectionProjectApi.getDlInspectionProject(id);
|
||||
this.formData = res.data;
|
||||
if (res.data.projectRoyaltyList.length > 0){
|
||||
this.tableData = res.data.projectRoyaltyList
|
||||
console.log('tableData', this.tableData)
|
||||
}
|
||||
this.title = "修改检测项目";
|
||||
} finally {
|
||||
this.formLoading = false;
|
||||
}
|
||||
}else {
|
||||
this.getGoods()
|
||||
}
|
||||
this.title = "新增检测项目";
|
||||
},
|
||||
@ -87,14 +110,28 @@ export default {
|
||||
this.formLoading = true;
|
||||
try {
|
||||
const data = this.formData;
|
||||
this.tableData.map(item => {
|
||||
item.goodsId = item.id
|
||||
/*如果royaltyAmount 为空,则设置为0*/
|
||||
if (!item.royaltyAmount) {
|
||||
item.royaltyAmount = 0
|
||||
}else {
|
||||
/*将royaltyAmount的单位转为分*/
|
||||
item.royaltyAmount = item.royaltyAmount * 100
|
||||
}
|
||||
delete item.id
|
||||
})
|
||||
data.projectRoyaltyList = this.tableData
|
||||
// 修改的提交
|
||||
if (data.id) {
|
||||
console.log('商品及提成', this.tableData)
|
||||
await DlInspectionProjectApi.updateDlInspectionProject(data);
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.dialogVisible = false;
|
||||
this.$emit('success');
|
||||
return;
|
||||
}
|
||||
console.log('商品及提成', this.tableData)
|
||||
// 添加的提交
|
||||
await DlInspectionProjectApi.createDlInspectionProject(data);
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
@ -116,9 +153,13 @@ export default {
|
||||
/** 获取角色下拉框数据 */
|
||||
async getRole() {
|
||||
const res = await getRole();
|
||||
console.log("角色的集合", res.data)
|
||||
this.roleList = res.data
|
||||
},
|
||||
/** 获取角色下拉框数据 */
|
||||
async getGoods() {
|
||||
const res = await getGoods();
|
||||
this.tableData = res.data.records
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -32,7 +32,7 @@
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="openForm(undefined)"
|
||||
v-hasPermi="['inspection:dl-inspection-project:create']">新增
|
||||
>新增
|
||||
</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">-->
|
||||
@ -50,6 +50,17 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark"/>
|
||||
<el-table-column label="排序" align="center" prop="sort">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="scope.row.sort"
|
||||
type="number"
|
||||
style="width: 80px"
|
||||
@blur="handleSortChange(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<template v-slot="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
@ -58,10 +69,10 @@
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template v-slot="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
|
||||
v-hasPermi="['inspection:dl-inspection-project:update']">修改
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['inspection:dl-inspection-project:delete']">删除
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -77,7 +88,7 @@
|
||||
<script>
|
||||
import * as DlInspectionProjectApi from '@/api/inspection/project';
|
||||
import DlInspectionProjectForm from './DlInspectionProjectForm.vue';
|
||||
import {getRole} from "@/api/inspection/project";
|
||||
import {getRole, updateSort} from "@/api/inspection/project";
|
||||
|
||||
export default {
|
||||
name: "DlInspectionProject",
|
||||
@ -147,7 +158,8 @@ export default {
|
||||
/** 删除按钮操作 */
|
||||
async handleDelete(row) {
|
||||
const id = row.id;
|
||||
await this.$modal.confirm('是否确认删除检测项目编号为"' + id + '"的数据项?')
|
||||
const name = row.projectName;
|
||||
await this.$modal.confirm('是否确认删除检测项目名称为"' + name + '"的数据项?')
|
||||
try {
|
||||
await DlInspectionProjectApi.deleteDlInspectionProject(id);
|
||||
await this.getList();
|
||||
@ -176,6 +188,19 @@ export default {
|
||||
getRoleName(id) {
|
||||
const role = this.roleList.find(item => item.id === id);
|
||||
return role ? role.name : '';
|
||||
},
|
||||
/** 排序值变化处理函数*/
|
||||
async handleSortChange(row) {
|
||||
console.log('本行信息:', row)
|
||||
// 在这里处理排序值变化的逻辑
|
||||
console.log('排序值变化:', row.sort);
|
||||
// 你可以在这里执行其他操作,比如更新数据或发送请求
|
||||
let data = {
|
||||
id: row.id,
|
||||
sort: row.sort
|
||||
}
|
||||
let res = await DlInspectionProjectApi.updateSort(data);
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -136,3 +136,27 @@ export function delWorkInfo(id) {
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
export function detail(params) {
|
||||
return request({
|
||||
url: '/partnerOwn/partner/inspectionDetail',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getINspectionProject(params) {
|
||||
return request({
|
||||
url: '/inspection/dl-inspection-project/page',
|
||||
method: 'get',
|
||||
params: {
|
||||
pageNo:1,
|
||||
pageSize:10000
|
||||
}
|
||||
})
|
||||
}
|
||||
export function getWeorkNodesById(params) {
|
||||
return request({
|
||||
url: '/system/info/getWeorkNodesById',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
@ -449,7 +449,8 @@
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listInspectionGoods(this.queryParams).then(response => {
|
||||
this.inspectionGoodsList = response.rows;
|
||||
console.log('resp',response)
|
||||
this.inspectionGoodsList = response.data.records;
|
||||
this.inspectionGoodsList.price=this.inspectionGoodsList.price / 100
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
@ -82,7 +82,8 @@
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>录入</el-button>
|
||||
>录入
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@ -91,11 +92,12 @@
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出</el-button>
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<div style="margin-left: 72%;font-weight: bold">
|
||||
<span>
|
||||
公示价格汇总:{{moneyData.goodsPriceSum/100}} 元
|
||||
公示应收价格汇总:{{ moneyData.goodsPriceSum / 100 }} 元
|
||||
</span>
|
||||
<span style="margin-left: 3%">
|
||||
实付金额汇总:{{ moneyData.payMoneySum / 100 }} 元
|
||||
@ -108,9 +110,18 @@
|
||||
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="车牌号" align="center" prop="carNum"/>
|
||||
<el-table-column label="检测类型" align="center" prop="goodsTitle" />
|
||||
<el-table-column label="客户来源" align="center" prop="customerSource">
|
||||
</el-table-column>
|
||||
<el-table-column label="检测结果" align="center" prop="isPass">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.isPass =='0'">不合格</span>
|
||||
<span v-else-if="scope.row.isPass =='1'">合格</span>
|
||||
<span v-else>进行中</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="车辆类型" align="center" prop="goodsTitle"/>
|
||||
<el-table-column label="检测项目" align="center" prop="skuName"/>
|
||||
<el-table-column label="公示价格" align="center" prop="realPayMoney">
|
||||
<el-table-column label="公示应收价格" align="center" prop="realPayMoney" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.goodsPrice / 100 }}</span>
|
||||
</template>
|
||||
@ -125,8 +136,6 @@
|
||||
<el-table-column label="客户手机号" align="center" prop="buyPhone"/>
|
||||
<!-- <el-table-column label="接待员" align="center" prop="workerName"/>-->
|
||||
<el-table-column label="接待员手机号" align="center" prop="workerPhone"/>
|
||||
<el-table-column label="客户来源" align="center" prop="customerSource">
|
||||
</el-table-column>
|
||||
<el-table-column label="支付方式" align="center" prop="payType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.pay_type" :value="scope.row.payType"/>
|
||||
@ -134,13 +143,6 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间" align="center" prop="startTime"/>
|
||||
<el-table-column label="结束时间" align="center" prop="endTime"/>
|
||||
<el-table-column label="检测结果" align="center" prop="isPass">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.isPass =='0'">不合格</span>
|
||||
<span v-else-if="scope.row.isPass =='1'">合格</span>
|
||||
<span v-else>进行中</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
@ -149,13 +151,15 @@
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="watchWork(scope.row)"
|
||||
>打印</el-button>
|
||||
>打印
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="xinWork(scope.row)"
|
||||
>结算</el-button>
|
||||
>结算
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@ -163,26 +167,38 @@
|
||||
v-if="scope.row.status&&scope.row.status == 1&&scope.row.isPass&&scope.row.isPass ==1&&scope.row.makeCert!=1"
|
||||
|
||||
@click="zhizheng(scope.row)"
|
||||
>制证</el-button>
|
||||
>制证
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
|
||||
@click="detail(scope.row)"
|
||||
>详情
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
v-if="scope.row.status&&scope.row.status == 0"
|
||||
@click="jieshu(scope.row)"
|
||||
>完工</el-button>
|
||||
>完工
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>修改</el-button>
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -200,7 +216,8 @@
|
||||
|
||||
<div v-html="htmlStr" id="printMe"></div>
|
||||
|
||||
<el-button type="primary" style="margin-left: 90%;margin-top:20px " v-print="'#printMe'" size="small">打印</el-button>
|
||||
<el-button type="primary" style="margin-left: 90%;margin-top:20px " v-print="'#printMe'" size="small">打印
|
||||
</el-button>
|
||||
|
||||
</el-dialog>
|
||||
<!-- 弹窗 -->
|
||||
@ -244,7 +261,8 @@
|
||||
<span>{{ goodsPrice / 100 }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="优惠金额">
|
||||
<el-input-number :min="0" @input="jisuan" :max="goodsPrice/100" type="text" v-model="reduceMoney"></el-input-number>
|
||||
<el-input-number :min="0" @input="jisuan" :max="goodsPrice/100" type="text"
|
||||
v-model="reduceMoney"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="实付金额">
|
||||
<el-input-number type="text" v-model="payMoney"></el-input-number>
|
||||
@ -276,6 +294,17 @@
|
||||
<el-button type="primary" @click="tijiao()">确 定</el-button>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
<el-dialog :title="title" :visible.sync="opendetail" width="800px" append-to-body class="custom-dialog">
|
||||
<div v-for="(item, index) in detailForm" :key="index" class="dialog-item">
|
||||
<div class="item-header">
|
||||
<span class="item-title">{{ item.title }}</span>
|
||||
<span class="item-create-time">{{ item.createTime }}</span>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<span>{{ item.content }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :title="title" :visible.sync="addOpen" width="600px" append-to-body>
|
||||
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
@ -326,7 +355,7 @@
|
||||
<el-cascader
|
||||
v-model="form.skuId"
|
||||
:options="options"
|
||||
@change="handleChange"></el-cascader>
|
||||
@change="handleChange" :disabled="!isInsert"></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="新旧车">
|
||||
<el-select v-model="form.carStatus" placeholder="请选择客户来源">
|
||||
@ -338,6 +367,54 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="引车员">
|
||||
<el-select v-model="form.leadManId" placeholder="请选择客户来源">
|
||||
<el-option
|
||||
v-for="dict in leadManList"
|
||||
:key="dict.id"
|
||||
:label="dict.nickname"
|
||||
:value="dict.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="请选择检测项目">-->
|
||||
<!-- 可选检测项目 -->
|
||||
<div v-if="isInsert">
|
||||
<div class="available-projects-title">可选检测项目:</div>
|
||||
<div class="available-projects-container">
|
||||
<div
|
||||
class="project-button"
|
||||
:class="{ 'selected' : selectInspectionProjectIds.includes(item.id) }"
|
||||
v-for="item in projectList"
|
||||
:key="item.id"
|
||||
@click="clickProject(item)"
|
||||
>
|
||||
{{ item.projectName }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 已选检测项目标题 -->
|
||||
<div class="selected-projects-title">已选检测项目:</div>
|
||||
|
||||
|
||||
<!-- 已选项目列表 -->
|
||||
<div class="inspection-project-list">
|
||||
<div class="project-item" v-for="(item, index) in selectInspectionProject" :key="index">
|
||||
<div class="steps_">
|
||||
<div class="index_2">{{ index + 1 }}</div>
|
||||
<div class="project-name">{{ item.projectName }}</div>
|
||||
</div>
|
||||
<div class="arrow" v-if="index !== selectInspectionProject.length - 1">
|
||||
<span>↓</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
@ -350,9 +427,26 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listWorkOrder,workOrderData,listGoods,addWorkInfo,getWorker,shopInfo,settleAccounts,
|
||||
workOrderView,inspectionDetail,offlineCharging,
|
||||
getBankAccountList,makeCertOk,stopInspection,updateWorkInfo,delWorkInfo} from "./api/workOrder";
|
||||
import {
|
||||
listWorkOrder,
|
||||
workOrderData,
|
||||
listGoods,
|
||||
addWorkInfo,
|
||||
getWorker,
|
||||
shopInfo,
|
||||
settleAccounts,
|
||||
workOrderView,
|
||||
inspectionDetail,
|
||||
offlineCharging,
|
||||
getBankAccountList,
|
||||
makeCertOk,
|
||||
stopInspection,
|
||||
updateWorkInfo,
|
||||
delWorkInfo,
|
||||
detail,
|
||||
getINspectionProject,
|
||||
getWeorkNodesById
|
||||
} from "./api/workOrder";
|
||||
import {getCustomerSource} from "./api/index";
|
||||
import print from 'vue-print-nb'
|
||||
import moment from 'moment';
|
||||
@ -372,6 +466,7 @@
|
||||
payMoneySum: 0,
|
||||
goodsPriceSum: 0
|
||||
},
|
||||
projectList:[],
|
||||
isPass: 1,
|
||||
isRetrial: '',
|
||||
remark: '',
|
||||
@ -424,8 +519,15 @@
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
openxin: false,
|
||||
opendetail: false,
|
||||
openhe: false,
|
||||
htmlStr: null,
|
||||
detailForm: [],
|
||||
selectInspectionProject:[],
|
||||
inspectionWorkNodeStr:[],
|
||||
selectInspectionProjectIds:[],
|
||||
isInsert: false,
|
||||
leadManList:[],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
@ -499,6 +601,19 @@
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
clickProject(data) {
|
||||
let idx = this.selectInspectionProjectIds.indexOf(data.id)
|
||||
if (idx > -1) {
|
||||
// 如果元素存在于数组中,则使用splice方法来删除它
|
||||
this.selectInspectionProject.splice(idx, 1);
|
||||
this.selectInspectionProjectIds.splice(idx, 1)
|
||||
} else {
|
||||
this.selectInspectionProject.push(data)
|
||||
this.selectInspectionProjectIds.push(data.id)
|
||||
}
|
||||
console.log('已选择的检测项目', this.selectInspectionProject)
|
||||
|
||||
},
|
||||
jieshu(row) {
|
||||
|
||||
this.inspectionId = row.id
|
||||
@ -507,6 +622,14 @@
|
||||
this.remark = "",
|
||||
this.openhe = true
|
||||
},
|
||||
/*获取检测项目*/
|
||||
getINspectionProject() {
|
||||
this.selectInspectionProject = []
|
||||
getINspectionProject().then(res => {
|
||||
console.log('检测项目', res)
|
||||
this.projectList = res.data.records
|
||||
})
|
||||
},
|
||||
zhizheng(row) {
|
||||
console.log(row)
|
||||
let data = {
|
||||
@ -576,6 +699,18 @@
|
||||
})
|
||||
this.openxin = true
|
||||
},
|
||||
detail(row) {
|
||||
console.log('点击详情', row)
|
||||
//根据id查询详情
|
||||
let params = {
|
||||
inspectionInfoId: row.id
|
||||
}
|
||||
detail(params).then(res => {
|
||||
this.detailForm = res.data.stepInfos
|
||||
console.log('详情', this.detailForm)
|
||||
})
|
||||
this.opendetail = true
|
||||
},
|
||||
|
||||
//获取pid
|
||||
getpid() {
|
||||
@ -659,6 +794,7 @@
|
||||
updateTime: null,
|
||||
updateBy: null,
|
||||
};
|
||||
this.selectInspectionProject = []
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
||||
@ -682,6 +818,9 @@
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.getINspectionProject()
|
||||
this.isInsert = true
|
||||
this.getLeadeMan();
|
||||
listGoods().then(res => {
|
||||
res.data.forEach(it => {
|
||||
let temp = {}
|
||||
@ -705,7 +844,9 @@
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.isInsert = false
|
||||
this.reset();
|
||||
this.getLeadeMan();
|
||||
this.form = row
|
||||
let skuId = parseInt(row.skuId)
|
||||
this.form.skuId = [row.goodsId, skuId]
|
||||
@ -727,15 +868,38 @@
|
||||
})
|
||||
console.log(this.options)
|
||||
})
|
||||
|
||||
this.addOpen = true;
|
||||
this.title = "工单";
|
||||
},
|
||||
/** 获取引车员信息*/
|
||||
getLeadeMan() {
|
||||
request({
|
||||
url: '/system/role/getUsersByRoleCode',
|
||||
method: 'get',
|
||||
params: {
|
||||
code: "jcycy"
|
||||
}
|
||||
}).then(res => {
|
||||
this.leadManList = res.data
|
||||
})
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
if (this.form.id) {
|
||||
this.updateForm()
|
||||
} else {
|
||||
if (this.selectInspectionProject.length == 0) {
|
||||
this.$modal.msgError("请选择项目")
|
||||
}
|
||||
for (var i = 0; i < this.selectInspectionProject.length; i++) {
|
||||
this.selectInspectionProject[i].orderNum = i+1
|
||||
this.selectInspectionProject[i].projectId = this.selectInspectionProject[i].id
|
||||
this.selectInspectionProject[i].id = undefined
|
||||
}
|
||||
console.log('项目', this.selectInspectionProject)
|
||||
this.form.inspectionWorkNodes = this.selectInspectionProject
|
||||
console.log('最终提交的项目', this.form)
|
||||
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
console.log(this.form.skuId[1])
|
||||
@ -750,6 +914,16 @@
|
||||
}
|
||||
|
||||
},
|
||||
getWeorkNodesById(id){
|
||||
const params = {
|
||||
inspectionId: id
|
||||
}
|
||||
getWeorkNodesById(params).then(res => {
|
||||
console.log('根据工单id获取流程', res)
|
||||
this.selectInspectionProject = res.data
|
||||
this.selectInspectionProjectIds = this.selectInspectionProject.map(it => it.projectId)
|
||||
})
|
||||
},
|
||||
updateForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
@ -771,7 +945,8 @@
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
@ -783,8 +958,11 @@
|
||||
};
|
||||
</script>
|
||||
<style media="print">
|
||||
@page {size: auto; /* auto is the initial value */margin: 3mm; /* this affects the margin in the printer settings */
|
||||
@page {
|
||||
size: auto; /* auto is the initial value */
|
||||
margin: 3mm; /* this affects the margin in the printer settings */
|
||||
}
|
||||
|
||||
.w-box {
|
||||
width: 750px;
|
||||
margin: 10px auto;
|
||||
@ -796,6 +974,7 @@
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.box-dis {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
@ -803,19 +982,207 @@
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
.ws-box {
|
||||
width: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.w-left {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.w-rghit {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.dazi {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
* 对话框整体样式 *
|
||||
|
||||
/
|
||||
.custom-dialog {
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* 每个对话框项的样式 */
|
||||
.dialog-item {
|
||||
margin-bottom: 20px;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #e4e7ed;
|
||||
}
|
||||
|
||||
/* 标题和创建时间的容器 */
|
||||
.item-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* 标题样式 */
|
||||
.item-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* 创建时间样式 */
|
||||
.item-create-time {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/* 内容样式 */
|
||||
.item-content {
|
||||
margin-top: 10px;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
.title_ {
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.box_ {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.box_button {
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
background-color: #f0f0f0;
|
||||
cursor: pointer;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.box_button_x {
|
||||
background-color: #cce5ff;
|
||||
border-color: #007bff;
|
||||
}
|
||||
|
||||
.steps_ {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.index_ {
|
||||
margin-right: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.xb_ {
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
.steps_ {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}.inspection-project-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
padding: 20px;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.project-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 10px 15px;
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.project-item:hover {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
.steps_ {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.index_2 {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin-right: 10px;
|
||||
color: #007BFF;
|
||||
}
|
||||
|
||||
.project-name {
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
font-size: 18px;
|
||||
color: #007BFF;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* 可选检测项目标题 */
|
||||
.available-projects-title, .selected-projects-title {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
border-left: 5px solid #007BFF;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
/* 可选检测项目容器 */
|
||||
.available-projects-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
/* 每个按钮的样式 */
|
||||
.project-button {
|
||||
padding: 10px 15px;
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 5px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease, transform 0.2s ease;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.project-button:hover {
|
||||
background-color: #007BFF;
|
||||
color: white;
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
/* 被选中的按钮样式 */
|
||||
.project-button.selected {
|
||||
background-color: #007BFF;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
border: 2px solid #0056b3;
|
||||
}
|
||||
|
||||
/* 可选检测项目容器的按钮排列 */
|
||||
.available-projects-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user