This commit is contained in:
2025-08-08 17:36:09 +08:00
parent 348f6969c1
commit 27909c5231
6 changed files with 347 additions and 161 deletions

View File

@@ -460,7 +460,7 @@ export default {
// 获取关联数据列表 // 获取关联数据列表
async getAssociatedGoodsList() { async getAssociatedGoodsList() {
this.$emit("changeStatisticsQuery");
this.isDisableOperate = false; this.isDisableOperate = false;
console.log("🚀 ~ getAssociatedGoodsList ~ form:11111", form); console.log("🚀 ~ getAssociatedGoodsList ~ form:11111", form);

View File

@@ -7,7 +7,7 @@
> >
当前{{ 当前{{
currentNode && currentNode &&
["wait", "false", "all", "success",'caogao','shengpi'].includes(currentNode.data.id) ["wait", "false", "all", "success",'caogao','shengpi','shengpi1'].includes(currentNode.data.id)
? "状态" ? "状态"
: "标签" : "标签"
}}<span }}<span
@@ -24,7 +24,7 @@
</p> </p>
<el-button <el-button
v-if=" v-if="
currentNode && !['wait', 'false', 'all','caogao','shengpi'].includes(currentNode.data.id) currentNode && !['wait', 'false', 'all','caogao','shengpi','shengpi1'].includes(currentNode.data.id)
" "
type="primary" type="primary"
@click="addOrUpdateHandle()" @click="addOrUpdateHandle()"

View File

@@ -8,7 +8,11 @@
: type == 'add' : type == 'add'
? '新增医案' ? '新增医案'
: `医案详情${ : `医案详情${
addCertificateForm.state == 1 ? ' ( 待审核 ) ' : addCertificateForm.state == 3?' ( 审批 ) ':' ( 已拒绝 ) ' addCertificateForm.state == 1
? ' ( 待审核 ) '
: addCertificateForm.state == 3
? ` ( ${currentNode.data.title} ) `
: ' ( 已拒绝 ) '
}` }`
}` }`
" "
@@ -19,6 +23,8 @@
custom-class="yianDrawer" custom-class="yianDrawer"
size="1200px" size="1200px"
> >
<el-button type="primary" @click="copyToWord" style="padding:4px 8px;margin-left: 20px;" v-if="currentNode.data.id=='shengpi1'||currentNode.data.id=='shengpi'">复制医案</el-button>
<div <div
v-if="dialogVisible" v-if="dialogVisible"
style="padding: 0 20px;box-sizing: border-box;height: calc(100% - 40px);overflow-y: auto;" style="padding: 0 20px;box-sizing: border-box;height: calc(100% - 40px);overflow-y: auto;"
@@ -31,36 +37,47 @@
` `
" "
> >
<div style="width:300px !important;float:right;background:#fafafa" v-if="markList.length>0"> <div
<el-timeline style="padding-left:10px;margin-top:14px" :reverse="true"> style="width:300px !important;float:right;background:#fafafa"
<el-timeline-item v-if="markList.length > 0"
v-for="(activity, index) in markList" >
:key="index" <el-timeline
:timestamp="activity.time" style="padding-left:10px;margin-top:14px"
:reverse="true"
> >
<p style="font-size:12px;color:#f56c6c;margin:0;margin-bottom:4px" v-if="activity.state == 2" <el-timeline-item
>已拒绝</p v-for="(activity, index) in markList"
:key="index"
:timestamp="activity.time"
> >
<p style="font-size:12px;color:#17b3a3;margin:0;margin-bottom:4px" v-if="activity.state == 3" <p
>已通过</p style="font-size:12px;color:#f56c6c;margin:0;margin-bottom:4px"
> v-if="activity.state == 2"
{{ activity.mark }} >
已拒绝
</p>
<p
style="font-size:12px;color:#17b3a3;margin:0;margin-bottom:4px"
v-if="activity.state == 3"
>
已通过
</p>
{{ activity.mark }}
</el-timeline-item>
</el-timeline>
</div>
<div
</el-timeline-item> class="medical_box"
</el-timeline> :style="
</div> `
${markList.length > 0 ? 'width:calc(100% - 320px);float:left' : ''}
<div class="medical_box" :style="
`
${
markList.length>0? 'width:calc(100% - 320px);float:left' : ''
}
` `
"> "
>
<!-- 触发按钮 --> <!-- 触发按钮 -->
<p <p
style="cursor: pointer;margin: 0;margin-bottom: 10px;" style="cursor: pointer;margin: 0;margin-bottom: 10px;"
@@ -396,7 +413,10 @@
label-width="110px" label-width="110px"
class="form_item" class="form_item"
> >
<div style="padding-top: 15px;"> <div style="padding-top: 15px;" id="copy-box">
<h1 style="position: absolute;top: -200000px;">
{{ addCertificateForm.title }}
</h1>
<div <div
v-for="(html, key) in record" v-for="(html, key) in record"
:key="key" :key="key"
@@ -428,7 +448,9 @@
" "
></div> ></div>
</div> </div>
<div style="position: absolute;top: -200000px;" v-if="addCertificateForm.img">
<p><img :src="v" alt="" v-for="(v,i) in addCertificateForm.img.split(',')" width="250" /></p>
</div>
<!-- <h3 style="margin-top: 40px;">✅ 保存后的结果JSON 格式预览)</h3> --> <!-- <h3 style="margin-top: 40px;">✅ 保存后的结果JSON 格式预览)</h3> -->
</div> </div>
<!-- <quill-editor <!-- <quill-editor
@@ -482,11 +504,11 @@
/> />
<span class="el-upload-list__item-actions"> <span class="el-upload-list__item-actions">
<span <span
class="el-upload-list__item-preview" class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)" @click="handlePictureCardPreview(file)"
> >
<i class="el-icon-zoom-in"></i> <i class="el-icon-zoom-in"></i>
</span> </span>
<span <span
v-if="!disabled" v-if="!disabled"
@@ -631,12 +653,8 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="dialogVisibleImg" :append-to-body="true"> <el-dialog :visible.sync="dialogVisibleImg" :append-to-body="true">
<img <img width="100%" :src="dataForm.productImages" alt="" />
width="100%" </el-dialog>
:src="dataForm.productImages"
alt=""
/>
</el-dialog>
</div> </div>
</template> </template>
@@ -684,7 +702,7 @@ export default {
props: ["data", "pageType", "dataInfo", "labelId", "currentNode"], props: ["data", "pageType", "dataInfo", "labelId", "currentNode"],
data() { data() {
return { return {
dataForm:{}, dataForm: {},
isShowWord: false, isShowWord: false,
imagePreviews: false, imagePreviews: false,
record: {}, record: {},
@@ -791,6 +809,18 @@ export default {
// this.getDataList(); // this.getDataList();
}, },
methods: { methods: {
copyToWord() {
let source = document.getElementById("copy-box"); // 获取样式文本所在的容器元素 或者你可以用$refs
let range = document.createRange(); // 创建一个范围对象
let selection = window.getSelection(); // 获取当前选区
range.selectNodeContents(source); // 将source容器中的所有内容插入范围对象
selection.removeAllRanges(); // 先清除选区内容
selection.addRange(range); // 将范围对象添加到选区
document.execCommand("copy"); // 执行浏览器复制操作
selection.removeAllRanges(); // 清除选区内容
this.$message.success("复制成功");
},
selectLabelId(value) { selectLabelId(value) {
// value 是选中的 id 数组 // value 是选中的 id 数组
const getTitle = (options, valuePath) => { const getTitle = (options, valuePath) => {
@@ -1024,7 +1054,7 @@ export default {
physicaExamination: "<h1>体格检查</h1>", physicaExamination: "<h1>体格检查</h1>",
diagnosis: "<h1>诊断</h1>", diagnosis: "<h1>诊断</h1>",
treatmentPlan: "<h1>治疗和后续治疗</h1>", treatmentPlan: "<h1>治疗和后续治疗</h1>",
treatmentPlan: "<h1>其他</h1>" other: "<h1>其他</h1>"
}; };
this.isEdit = type == "edit" || type == "add" ? true : false; this.isEdit = type == "edit" || type == "add" ? true : false;
if (type == "add") { if (type == "add") {
@@ -1061,7 +1091,10 @@ export default {
diagnosis: data.diagnosis ? data.diagnosis : recordData.diagnosis, diagnosis: data.diagnosis ? data.diagnosis : recordData.diagnosis,
treatmentPlan: data.treatmentPlan treatmentPlan: data.treatmentPlan
? data.treatmentPlan ? data.treatmentPlan
: recordData.treatmentPlan : recordData.treatmentPlan,
other: data.other
? data.other
: recordData.other
}; };
} }
@@ -1085,7 +1118,7 @@ export default {
} }
if (this.addCertificateForm.mark) { if (this.addCertificateForm.mark) {
this.markList = JSON.parse(this.addCertificateForm.mark); this.markList = JSON.parse(this.addCertificateForm.mark);
this.addCertificateForm.mark='' this.addCertificateForm.mark = "";
} }
} else { } else {
this.addCertificateForm = {}; this.addCertificateForm = {};
@@ -1115,7 +1148,6 @@ export default {
this.dialogVisible = true; this.dialogVisible = true;
}, },
handleReviewSave() { handleReviewSave() {
var recordData = { ...this.record }; var recordData = { ...this.record };
// for (const key in recordData) { // for (const key in recordData) {
// const titleHtml = this.getTitleHtml(recordData[key]); // const titleHtml = this.getTitleHtml(recordData[key]);
@@ -1191,7 +1223,7 @@ export default {
// approved 通过 // approved 通过
// rejected 拒绝 // rejected 拒绝
this.addCertificateForm.mark='' this.addCertificateForm.mark = "";
this.reviewType = type; this.reviewType = type;
this.dialogMarkVisible = true; this.dialogMarkVisible = true;
}, },
@@ -1617,7 +1649,7 @@ this.addCertificateForm.mark=''
console.log("options", this.options); console.log("options", this.options);
// this.getCate(val) // this.getCate(val)
}, },
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dataForm.productImages = file.url; this.dataForm.productImages = file.url;
this.dialogVisibleImg = true; this.dialogVisibleImg = true;
}, },
@@ -1641,14 +1673,14 @@ this.addCertificateForm.mark=''
margin-bottom: 15px; margin-bottom: 15px;
} }
/deep/.el-upload-list--picture-card .el-upload-list__item { /deep/.el-upload-list--picture-card .el-upload-list__item {
width:80px !important; width: 80px !important;
height:80px !important; height: 80px !important;
line-height:80px !important; line-height: 80px !important;
} }
/deep/.el-upload--picture-card { /deep/.el-upload--picture-card {
width:80px !important; width: 80px !important;
height:80px !important; height: 80px !important;
line-height:80px !important; line-height: 80px !important;
} }
} }
/deep/.yianDrawer header { /deep/.yianDrawer header {
@@ -1658,14 +1690,14 @@ this.addCertificateForm.mark=''
min-height: 120px !important; min-height: 120px !important;
} }
/deep/.custom-upload .el-upload--picture-card { /deep/.custom-upload .el-upload--picture-card {
width:80px !important; width: 80px !important;
height:80px !important; height: 80px !important;
line-height:80px !important; line-height: 80px !important;
} }
/deep/.custom-upload .el-upload-list--picture-card .el-upload-list__item { /deep/.custom-upload .el-upload-list--picture-card .el-upload-list__item {
width:80px !important; width: 80px !important;
height:80px !important; height: 80px !important;
line-height:80px !important; line-height: 80px !important;
} }
/deep/.custom-upload-box .el-form-item__label { /deep/.custom-upload-box .el-form-item__label {
line-height: 60px !important; line-height: 60px !important;

View File

@@ -19,7 +19,12 @@
prop="userInfo.name" prop="userInfo.name"
label="姓名" label="姓名"
width="180" width="180"
></el-table-column> >
<template slot-scope="scope">
{{ scope.row.userInfo.name?scope.row.userInfo.name:'-' }}
</template>
</el-table-column>
<el-table-column prop="address" label="联系方式"> <el-table-column prop="address" label="联系方式">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.userInfo.tel">{{ <span v-if="scope.row.userInfo.tel">{{
@@ -49,7 +54,7 @@
style="color: #333333cf;font-weight: 700;font-size: 24px;" style="color: #333333cf;font-weight: 700;font-size: 24px;"
>C</span >C</span
> >
<span v-if="scope.row.userid == 10172" style="margin-left: 20px;">(其他审批意见)</span> <span v-if="scope.row.userid == 10175" style="margin-left: 20px;">(其他审批意见)</span>
</template> </template>
</el-table-column> </el-table-column>
@@ -81,7 +86,8 @@
<el-radio label="C">C</el-radio> <el-radio label="C">C</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item <template v-if="detailType!='disableShowFinal'">
<el-form-item
label="最终审批结果:" label="最终审批结果:"
prop="finalRadio" prop="finalRadio"
style="margin-top: -10px;" style="margin-top: -10px;"
@@ -104,7 +110,9 @@
<el-radio :label="5">B</el-radio> <el-radio :label="5">B</el-radio>
<el-radio :label="4">C</el-radio> <el-radio :label="4">C</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</template>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handlereset" size="mini">取消</el-button> <el-button @click="handlereset" size="mini">取消</el-button>
@@ -158,6 +166,7 @@ export default {
data() { data() {
return { return {
disableEdit: false, disableEdit: false,
detailType: '',
shengpiData: [], shengpiData: [],
shengpiList: [], shengpiList: [],
@@ -257,9 +266,13 @@ export default {
// console.log('发送指令') // console.log('发送指令')
this.$bus.$emit("showchooseBook", { bookIds: this.dataForm.Books }); this.$bus.$emit("showchooseBook", { bookIds: this.dataForm.Books });
}, },
async initDetail(data) { async initDetail(data,type) {
await this.init(data); await this.init(data);
this.disableEdit = true; this.disableEdit = true;
if(type=='disableShowFinal'){
this.detailType=type
}
}, },
init(data) { init(data) {
this.disableEdit = false; this.disableEdit = false;
@@ -348,7 +361,7 @@ export default {
...this.dataForm, ...this.dataForm,
stateInfo: this.stringifyWithoutSorting({ stateInfo: this.stringifyWithoutSorting({
...this.shengpiList, ...this.shengpiList,
10172: this.dataForm.radio 10175: this.dataForm.radio
}), }),
state: state:
this.dataForm.finalRadio == "C" this.dataForm.finalRadio == "C"

View File

@@ -19,9 +19,14 @@
<div <div
class="border_box info_box" class="border_box info_box"
v-if=" v-if="
!['wait', 'false', 'success', 'caogao', 'shengpi'].includes( ![
currentNode.data.id 'wait',
) 'false',
'success',
'caogao',
'shengpi',
'shengpi1'
].includes(currentNode.data.id)
" "
> >
<div class="title_box"> <div class="title_box">
@@ -110,7 +115,7 @@
<commonShop <commonShop
v-if="isFresh" v-if="isFresh"
:CustomEdit="true" :CustomEdit="true"
:operationWidth="currentNode.data.id == 'shengpi' ? 100 : 100" :operationWidth="currentNode.data.id == 'shengpi1' ? 120 : 100"
:otherInfo="{ :otherInfo="{
httpType: 'raw', httpType: 'raw',
resultValueName: 'page' resultValueName: 'page'
@@ -119,7 +124,11 @@
state: state:
currentNode && currentNode.data.state currentNode && currentNode.data.state
? currentNode.data.state ? currentNode.data.state
: '' : '',
infoCount:
currentNode && currentNode.data.infoCount
? currentNode.data.infoCount
: '',
}" }"
:pageSizes="[50, 100, 200, 300, 500, 1000]" :pageSizes="[50, 100, 200, 300, 500, 1000]"
axiosType="raw" axiosType="raw"
@@ -130,7 +139,8 @@
addForm.id == 'wait' || addForm.id == 'wait' ||
addForm.id == 'false' || addForm.id == 'false' ||
addForm.id == 'caogao' || addForm.id == 'caogao' ||
addForm.id == 'shengpi' addForm.id == 'shengpi' ||
addForm.id == 'shengpi1'
? true ? true
: false : false
" "
@@ -151,16 +161,21 @@
:style="{ :style="{
height: height:
currentNode.data && currentNode.data &&
['wait', 'false', 'success', 'caogao', 'shengpi'].includes( [
currentNode.data.id 'wait',
) 'false',
'success',
'caogao',
'shengpi',
'shengpi1'
].includes(currentNode.data.id)
? 'calc(100vh - 200px) !important' ? 'calc(100vh - 200px) !important'
: 'calc(100vh - 340px)' : 'calc(100vh - 340px)'
}" }"
> >
<template slot="searchFormItem" slot-scope="slotProps"> <template slot="searchFormItem" slot-scope="slotProps">
<div style="width:460px;height: 30px;float: left;"></div> <div style="width:460px;height: 30px;float: left;"></div>
<!-- <el-form-item <!-- <el-form-item
label="手机号:" label="手机号:"
prop="title" prop="title"
class="form_item" class="form_item"
@@ -170,12 +185,12 @@
size="small" size="small"
placeholder="请输入手机号" placeholder="请输入手机号"
style="width: 100%" style="width: 100%"
v-model="slotProps.dataForm.tel" v-model="slotProps.dataForm.infoCount"
clearable clearable
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="标题:" label="标题:"
prop="title" prop="title"
class="form_item" class="form_item"
@@ -265,6 +280,8 @@
<el-table-column <el-table-column
v-if="currentNode && currentNode.data.id == 'shengpi'" v-if="currentNode && currentNode.data.id == 'shengpi'"
prop="title" prop="title"
width="120"
header-align="center" header-align="center"
align="center" align="center"
label="审批结果【二审】" label="审批结果【二审】"
@@ -277,6 +294,27 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
v-if="currentNode && currentNode.data.id == 'shengpi1'"
prop="title"
header-align="center"
width="120"
align="center"
label="审批状态"
>
<template slot-scope="scope" >
<div v-if="scope.row.stateInfo">
<!-- <div>{{ getshengpi1UserInfo(scope.row) }}</div> -->
<div
v-for="(item,i) in JSON.parse(scope.row.stateInfo)"
style="margin-left: 8px;"
><el-tag style="line-height: 20px;height: 20px;">{{ i }}:{{item}}</el-tag></div
>
</div>
<div v-else style="color:#ff7f50">待审核员审批</div>
</template>
</el-table-column>
<el-table-column <el-table-column
v-if="currentNode && currentNode.data.id == 'caogao'" v-if="currentNode && currentNode.data.id == 'caogao'"
prop="title" prop="title"
@@ -324,6 +362,7 @@
currentNode && currentNode &&
currentNode.data.id != 'caogao' && currentNode.data.id != 'caogao' &&
currentNode.data.id != 'shengpi' && currentNode.data.id != 'shengpi' &&
currentNode.data.id != 'shengpi1' &&
currentNode.data.id != 'false' && currentNode.data.id != 'false' &&
currentNode.data.id != 'wait' currentNode.data.id != 'wait'
" "
@@ -362,7 +401,8 @@
addForm.id == 'wait' || addForm.id == 'wait' ||
addForm.id == 'false' || addForm.id == 'false' ||
addForm.id == 'caogao' || addForm.id == 'caogao' ||
addForm.id == 'shengpi' addForm.id == 'shengpi' ||
addForm.id == 'shengpi1'
" "
> >
<el-button <el-button
@@ -405,8 +445,7 @@
style="color: #5188e5;" style="color: #5188e5;"
@click=" @click="
addOrUpdateHandle({ addOrUpdateHandle({
...slotProps.row, ...slotProps.row
}) })
" "
v-if="slotProps.row.data != ''" v-if="slotProps.row.data != ''"
@@ -414,7 +453,7 @@
> >
<el-button <el-button
type="text" type="text"
style="color: #606266;" style="color: #bbb;"
@click="detailCourse(slotProps.row)" @click="detailCourse(slotProps.row)"
>详情</el-button >详情</el-button
> >
@@ -423,6 +462,32 @@
下载 下载
</el-button> --> </el-button> -->
</div> </div>
<div v-else-if="currentNode.data.id == 'shengpi1'">
<el-button
type="text"
@click="
detailOrUpdateHandle(
{
...slotProps.row
},
'disableShowFinal'
)
"
v-if="slotProps.row.data != ''"
>审批中</el-button
>
<el-button
type="text"
style="color: #bbb;"
@click="detailCourse(slotProps.row)"
>详情</el-button
>
<!-- <el-button type="text"
style="color: #006699;padding: 0;" @click="generateWord(slotProps.row)">
下载
</el-button> -->
</div>
</template> </template>
</commonShop> </commonShop>
@@ -583,31 +648,32 @@
label="医案等级" label="医案等级"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div style="position: relative;width: 100%;height: 100%;cursor: pointer;" @click=" <div
detailOrUpdateHandle({ style="position: relative;width: 100%;height: 100%;cursor: pointer;"
...scope.row, @click="
detailOrUpdateHandle({
}) ...scope.row
"> })
<span "
v-if="scope.row.state == 6"
style="color: #2bc669;font-weight: 700;font-size: 24px;"
>A</span
> >
<span <span
v-if="scope.row.state == 5" v-if="scope.row.state == 6"
style="color: #66a3ff;font-weight: 700;font-size: 24px;" style="color: #2bc669;font-weight: 700;font-size: 24px;"
>B</span >A</span
> >
<span <span
v-if="scope.row.state == 4" v-if="scope.row.state == 5"
style="color: #333333cf;font-weight: 700;font-size: 24px;" style="color: #66a3ff;font-weight: 700;font-size: 24px;"
>C</span >B</span
> >
<span
v-if="scope.row.state == 4"
style="color: #333333cf;font-weight: 700;font-size: 24px;"
>C</span
>
</div> </div>
<!-- <el-tooltip class="item" effect="dark" :content="scope.row.stateInfo" placement="top"> --> <!-- <el-tooltip class="item" effect="dark" :content="scope.row.stateInfo" placement="top"> -->
<!-- </el-tooltip> --> <!-- </el-tooltip> -->
</template> </template>
</el-table-column> </el-table-column>
@@ -630,7 +696,6 @@
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column <!-- <el-table-column
header-align="center" header-align="center"
@@ -989,7 +1054,7 @@ export default {
methods: { methods: {
refreshDataList() { refreshDataList() {
this.$nextTick(() => { this.$nextTick(() => {
this.getDataList() this.getDataList();
if (this.$refs.commonShop) { if (this.$refs.commonShop) {
this.$refs.commonShop.getAssociatedGoodsList(); this.$refs.commonShop.getAssociatedGoodsList();
} }
@@ -1015,7 +1080,7 @@ export default {
${data.diagnosis} ${data.diagnosis}
${data.treatmentPlan} ${data.treatmentPlan}
${data.other ? `<h1>其他</h1><p>${data.other}</p>` : ""} ${data.other}
@@ -1175,6 +1240,58 @@ export default {
this.$refs.commonShop.handleCheckAllChange(val); this.$refs.commonShop.handleCheckAllChange(val);
}); });
}, },
async getshengpi1UserInfo(row) {
try {
const shengpiList = JSON.parse(row.stateInfo);
const userRequests = Object.keys(shengpiList).map(userid => {
return this.$http({
url: this.$http.adornUrl(`/book/user/info/${userid}`),
method: "get",
params: this.$http.adornParams()
})
.then(response => {
return {
userid: userid,
result: shengpiList[userid],
userInfo: response.data.user
};
})
.catch(error => {
return {
userid: userid,
result: shengpiList[userid],
userInfo: null
};
});
});
// 等待所有请求完成
const userInfoArray = await Promise.all(userRequests);
// 格式化数据为需要展示的格式
const formattedData = userInfoArray.map(item => {
const name = item.userInfo ? item.userInfo.name : '未知';
const id = item.userInfo ? item.userInfo.id : '未知';
const telOrEmail = item.userInfo ? (item.userInfo.tel || item.userInfo.email) : '无';
const result = item.result;
return `${name} (${id}) - 电话/邮箱: ${telOrEmail} - Result: ${result}`;
// return {
// name: name,
// id: id,
// telOrEmail: telOrEmail,
// result: result
// };
}).join('<br>');
console.log('formattedData at line 1286:', formattedData)
return formattedData;
} catch (error) {
console.error("Error in getshengpi1UserInfo:", error);
return []; // 发生错误时返回空数组
}
}
,
clearCourse() { clearCourse() {
this.addCertificateForm.courseId = ""; this.addCertificateForm.courseId = "";
this.addCertificateForm.courseName = ""; this.addCertificateForm.courseName = "";
@@ -1280,7 +1397,9 @@ export default {
// name: "audio--" // name: "audio--"
// }); // });
// } // }
if (!["wait", "false", "caogao", "shengpi"].includes(form.id)) { if (
!["wait", "false", "caogao", "shengpi", "shengpi1"].includes(form.id)
) {
await this.getDataList(); await this.getDataList();
this.$nextTick(() => { this.$nextTick(() => {
// this.$refs.commonShop.clear(); // this.$refs.commonShop.clear();
@@ -1298,12 +1417,16 @@ export default {
}); });
} else { } else {
if (this.$refs.commonShop) { if (this.$refs.commonShop) {
this.$refs.commonShop.dataForm = { this.$refs.commonShop.dataForm = {
state: form.state state: form.state,
infoCount: form.infoCount ? form.infoCount : ""
}; };
this.$refs.commonShop.getAssociatedGoodsList( this.$refs.commonShop.getAssociatedGoodsList(
"/master/medicalRecords/getMedicalRecordsListCheck" "/master/medicalRecords/getMedicalRecordsListCheck"
); );
} }
} }
@@ -1773,7 +1896,8 @@ export default {
color: "#bbb", color: "#bbb",
bgcolor: "#f0f0f0", bgcolor: "#f0f0f0",
children: [], children: [],
state: 0 state: 0,
infoCount: 0
}, },
{ {
title: "待审核", title: "待审核",
@@ -1783,7 +1907,8 @@ export default {
color: "#dd8f1b", color: "#dd8f1b",
bgcolor: "#e6a23c47", bgcolor: "#e6a23c47",
children: [], children: [],
state: 1 state: 1,
infoCount: 0
}, },
{ {
title: "已拒绝", title: "已拒绝",
@@ -1793,17 +1918,32 @@ export default {
color: "#ff0000b3", color: "#ff0000b3",
bgcolor: "#f003", bgcolor: "#f003",
children: [], children: [],
state: 2
state: 2,
infoCount: 0
}, },
{ {
title: "审批列表", title: "二审处理中",
id: "shengpi1",
disabled: true,
isDisableAddChild: true,
color: "#FF7F50",
bgcolor: "#ff7f5030",
children: [],
state: 3,
infoCount: 0
},
{
title: "三审处理中",
id: "shengpi", id: "shengpi",
disabled: true, disabled: true,
isDisableAddChild: true, isDisableAddChild: true,
color: "#5188e5", color: "#5188e5",
bgcolor: "#edf3ff", bgcolor: "#edf3ff",
children: [], children: [],
state: 3 state: 3,
infoCount: 2
}, },
{ {
title: "已完成", title: "已完成",
@@ -1812,6 +1952,7 @@ export default {
disabled: true, disabled: true,
state: 4, state: 4,
color: "rgb(23, 179, 163)", color: "rgb(23, 179, 163)",
infoCount: 0,
children: [...data.Medicals] children: [...data.Medicals]
} }
]; ];
@@ -1823,49 +1964,39 @@ export default {
); );
} }
Promise.all([ Promise.all([
this.$http({ this.$http({
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"), url: this.$http.adornUrl(
method: "post", "/master/medicalRecords/getMedicalRecordsListCheck"
data: this.$http.adornData({ ),
current: 1, method: "post",
limit: 999999, data: this.$http.adornData({
state: 1 current: 1,
}) limit: 999999,
}), state: 1
this.$http({ })
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"), }),
method: "post", this.$http({
data: this.$http.adornData({ url: this.$http.adornUrl(
current: 1, "/master/medicalRecords/getMedicalRecordsListCheck"
limit: 999999, ),
state: 3 method: "post",
}) data: this.$http.adornData({
}) current: 1,
]).then(([res1, res3]) => { limit: 999999,
const totalCheck = res1.data.page.total || 0; // 待审核 state: 3
const totalApprove = res3.data.page.total || 0; // 待审批 })
})
]).then(([res1, res3]) => {
const totalCheck = res1.data.page.total || 0; // 待审核
const totalApprove = res3.data.page.total || 0; // 待审批
if (totalCheck > 0 ) { if (totalCheck > 0) {
this.$set(this.treeDataList[1],'number',totalCheck); this.$set(this.treeDataList[1], "number", totalCheck);
}
if (totalApprove > 0) {
this.$set(this.treeDataList[4], "number", totalApprove);
}
});
}
if (totalApprove > 0) {
this.$set(this.treeDataList[3],'number',totalApprove);
}
});
// this.treeDataList = data.labelList; // this.treeDataList = data.labelList;
// this.totalPage = data.page.totalCount // this.totalPage = data.page.totalCount
} else { } else {
@@ -1897,10 +2028,10 @@ export default {
this.$refs.addOrUpdate.init(row); this.$refs.addOrUpdate.init(row);
}); });
}, },
detailOrUpdateHandle(row) { detailOrUpdateHandle(row, type) {
this.addOrUpdateVisible = true; this.addOrUpdateVisible = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addOrUpdate.initDetail(row); this.$refs.addOrUpdate.initDetail(row, type);
}); });
} }
} }

View File

@@ -289,6 +289,7 @@ import debounce from "lodash/debounce"; //导入lodash中的debounce
export default { export default {
data() { data() {
return { return {
selecDepartmentList:[],
baseUrl: global.baseUrl, baseUrl: global.baseUrl,
dataForm: { dataForm: {
name: "", name: "",
@@ -483,6 +484,15 @@ export default {
return; return;
} }
} }
if(this.addForm.department.length==0){
this.$message({
message: "请选择科室",
type: "warning"
});
return;
}
if (this.statusType == 0) { if (this.statusType == 0) {
//如果是新增 //如果是新增
this.addCate(); this.addCate();
@@ -517,7 +527,7 @@ export default {
userId: this.addForm.userId, userId: this.addForm.userId,
name: this.addForm.name, name: this.addForm.name,
title: this.addForm.title, title: this.addForm.title,
department: department, deptLabelId: department,
specialty: this.addForm.specialty, specialty: this.addForm.specialty,
region: region, region: region,
reservation: this.addForm.reservation, reservation: this.addForm.reservation,
@@ -566,7 +576,7 @@ export default {
id: data.id, id: data.id,
name: data.name, name: data.name,
title: data.title, title: data.title,
department: department, deptLabelId: department,
specialty: data.specialty, specialty: data.specialty,
region: region ? region : data.region, region: region ? region : data.region,
reservation: data.reservation, reservation: data.reservation,
@@ -623,7 +633,7 @@ export default {
this.addForm.id = data.id; this.addForm.id = data.id;
this.addForm.name = data.name; this.addForm.name = data.name;
this.addForm.title = data.title; this.addForm.title = data.title;
this.addForm.department = data.department; this.addForm.department = data.deptLabelId;
this.addForm.specialty = data.specialty; this.addForm.specialty = data.specialty;
this.addForm.region = data.region; this.addForm.region = data.region;
this.addForm.reservation = data.reservation; this.addForm.reservation = data.reservation;