fix: 待办事项
This commit is contained in:
parent
f57e22d74f
commit
e67b03d8a7
@ -2,7 +2,8 @@ ENV = 'development'
|
|||||||
VITE_CLI_PORT = 8088
|
VITE_CLI_PORT = 8088
|
||||||
VITE_SERVER_PORT = 8888
|
VITE_SERVER_PORT = 8888
|
||||||
VITE_BASE_API = /api
|
VITE_BASE_API = /api
|
||||||
VITE_BASE_PATH = https://api.jimingyiliao.com/
|
// VITE_BASE_PATH = https://api.jimingyiliao.com/
|
||||||
|
VITE_BASE_PATH = https://367a21fd.r12.cpolar.top
|
||||||
VITE_EDITOR = vscode
|
VITE_EDITOR = vscode
|
||||||
// VITE_EDITOR = webstorm 如果使用webstorm开发且要使用dom定位到代码行功能 请先自定添加 webstorm到环境变量 再将VITE_EDITOR值修改为webstorm
|
// VITE_EDITOR = webstorm 如果使用webstorm开发且要使用dom定位到代码行功能 请先自定添加 webstorm到环境变量 再将VITE_EDITOR值修改为webstorm
|
||||||
// 如果使用docker-compose开发模式,设置为下面的地址或本机主机IP
|
// 如果使用docker-compose开发模式,设置为下面的地址或本机主机IP
|
||||||
|
@ -4,5 +4,5 @@ VITE_CLI_PORT = 8080
|
|||||||
VITE_SERVER_PORT = 8888
|
VITE_SERVER_PORT = 8888
|
||||||
VITE_BASE_API = /api
|
VITE_BASE_API = /api
|
||||||
#下方修改为你的线上ip
|
#下方修改为你的线上ip
|
||||||
VITE_BASE_PATH = http://36b924d2.r12.cpolar.top
|
VITE_BASE_PATH = https://api.jimingyiliao.com/
|
||||||
//VITE_BASE_PATH = http://36b924d2.r12.cpolar.top
|
//VITE_BASE_PATH = http://36b924d2.r12.cpolar.top
|
||||||
|
1
package-lock.json
generated
1
package-lock.json
generated
@ -19,6 +19,7 @@
|
|||||||
"element-plus": "2.2.9",
|
"element-plus": "2.2.9",
|
||||||
"highlight.js": "^10.6.0",
|
"highlight.js": "^10.6.0",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"marked": "^2.0.0",
|
"marked": "^2.0.0",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
"element-plus": "2.2.9",
|
"element-plus": "2.2.9",
|
||||||
"highlight.js": "^10.6.0",
|
"highlight.js": "^10.6.0",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"marked": "^2.0.0",
|
"marked": "^2.0.0",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
|
@ -129,8 +129,12 @@ const handleSelectionChange = (val) => {
|
|||||||
}
|
}
|
||||||
function editFunc(row) {
|
function editFunc(row) {
|
||||||
form.value = _.cloneDeep(row)
|
form.value = _.cloneDeep(row)
|
||||||
console.log(form.value)
|
// console.log(form.value)
|
||||||
todo_list.value = form.value.todos
|
// 提醒时间用逗号分隔为数组
|
||||||
|
todo_list.value = _.cloneDeep(form.value.todos)
|
||||||
|
for (const item of todo_list.value) {
|
||||||
|
item.remindTime = item.remindTime.split(',')
|
||||||
|
}
|
||||||
note_list.value = form.value.notes
|
note_list.value = form.value.notes
|
||||||
openDialog('edit')
|
openDialog('edit')
|
||||||
}
|
}
|
||||||
@ -164,14 +168,10 @@ function handleSizeChange(val) {
|
|||||||
}
|
}
|
||||||
function closeDialog() {
|
function closeDialog() {
|
||||||
dialogFormVisible.value = false
|
dialogFormVisible.value = false
|
||||||
// question_form.value = {
|
|
||||||
// options: [],
|
|
||||||
// answer: '',
|
|
||||||
// title: ''
|
|
||||||
// }
|
|
||||||
todo_list.value = []
|
todo_list.value = []
|
||||||
note_list.value = []
|
note_list.value = []
|
||||||
form.value = {}
|
form.value = {}
|
||||||
|
resetForm()
|
||||||
}
|
}
|
||||||
async function enterDialog() { // 提交
|
async function enterDialog() { // 提交
|
||||||
await apiForm.value.validate(async(valid, fields) => {
|
await apiForm.value.validate(async(valid, fields) => {
|
||||||
@ -181,7 +181,13 @@ async function enterDialog() { // 提交
|
|||||||
if (form.value.ID) { // 编辑
|
if (form.value.ID) { // 编辑
|
||||||
func_name = 'editHospital'
|
func_name = 'editHospital'
|
||||||
}
|
}
|
||||||
form.value.todos = todo_list.value
|
form.value.todos = _.cloneDeep(todo_list.value)
|
||||||
|
// 提醒时间用逗号分隔
|
||||||
|
for (const item of form.value.todos) {
|
||||||
|
if (Array.isArray(item.remindTime)) {
|
||||||
|
item.remindTime = item.remindTime.join(',')
|
||||||
|
}
|
||||||
|
}
|
||||||
// 新参数
|
// 新参数
|
||||||
for (const item of note_list.value) {
|
for (const item of note_list.value) {
|
||||||
for (let i = 0; i < time_options.value.length; i++) {
|
for (let i = 0; i < time_options.value.length; i++) {
|
||||||
@ -192,6 +198,7 @@ async function enterDialog() { // 提交
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
form.value.notes = note_list.value
|
form.value.notes = note_list.value
|
||||||
|
// console.log(form.value);return
|
||||||
const res = await api[func_name](form.value)
|
const res = await api[func_name](form.value)
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
@ -206,29 +213,43 @@ async function enterDialog() { // 提交
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function addRowFunc(type) {
|
const resetForm = () => {
|
||||||
|
apiForm.value.resetFields()
|
||||||
|
}
|
||||||
|
function addRowFunc(type, child_index = null) {
|
||||||
// {
|
// {
|
||||||
// content: '',
|
// content: '',
|
||||||
// notes_time: ''
|
// notes_time: ''
|
||||||
// }
|
// }
|
||||||
if (type === 1) {
|
if (type === 1) { // 注意事项
|
||||||
note_list.value.push({
|
note_list.value.push({
|
||||||
content: '',
|
content: '',
|
||||||
notes_time: ''
|
notes_time: ''
|
||||||
})
|
})
|
||||||
|
} else { // 待办事项
|
||||||
|
if (child_index != null) {
|
||||||
|
todo_list.value[child_index].remindTime.push(0)
|
||||||
} else {
|
} else {
|
||||||
todo_list.value.push({
|
todo_list.value.push({
|
||||||
content: ''
|
content: '',
|
||||||
|
remindPeriod: 0,
|
||||||
|
frequency: '', // 用药频率
|
||||||
|
remindTime: []
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function del_ro_func(i, type) {
|
}
|
||||||
|
function del_ro_func(i, type, child_index = null) {
|
||||||
if (type === 1) {
|
if (type === 1) {
|
||||||
note_list.value.splice(i, 1)
|
note_list.value.splice(i, 1)
|
||||||
|
} else {
|
||||||
|
if (child_index != null) {
|
||||||
|
todo_list.value[i].remindTime.splice(child_index, 1)
|
||||||
} else {
|
} else {
|
||||||
todo_list.value.splice(i, 1)
|
todo_list.value.splice(i, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 图片上传
|
// 图片上传
|
||||||
const uploading_form = reactive({
|
const uploading_form = reactive({
|
||||||
uploading: false,
|
uploading: false,
|
||||||
@ -345,7 +366,7 @@ function beforeUploadImg(i) {
|
|||||||
<div>{{ scope.row.notes.length }}项</div>
|
<div>{{ scope.row.notes.length }}项</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="须知事项" min-width="150">
|
<el-table-column align="center" label="待办事项" min-width="150">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div>{{ scope.row.todos.length }}项</div>
|
<div>{{ scope.row.todos.length }}项</div>
|
||||||
</template>
|
</template>
|
||||||
@ -359,20 +380,8 @@ function beforeUploadImg(i) {
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" fixed="right" label="操作" width="200">
|
<el-table-column align="left" fixed="right" label="操作" width="200">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button icon="edit" size="small" type="primary" link @click="editFunc(scope.row)">编辑</el-button>
|
||||||
icon="edit"
|
<el-button icon="delete" size="small" type="danger" link @click="deleteFunc(scope.row)">删除</el-button>
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
link
|
|
||||||
@click="editFunc(scope.row)"
|
|
||||||
>编辑</el-button>
|
|
||||||
<el-button
|
|
||||||
icon="delete"
|
|
||||||
size="small"
|
|
||||||
type="danger"
|
|
||||||
link
|
|
||||||
@click="deleteFunc(scope.row)"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -384,8 +393,7 @@ function beforeUploadImg(i) {
|
|||||||
:total="total"
|
:total="total"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -404,7 +412,9 @@ function beforeUploadImg(i) {
|
|||||||
<div class="item-card-box" style="flex:1">
|
<div class="item-card-box" style="flex:1">
|
||||||
<div v-for="(item, i) in note_list" :key="i" class="item-card">
|
<div v-for="(item, i) in note_list" :key="i" class="item-card">
|
||||||
<div class="del-row-btn" @click="del_ro_func(i,1)">
|
<div class="del-row-btn" @click="del_ro_func(i,1)">
|
||||||
<el-icon><Close /></el-icon>
|
<el-icon>
|
||||||
|
<Close />
|
||||||
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="ic-left">{{ i + 1 }} . </div>
|
<div class="ic-left">{{ i + 1 }} . </div>
|
||||||
<div class="ic-right">
|
<div class="ic-right">
|
||||||
@ -419,10 +429,12 @@ function beforeUploadImg(i) {
|
|||||||
:show-file-list="false"
|
:show-file-list="false"
|
||||||
:on-success="handleAvatarSuccess"
|
:on-success="handleAvatarSuccess"
|
||||||
:before-upload="beforeAvatarUpload"
|
:before-upload="beforeAvatarUpload"
|
||||||
@click="beforeUploadImg(i)"
|
@click="beforeUploadImg(i)">
|
||||||
>
|
|
||||||
<div v-if="uploading_form.uploading" class="progress-box">
|
<div v-if="uploading_form.uploading" class="progress-box">
|
||||||
<el-progress class="progress-item" :percentage="uploading_form.percentage" :status="uploading_form.progressStatus" />
|
<el-progress
|
||||||
|
class="progress-item"
|
||||||
|
:percentage="uploading_form.percentage"
|
||||||
|
:status="uploading_form.progressStatus" />
|
||||||
</div>
|
</div>
|
||||||
<img v-if="item.content" :src="item.content" class="img-container">
|
<img v-if="item.content" :src="item.content" class="img-container">
|
||||||
<el-icon v-else class="avatar-uploader-icon">
|
<el-icon v-else class="avatar-uploader-icon">
|
||||||
@ -435,40 +447,78 @@ function beforeUploadImg(i) {
|
|||||||
<div class="icr-left">注意时间</div>
|
<div class="icr-left">注意时间</div>
|
||||||
<div class="icr-right">
|
<div class="icr-right">
|
||||||
<el-select v-model="item.notes_time" class="m-2" placeholder="选择注意时间" size="large">
|
<el-select v-model="item.notes_time" class="m-2" placeholder="选择注意时间" size="large">
|
||||||
<el-option
|
<el-option v-for="(item2, i) in time_options" :key="i" :label="item2" :value="item2" />
|
||||||
v-for="(item2, i) in time_options"
|
|
||||||
:key="i"
|
|
||||||
:label="item2"
|
|
||||||
:value="item2"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="add-row-btn" style="text-align: center;cursor: pointer;" @click="addRowFunc(1)">
|
<div class="add-row-btn" style="text-align: center;cursor: pointer;" @click="addRowFunc(1)">
|
||||||
<el-icon><Plus /></el-icon>
|
<el-icon>
|
||||||
|
<Plus />
|
||||||
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="须知事项" prop="notes">
|
<el-form-item label="待办事项" prop="notes">
|
||||||
<div class="item-card-box" style="flex:1">
|
<div class="item-card-box" style="flex:1">
|
||||||
<div v-for="(item, i) in todo_list" :key="i" class="item-card">
|
<div v-for="(item, i) in todo_list" :key="i" class="item-card">
|
||||||
<div class="del-row-btn" @click="del_ro_func(i,2)">
|
<div class="del-row-btn" @click="del_ro_func(i,2)">
|
||||||
<el-icon><Close /></el-icon>
|
<el-icon>
|
||||||
|
<Close />
|
||||||
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="ic-left">{{ i + 1 }} . </div>
|
<div class="ic-left">{{ i + 1 }} . </div>
|
||||||
<div class="ic-right">
|
<div class="ic-right">
|
||||||
<div class="ic-right-row">
|
<div class="ic-right-row">
|
||||||
<div class="icr-left">须知事项</div>
|
<div class="icr-left">待办事项</div>
|
||||||
<div class="icr-right">
|
<div class="icr-right">
|
||||||
<el-input v-model="item.content" autosize type="textarea" />
|
<el-input v-model="item.content" placeholder="请输入事项内容" autosize type="textarea" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ic-right-row">
|
||||||
|
<div class="icr-left">用药频率</div>
|
||||||
|
<div class="icr-right">
|
||||||
|
<el-input v-model="item.frequency" placeholder="比如一天3次 一天4次" autosize type="textarea" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ic-right-row">
|
||||||
|
<div class="icr-left">待办状态</div>
|
||||||
|
<div class="icr-right">
|
||||||
|
<el-select v-model="item.remindPeriod" placeholder="请选择待办状态">
|
||||||
|
<el-option label="手术前" :value="0" />
|
||||||
|
<el-option label="手术后" :value="1" />
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ic-right-row ic-right-row2">
|
||||||
|
<div class="icr-left">提醒时间</div>
|
||||||
|
<div class="icr-right">
|
||||||
|
<div v-for="(item_l, il) in item.remindTime" :key="il" class="loop_card">
|
||||||
|
<el-time-picker
|
||||||
|
v-model="item.remindTime[il]"
|
||||||
|
value-format="HH:mm"
|
||||||
|
placeholder="请选择时间"
|
||||||
|
style="width: 100%;position: relative;" />
|
||||||
|
<div class="del-row-btn" @click="del_ro_func(i, 2, il)">
|
||||||
|
<el-icon>
|
||||||
|
<Close />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="add-row-btn" style="text-align: center;cursor: pointer;" @click="addRowFunc(2,i)">
|
||||||
|
<el-icon>
|
||||||
|
<Plus />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="add-row-btn" style="text-align: center;cursor: pointer;" @click="addRowFunc(2)">
|
<div class="add-row-btn" style="text-align: center;cursor: pointer;" @click="addRowFunc(2)">
|
||||||
<el-icon><Plus /></el-icon>
|
<el-icon>
|
||||||
|
<Plus />
|
||||||
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -483,6 +533,16 @@ function beforeUploadImg(i) {
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.loop_card{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
position: relative;
|
||||||
|
.del-row-btn{
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ic-right-row2{
|
||||||
|
align-items: unset !important;
|
||||||
|
}
|
||||||
.progress-box{
|
.progress-box{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
Loading…
Reference in New Issue
Block a user