Commit 9a1c60eb authored by 高滢's avatar 高滢

Merge remote-tracking branch 'origin/master'

parents 9d603c31 c6429f6c
......@@ -319,63 +319,63 @@ export default {
area: ''
},
// 表单校验
// rules: {
// deviceName: [
// { required: true, message: '请输入设备名称', trigger: 'blur' },
// { min: 2, max: 20, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
// ],
//
// head: [
// { min: 2, max: 20, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
// ],
// phone: [
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: '请输入正确的手机号码',
// trigger: 'blur'
// }
// ],
// deviceType: [
// { required: true, message: '请选择设备类型', trigger: 'change' }
// ],
// addressCode: [
// { required: true, message: '请选择服务地点', trigger: 'change,blur' }
// ],
// address: [
// { required: true, message: '请输入详细地址', trigger: 'blur' }
// ],
// ams: [
// { validator: this.validateMorningStart, trigger: 'blur' }
// ],
// ame: [
// { validator: this.validateMorningEnd, trigger: 'blur' }
// ],
// pms: [
// { validator: this.validateAfternoonStart, trigger: 'blur' }
// ],
// pme: [
// { validator: this.validateAfternoonEnd, trigger: 'blur' }
// ],
// sort: [
// { required: true, message: '请输入权重', trigger: 'change' },
// { pattern: /^([1-9]\d{0,3})$/, message: '权重范围为1-9999', trigger: 'blur' }
// ],
// status: [
// { required: true, message: '请选择设备状态', trigger: 'change' }
// ],
// reservationMethod: [
// { required: true, message: '请选择预约方式', trigger: 'change' }
// ],
// remark: [
// { min: 2, max: 200, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
// ],
// serviceArea: [
// { required: true, message: '请选择支持服务地区', trigger: 'blur' }
// ],
// checkType: [
// { required: true, message: '请选择支持检查类型', trigger: 'blur' }
// ]
// },
rules: {
deviceName: [
{ required: true, message: '请输入设备名称', trigger: 'blur' },
{ min: 2, max: 20, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
],
head: [
{ min: 2, max: 20, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
],
phone: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
],
deviceType: [
{ required: true, message: '请选择设备类型', trigger: 'change' }
],
addressCode: [
{ required: true, message: '请选择服务地点', trigger: 'change,blur' }
],
address: [
{ required: true, message: '请输入详细地址', trigger: 'blur' }
],
ams: [
{ validator: this.validateMorningStart, trigger: 'blur' }
],
ame: [
{ validator: this.validateMorningEnd, trigger: 'blur' }
],
pms: [
{ validator: this.validateAfternoonStart, trigger: 'blur' }
],
pme: [
{ validator: this.validateAfternoonEnd, trigger: 'blur' }
],
sort: [
{ required: true, message: '请输入权重', trigger: 'change' },
{ pattern: /^([1-9]\d{0,3})$/, message: '权重范围为1-9999', trigger: 'blur' }
],
status: [
{ required: true, message: '请选择设备状态', trigger: 'change' }
],
reservationMethod: [
{ required: true, message: '请选择预约方式', trigger: 'change' }
],
remark: [
{ min: 2, max: 200, message: '输入内容长度应为2~20个字符', trigger: 'blur' }
],
serviceArea: [
{ required: true, message: '请选择支持服务地区', trigger: 'blur' }
],
checkType: [
{ required: true, message: '请选择支持检查类型', trigger: 'blur' }
]
},
// 是否医院自有设备
optionss: [{
value: '0',
......
......@@ -122,7 +122,7 @@
<el-col :span="8">
<el-form-item label="上午开始时间" >
<el-time-select
v-model="useTime.ams"
v-model="form.useTime.ams"
is-range
disabled
style="width: 250px"
......@@ -140,7 +140,7 @@
<el-col :span="8">
<el-form-item label="上午结束时间">
<el-time-select
v-model="useTime.ame"
v-model="form.useTime.ame"
is-range
disabled
style="width: 250px"
......@@ -163,7 +163,7 @@
<el-col :span="8" style="margin-left: 33.5%">
<el-form-item label="下午开始时间" >
<el-time-select
v-model="useTime.pms"
v-model="form.useTime.pms"
is-range
disabled
style="width: 250px"
......@@ -181,7 +181,7 @@
<e-col :span="8">
<el-form-item label="下午开始时间">
<el-time-select
v-model="useTime.pme"
v-model="form.useTime.pme"
is-range
disabled
style="width: 250px"
......@@ -207,7 +207,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="创建时间">
<span>{{ form.createTime }}</span>
<span>{{ replace(form.createTime) || '-' }}</span>
</el-form-item>
</el-col>
......@@ -424,7 +424,7 @@
<el-col :span="8">
<el-form-item label="上午开始时间" prop="ams">
<el-time-select
v-model="form.ams"
v-model="form.useTime.ams"
style="width: 250px"
is-range
placeholder="开始时间"
......@@ -441,7 +441,7 @@
<el-col :span="8">
<el-form-item label="上午结束时间" prop="ame">
<el-time-select
v-model="form.ame"
v-model="form.useTime.ame"
style="width: 250px"
is-range
placeholder="结束时间"
......@@ -451,7 +451,7 @@
start: '01:00',
step: '01:00',
end: '12:00',
minTime:form.ams
minTime:form.useTime.ams
}"
/>
</el-form-item>
......@@ -463,7 +463,7 @@
<el-col :span="8" style="margin-left: 33.5%">
<el-form-item label="下午开始时间" prop="pms">
<el-time-select
v-model="form.pms"
v-model="form.useTime.pms"
style="width: 250px"
is-range
placeholder="开始时间"
......@@ -480,7 +480,7 @@
<e-col :span="8">
<el-form-item label="下午开始时间" prop="pme">
<el-time-select
v-model="form.pme"
v-model="form.useTime.pme"
style="width: 250px"
is-range
placeholder="结束时间"
......@@ -490,7 +490,7 @@
start: '12:00',
step: '01:00',
end: '24:00',
minTime:form.pms
minTime:form.useTime.pms
}"
/>
</el-form-item>
......@@ -505,9 +505,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="创建时间">
<span>{{ form.createTime }}</span>
<span>{{ replace(form.createTime) || '-' }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备状态" prop="status">
......@@ -588,7 +587,7 @@ import { getDevice, updateDevice } from '@/api/business/device'
import { CodeToText, regionData } from 'element-china-area-data'
import { getInfo } from '@/api/login'
import { listCheckManage } from '@/api/business/manage'
import {parseTime} from "@/utils/ruoyi";
export default {
name: 'EquipmentDetail',
dicts: ['device_status', 'device_type', 'exam_type', 'check_type'],
......@@ -604,6 +603,10 @@ export default {
},
data() {
return {
replace(time) {
return parseTime(time, '{y}/{m}/{d}')
},
// 检查类型
// checkType: [],
// 服务价格
......@@ -621,8 +624,9 @@ export default {
label: '否'
}
],
queryParams: {
id: null,
id: null
},
cityOptions: regionData,
// 存储省市区选中的地址码
......@@ -639,7 +643,6 @@ export default {
// 表单参数
form: {
deviceName: '',
useTime: '',
// appointmentMethod: '',
serviceArea: '',
head: '',
......@@ -648,10 +651,12 @@ export default {
reservationMethod: '',
status: '',
remark: '',
ams: null,
ame: null,
pms: null,
pme: null
useTime: {
ams: null,
ame: null,
pms: null,
pme: null
},
},
useList: [],
......@@ -767,20 +772,20 @@ export default {
hpshow: ''
}
},
watch: {
useTime: {
handler(newVal, oldVal) {
if ((this.useTime.ame != null && this.useTime.ams != null && this.useTime.pme == null && this.useTime.pms == null) || (this.useTime.pme != null && this.useTime.pms != null && this.useTime.ame == null && this.useTime.ams == null) || (this.useTime.ame != null && this.useTime.ams != null && this.useTime.pme != null && this.useTime.pms != null)) {
this.rules.userTime.forEach(item => item.required = false)
console.log('111')
} else {
this.rules.userTime.forEach(item => item.required = true)
console.log('2222')
}
},
deep: true
}
},
// watch: {
// useTime: {
// handler(newVal, oldVal) {
// if ((this.useTime.ame != null && this.useTime.ams != null && this.useTime.pme == null && this.useTime.pms == null) || (this.useTime.pme != null && this.useTime.pms != null && this.useTime.ame == null && this.useTime.ams == null) || (this.useTime.ame != null && this.useTime.ams != null && this.useTime.pme != null && this.useTime.pms != null)) {
// this.rules.userTime.forEach(item => item.required = false)
// console.log('111')
// } else {
// this.rules.userTime.forEach(item => item.required = true)
// console.log('2222')
// }
// },
// deep: true
// }
// },
created() {
this.handleUpdate()
this.getUserInfo()
......@@ -810,25 +815,18 @@ export default {
getpm() {
console.log(this.useTime)
},
// // 三级联动 字符串转换为数组
// handleChange(value) {
// // 地区数组
// const textArray = []
// // 编码数组
// const codeArray = []
// for (let i = 0; i < value.length; i++) {
// codeArray.push(value[i].toString())
// textArray.push(CodeToText[value[i][0]] + CodeToText[value[i][1]] + CodeToText[value[i][2]])
// }
// this.form.serviceArea = codeArray.join(';')
// console.log(this.form.serviceArea)
// console.log('codeArray', codeArray.join(';'))
// console.log('textArray', textArray.join(','))
// 权重不可以输入小数
handleBlur() {
const parsedValue = parseFloat(this.form.sort)
if (!isNaN(parsedValue)) {
this.form.sort = parsedValue.toFixed(0) // 保留一位小数并进行四舍五入
}
},
// },
// 四个时间的表单校验
validateMorningStart(rule, value, callback) {
const morningEnd = this.form.ame
if ((value === '' || value === null) && (this.form.ame === '' || this.form.ame === null) && (this.form.pme === '' || this.form.pme === null) && (this.form.pms === '' || this.form.pms === null)) {
const morningEnd = this.form.useTime.ame
if ((value === '' || value === null) && (this.form.useTime.ame === '' || this.form.useTime.ame === null) && (this.form.useTime.pme === '' || this.form.useTime.pme === null) && (this.form.useTime.pms === '' || this.form.useTime.pms === null)) {
callback(new Error('请选择上午开始时间'))
} else {
if ((value === '' || value === null) && (morningEnd !== '' && morningEnd !== null)) {
......@@ -839,8 +837,8 @@ export default {
}
},
validateMorningEnd(rule, value, callback) {
const morningStart = this.form.ams
if ((value === '' || value === null) && (this.form.ams === '' || this.form.ams === null) && (this.form.pme === '' || this.form.pme === null) && (this.form.pms === '' || this.form.pms === null)) {
const morningStart = this.form.useTime.ams
if ((value === '' || value === null) && (this.form.useTime.ams === '' || this.form.useTime.ams === null) && (this.form.useTime.pme === '' || this.form.useTime.pme === null) && (this.form.useTime.pms === '' || this.form.useTime.pms === null)) {
callback(new Error('请选择上午结束时间'))
} else {
if ((value === '' || value === null) && (morningStart !== '' && morningStart !== null)) {
......@@ -851,8 +849,8 @@ export default {
}
},
validateAfternoonStart(rule, value, callback) {
const afternoonEnd = this.form.pme
if ((value === '' || value === null) && (this.form.ams === '' || this.form.ams === null) && (this.form.pme === '' || this.form.pme === null) && (this.useTime.ame === '' || this.form.ame === null)) {
const afternoonEnd = this.form.useTime.pme
if ((value === '' || value === null) && (this.form.useTime.ams === '' || this.form.useTime.ams === null) && (this.form.useTime.pme === '' || this.form.useTime.pme === null) && (this.form.useTime.ame === '' || this.form.useTime.ame === null)) {
callback(new Error('请选择下午开始时间'))
} else {
if ((value === '' || value === null) && (afternoonEnd !== '' && afternoonEnd !== null)) {
......@@ -863,8 +861,8 @@ export default {
}
},
validateAfternoonEnd(rule, value, callback) {
const afternoonStart = this.form.pms
if ((value === '' || value === null) && (this.form.ams === '' || this.form.ams === null) && (this.form.pms === '' || this.form.pms === null) && (this.useTime.ame === '' || this.form.ame === null)) {
const afternoonStart = this.form.useTime.pms
if ((value === '' || value === null) && (this.form.useTime.ams === '' || this.form.useTime.ams === null) && (this.form.useTime.pms === '' || this.form.useTime.pms === null) && (this.form.useTime.ame === '' || this.form.useTime.ame === null)) {
callback(new Error('请选择下午结束时间'))
} else {
if ((value === '' || value === null) && (afternoonStart !== '' && afternoonStart !== null)) {
......@@ -948,9 +946,12 @@ export default {
this.form.selectedOptions = response.data.addressCode.split(',')
this.form.serviceArea = response.data.serviceArea.split(',')
this.form.checkType = response.data.checkType.split(',')
console.log('详情数据---', this.form)
// this.checkType = response.data.checkType.split(',')
this.useTime = JSON.parse(response.data.useTime)
// this.useTime = JSON.parse(response.data.useTime)
this.form.useTime = JSON.parse(response.data.useTime)
console.log('详情数据---', this.form)
console.log("form.usertadasd",this.form.useTime.ame)
// this.serviceAreaS = this.form.serviceArea.split(';')
// this.serviceArea = []
// for (let i = 0; i < this.serviceAreaS.length; i++) {
......
......@@ -109,7 +109,7 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="deviceList" :header-cell-style="{ background:'#E8E9E8'}" border @selection-change="handleSelectionChange">
<el-table ref="table" v-loading="loading" :data="deviceList" :header-cell-style="{ background:'#E8E9E8'}" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="设备名称" align="center" prop="deviceName" show-overflow-tooltip />
......@@ -352,44 +352,44 @@ export default {
status: '',
remark: ''
},
// 表单校验
rules: {
userTime: [
{ required: true, message: '请输入预约时间段', trigger: 'change' }
],
useNum: [
{ required: true, message: '请输入预约数量', trigger: 'blur' }
],
orderPrice: [
{ required: true, message: '请输入下单价格', trigger: 'blur' }
],
servicePrice: [
{ required: true, message: '请输入服务价格', trigger: 'blur' }
],
reservationMethod: [
{ required: true, message: '请选择预约方式', trigger: 'change' }
],
serviceArea: [
{ required: true, message: '请选择服务地区', trigger: 'change' }
],
checkType: [
{ required: true, message: '请选择支持检查类型', trigger: 'blur,change' }
],
head: [
{ min: 2, max: 20, message: '输入内容长度应为2到20个字符', trigger: 'blur' },
{ pattern: /^[\u4E00-\u9FA5A-Za-z]+$/, message: '请输入中英文字符', trigger: 'blur' }
],
deviceName: [
{ required: true, message: '请输入设备名称', trigger: 'blur' },
{ min: 2, max: 20, message: '输入内容长度应为2到20个字符', trigger: 'blur' },
{ pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, message: '请输入中英文数字', trigger: 'blur' }
],
phone: [
{ pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确', trigger: 'blur' }
]
}
// // 表单校验
// rules: {
// userTime: [
// { required: true, message: '请输入预约时间段', trigger: 'change' }
// ],
// useNum: [
// { required: true, message: '请输入预约数量', trigger: 'blur' }
// ],
// orderPrice: [
// { required: true, message: '请输入下单价格', trigger: 'blur' }
// ],
// servicePrice: [
// { required: true, message: '请输入服务价格', trigger: 'blur' }
// ],
// reservationMethod: [
// { required: true, message: '请选择预约方式', trigger: 'change' }
// ],
// serviceArea: [
// { required: true, message: '请选择服务地区', trigger: 'change' }
// ],
// checkType: [
// { required: true, message: '请选择支持检查类型', trigger: 'blur,change' }
// ],
// head: [
// { min: 2, max: 20, message: '输入内容长度应为2到20个字符', trigger: 'blur' },
// { pattern: /^[\u4E00-\u9FA5A-Za-z]+$/, message: '请输入中英文字符', trigger: 'blur' }
// ],
// deviceName: [
// { required: true, message: '请输入设备名称', trigger: 'blur' },
// { min: 2, max: 20, message: '输入内容长度应为2到20个字符', trigger: 'blur' },
// { pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, message: '请输入中英文数字', trigger: 'blur' }
// ],
// phone: [
// { pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确', trigger: 'blur' }
// ]
//
// }
}
},
watch: {
......@@ -525,7 +525,7 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = ''
this.daterangeCreateTime = ''
this.sortedColumn = ''
this.queryParams = {
searchText: '',
......@@ -574,67 +574,54 @@ export default {
name: 'EquipmentAdd'
})
},
// /** 修改按钮操作 */
// handleUpdate(row) {
// this.reset()
// const id = row.id || this.ids
// getDevice(id).then(response => {
// this.form = response.data
// this.open = true
// this.title = '修改设备'
// this.serviceAreaS = this.form.serviceArea.split(';')
// this.serviceArea = []
// for (let i = 0; i < this.serviceAreaS.length; i++) {
// this.serviceAreaS[i] = this.serviceAreaS[i].split(',')
// this.serviceArea.push(this.serviceAreaS[i])
// }
// })
// 全部选择
selectAll() {
this.$refs.table.toggleAllSelection()
},
// 反向选择
reverseSelect(rows) {
rows.forEach(row => {
this.$refs.table.toggleRowSelection(row)
})
},
// /**
// * 全部选择
// * @param selection 已选择内容
// * @param all 是否永远进行全选操作
// */
// async selectAll(selection = [], all = true) {
// if (this.deviceList.length !== selection.length && !all) {
// this.effectTableSelect([])
// } else {
// await this.changeTableSelect()
// }
// },
// /**
// * 控制table的选择项
// * @param data
// */
// effectTableSelect(data = []) {
// this.$refs.table.store.states.selection = data
// this.$refs.table.store.updateSelectionByRowKey()
// this.$refs.table.store.updateAllSelected()
// this.$refs.table.$emit('selection-change', data)
// },
// // 全部选择
// selectAll() {
// this.$refs.table.toggleAllSelection()
// /**
// * 改变table选择项
// * @param notIncludeIds 需要排除的id列表
// */
// async changeTableSelect(notIncludeIds = []) {
// // 获取反选的数据
// const { data } = await listDeviceAll({ notIncludeIds })
// console.log("data",data)
// this.effectTableSelect(data)
// },
// // 反向选择
// reverseSelect(rows) {
// rows.forEach(row => {
// this.$refs.table.toggleRowSelection(row)
// })
// reverseSelect() {
// this.changeTableSelect(this.ids)
// },
/**
* 全部选择
* @param selection 已选择内容
* @param all 是否永远进行全选操作
*/
async selectAll(selection = [], all = true) {
if (this.deviceList.length !== selection.length && !all) {
this.effectTableSelect([])
} else {
await this.changeTableSelect()
}
},
/**
* 控制table的选择项
* @param data
*/
effectTableSelect(data = []) {
this.$refs.table.store.states.selection = data
this.$refs.table.store.updateSelectionByRowKey()
this.$refs.table.store.updateAllSelected()
this.$refs.table.$emit('selection-change', data)
},
/**
* 改变table选择项
* @param notIncludeIds 需要排除的id列表
*/
async changeTableSelect(notIncludeIds = []) {
// 获取反选的数据
const { data } = await listDeviceAll({ notIncludeIds })
this.effectTableSelect(data)
},
// 反向选择
reverseSelect() {
this.changeTableSelect(this.ids)
},
/** 删除按钮操作 */
handleDelete(row) {
console.log(row)
......@@ -650,9 +637,19 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('business/device/export', {
...this.queryParams
}, `device_${new Date().getTime()}.xlsx`)
// this.download('business/device/export', {
// ...this.queryParams
// }, `device_${new Date().getTime()}.xlsx`)
if (this.ids.length !== 0) {
const exportTable = {}
// exportTable. = this.ids
this.download('business/device/export', exportTable, `use_${new Date().getTime()}.xlsx`).then(res => {
this.$refs.table.clearSelection()
})
} else {
this.$modal.msgError('请选择至少一条数据导出')
return
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment