提交
This commit is contained in:
@@ -17,12 +17,15 @@
|
|||||||
"axios": "0.17.1",
|
"axios": "0.17.1",
|
||||||
"babel-plugin-component": "0.10.1",
|
"babel-plugin-component": "0.10.1",
|
||||||
"babel-polyfill": "6.26.0",
|
"babel-polyfill": "6.26.0",
|
||||||
|
"docx": "^9.5.1",
|
||||||
"element-ui": "^2.15.14",
|
"element-ui": "^2.15.14",
|
||||||
|
"file-saver": "^2.0.5",
|
||||||
"gulp": "4.0.2",
|
"gulp": "4.0.2",
|
||||||
"gulp-concat": "2.6.1",
|
"gulp-concat": "2.6.1",
|
||||||
"gulp-load-plugins": "2.0.5",
|
"gulp-load-plugins": "2.0.5",
|
||||||
"gulp-replace": "1.0.0",
|
"gulp-replace": "1.0.0",
|
||||||
"gulp-shell": "0.8.0",
|
"gulp-shell": "0.8.0",
|
||||||
|
"html-docx-js": "^0.3.1",
|
||||||
"lodash": "4.17.5",
|
"lodash": "4.17.5",
|
||||||
"mammoth": "^1.9.1",
|
"mammoth": "^1.9.1",
|
||||||
"node-sass": "^4.0.0",
|
"node-sass": "^4.0.0",
|
||||||
|
|||||||
@@ -1,143 +1,166 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-home" v-loading='loadAll'>
|
<div class="mod-home" v-loading="loadAll">
|
||||||
<!-- <h3>项目介绍</h3> -->
|
<!-- <h3>项目介绍</h3> -->
|
||||||
<el-row :gutter="12">
|
<el-row :gutter="12">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
待处理订单
|
待处理订单
|
||||||
<span class="number">{{orderNum}}</span>
|
<span class="number">{{ orderNum }}</span>
|
||||||
<router-link :to="{ path: '/order-buyorder', query: {} }">
|
<router-link :to="{ path: '/order-buyorder', query: {} }">
|
||||||
<el-button type="primary" size="mini">去处理</el-button>
|
<el-button type="primary" size="mini">去处理</el-button>
|
||||||
</router-link>
|
</router-link>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-card shadow="hover">
|
||||||
|
待处理工单/ 反馈
|
||||||
|
<span class="number">{{ workOrderNum }}</span>
|
||||||
|
<router-link :to="{ path: '/workOrder', query: {} }">
|
||||||
|
<el-button type="primary" size="mini">去处理</el-button>
|
||||||
|
</router-link>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="12" style="margin-top: 30px;" v-if="medicalNum > 0||medicalNum2>0">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-card shadow="hover">
|
||||||
|
待处理医案
|
||||||
|
<div style="display: flex;align-items: center;"> <p v-if="medicalNum > 0"><span style="color: #c97902;"> 待审核:</span><span class="number">{{ medicalNum }}</span></p>
|
||||||
|
<p v-if="medicalNum2 > 0"><span style="color: #2568d9;"> 待审批:</span>
|
||||||
|
<span class="number">{{ medicalNum2 }}</span></p><router-link :to="{ path: '/medicalrecords-medicalList', query: {} }">
|
||||||
|
<el-button type="primary" size="mini" v-if="medicalNum > 0||medicalNum2>0"
|
||||||
|
|
||||||
|
>去处理</el-button
|
||||||
|
>
|
||||||
|
</router-link></div>
|
||||||
|
|
||||||
|
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
</el-col>
|
</el-row>
|
||||||
<el-col :span="12">
|
|
||||||
<el-card shadow="hover">
|
|
||||||
待处理工单/ 反馈
|
|
||||||
<span class="number">{{workOrderNum}}</span>
|
|
||||||
<router-link :to="{ path: '/workOrder', query: {} }">
|
|
||||||
<el-button type="primary" size="mini" >去处理</el-button>
|
|
||||||
</router-link>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="12" style="margin-top: 30px;">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-card shadow="hover">
|
|
||||||
待审核医案
|
|
||||||
<span class="number">{{medicalNum}}</span>
|
|
||||||
<router-link :to="{ path: '/medicalrecords-medicalList', query: {} }">
|
|
||||||
<el-button type="primary" size="mini" v-if="medicalNum>0">去处理</el-button>
|
|
||||||
</router-link>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
medicalNum:0,
|
medicalNum: 0,
|
||||||
orderNum:0,
|
medicalNum2: 0,
|
||||||
workOrderNum:0,
|
orderNum: 0,
|
||||||
// loadAll:true,
|
workOrderNum: 0,
|
||||||
loaded:0,
|
// loadAll:true,
|
||||||
}
|
loaded: 0
|
||||||
},
|
};
|
||||||
created(){
|
},
|
||||||
this.getMedicalList()
|
created() {
|
||||||
this.getDataList()
|
this.getMedicalList();
|
||||||
this.getWorkDataList()
|
this.getDataList();
|
||||||
},
|
this.getWorkDataList();
|
||||||
methods:{
|
},
|
||||||
// 待发货列表
|
methods: {
|
||||||
getDataList() {
|
// 待发货列表
|
||||||
this.dataListLoading = true
|
getDataList() {
|
||||||
this.$http({
|
this.dataListLoading = true;
|
||||||
url: this.$http.adornUrl('/book/buyOrder/orderList'),
|
this.$http({
|
||||||
method: 'post',
|
url: this.$http.adornUrl("/book/buyOrder/orderList"),
|
||||||
data: this.$http.adornData({
|
method: "post",
|
||||||
"searchKeyWord": '',
|
data: this.$http.adornData({
|
||||||
"productName": '',
|
searchKeyWord: "",
|
||||||
"startTime": null,
|
productName: "",
|
||||||
"endTime": null,
|
startTime: null,
|
||||||
"orderStatus": 1,
|
endTime: null,
|
||||||
"pageIndex": 1,
|
orderStatus: 1,
|
||||||
"pageSize": 5,
|
pageIndex: 1,
|
||||||
})
|
pageSize: 5
|
||||||
}).then(({
|
})
|
||||||
data
|
})
|
||||||
}) => {
|
.then(({ data }) => {
|
||||||
console.log(data,'列表数据')
|
console.log(data, "列表数据");
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
// this.dataList = data.result.records
|
// this.dataList = data.result.records
|
||||||
this.orderNum = data.result.total
|
this.orderNum = data.result.total;
|
||||||
this.loaded += 1
|
this.loaded += 1;
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
|
||||||
this.$message.error('获取待处理订单错误')
|
|
||||||
})
|
})
|
||||||
},
|
.catch(e => {
|
||||||
// 获取工单列表
|
this.$message.error("获取待处理订单错误");
|
||||||
getWorkDataList() {
|
});
|
||||||
|
},
|
||||||
|
// 获取工单列表
|
||||||
|
getWorkDataList() {
|
||||||
this.$http({
|
this.$http({
|
||||||
url: this.$http.adornUrl("/common/sysFeedback/getList"),
|
url: this.$http.adornUrl("/common/sysFeedback/getList"),
|
||||||
method: "post",
|
method: "post",
|
||||||
data: this.$http.adornData({
|
data: this.$http.adornData({
|
||||||
account: "",
|
account: "",
|
||||||
type: "",
|
type: "",
|
||||||
status: "0"
|
status: "0"
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.then(({ data }) => {
|
.then(({ data }) => {
|
||||||
if (data.code == 0) {
|
if (data.code == 0) {
|
||||||
this.workOrderNum = data.res.length
|
this.workOrderNum = data.res.length;
|
||||||
this.loaded += 1
|
this.loaded += 1;
|
||||||
// console.log('_list',_list)
|
// console.log('_list',_list)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
this.$message.error("获取待处理工数量失败");
|
this.$message.error("获取待处理工数量失败");
|
||||||
// console.log("表单提交报错");
|
// console.log("表单提交报错");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 获取工单列表
|
// 获取工单列表
|
||||||
getMedicalList() {
|
getMedicalList() {
|
||||||
this.$http({
|
this.$http({
|
||||||
url: this.$http.adornUrl(
|
url: this.$http.adornUrl(
|
||||||
"/master/medicalRecords/getMedicalRecordsListCheck"
|
"/master/medicalRecords/getMedicalRecordsListCheck"
|
||||||
),
|
),
|
||||||
method: "post",
|
method: "post",
|
||||||
data: this.$http.adornData({
|
data: this.$http.adornData({
|
||||||
current: 1,
|
current: 1,
|
||||||
limit: 999999,
|
limit: 999999,
|
||||||
state: 1
|
state: 1
|
||||||
})
|
})
|
||||||
}).then(({ data }) => {
|
}).then(({ data }) => {
|
||||||
this.medicalNum = data.page.total
|
this.medicalNum = data.page.total;
|
||||||
});
|
});
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(
|
||||||
|
"/master/medicalRecords/getMedicalRecordsListCheck"
|
||||||
|
),
|
||||||
|
method: "post",
|
||||||
|
data: this.$http.adornData({
|
||||||
|
current: 1,
|
||||||
|
limit: 999999,
|
||||||
|
state: 3
|
||||||
|
})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
this.medicalNum2 = data.page.total;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed:{
|
computed: {
|
||||||
loadAll(){
|
loadAll() {
|
||||||
console.log('this.loaded',this.loaded)
|
console.log("this.loaded", this.loaded);
|
||||||
if (this.loaded == 2){
|
if (this.loaded == 2) {
|
||||||
return false
|
return false;
|
||||||
}else{
|
} else {
|
||||||
return true
|
return true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.number {
|
||||||
.number{font-size: 30px; color: #ec6452; font-weight: bold; display: inline-block; margin-right: 20px; margin-left: 20px;}
|
font-size: 30px;
|
||||||
|
color: #ec6452;
|
||||||
|
font-weight: bold;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
>
|
>
|
||||||
当前{{
|
当前{{
|
||||||
currentNode &&
|
currentNode &&
|
||||||
["wait", "false", "all", "success"].includes(currentNode.data.id)
|
["wait", "false", "all", "success",'caogao','shengpi'].includes(currentNode.data.id)
|
||||||
? "状态"
|
? "状态"
|
||||||
: "标签"
|
: "标签"
|
||||||
}}:<span
|
}}:<span
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="
|
v-if="
|
||||||
currentNode && !['wait', 'false', 'all'].includes(currentNode.data.id)
|
currentNode && !['wait', 'false', 'all','caogao','shengpi'].includes(currentNode.data.id)
|
||||||
"
|
"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="addOrUpdateHandle()"
|
@click="addOrUpdateHandle()"
|
||||||
@@ -94,7 +94,8 @@
|
|||||||
:style="
|
:style="
|
||||||
`${data.color ? `color:${data.color};font-weight:bold` : ''}`
|
`${data.color ? `color:${data.color};font-weight:bold` : ''}`
|
||||||
"
|
"
|
||||||
>{{ node.label }}</span
|
>{{ node.label }}{{ data.number?` (${data.number})`:'' }}</span
|
||||||
|
|
||||||
></span
|
></span
|
||||||
>
|
>
|
||||||
<span v-if="source == 'tags'">
|
<span v-if="source == 'tags'">
|
||||||
@@ -422,13 +423,25 @@ export default {
|
|||||||
this.addForm = {};
|
this.addForm = {};
|
||||||
// console.log(this.$refs.tree.handleClickNodes(), "当前选中节点");
|
// console.log(this.$refs.tree.handleClickNodes(), "当前选中节点");
|
||||||
console.log(node, data, "当前选中节点-----------");
|
console.log(node, data, "当前选中节点-----------");
|
||||||
this.currentNode = node;
|
if(data.id=='success'){
|
||||||
|
this.$set(this.currentNode, 'data', node.data.children[0])
|
||||||
|
|
||||||
|
|
||||||
|
console.log('this.currentNode at line 427:', this.currentNode)
|
||||||
|
data={...node.data.children[0]}
|
||||||
|
node={data:{...node.data.children[0]}}
|
||||||
|
this.$forceUpdate()
|
||||||
|
}else{
|
||||||
|
this.currentNode = node;
|
||||||
|
}
|
||||||
|
|
||||||
this.isFresh = false;
|
this.isFresh = false;
|
||||||
this.isFresh = true;
|
this.isFresh = true;
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
var form = {};
|
var form = {};
|
||||||
|
|
||||||
if (this.source == "shop") {
|
if (this.source == "shop") {
|
||||||
|
|
||||||
await this.selectShop(data);
|
await this.selectShop(data);
|
||||||
} else if (this.source == "tags") {
|
} else if (this.source == "tags") {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|||||||
@@ -168,31 +168,60 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.$http({
|
|
||||||
url: this.$http.adornUrl(
|
|
||||||
"/master/medicalRecords/getMedicalRecordsListCheck"
|
|
||||||
),
|
|
||||||
method: "post",
|
|
||||||
data: this.$http.adornData({
|
|
||||||
current: 1,
|
|
||||||
limit: 999999,
|
|
||||||
state: 1
|
|
||||||
})
|
|
||||||
}).then(({ data }) => {
|
|
||||||
if (data.page.total > 0) {
|
|
||||||
console.log("data at line 181:", data);
|
|
||||||
const h = this.$createElement;
|
|
||||||
|
|
||||||
this.$notify({
|
|
||||||
title: "待审核医案处理通知",
|
Promise.all([
|
||||||
message: h(
|
this.$http({
|
||||||
"i",
|
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"),
|
||||||
{ style: "color: teal" },
|
method: "post",
|
||||||
`待审核的共有 【${data.page.total}】 条,请及时处理!!!`
|
data: this.$http.adornData({
|
||||||
)
|
current: 1,
|
||||||
});
|
limit: 999999,
|
||||||
}
|
state: 1
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"),
|
||||||
|
method: "post",
|
||||||
|
data: this.$http.adornData({
|
||||||
|
current: 1,
|
||||||
|
limit: 999999,
|
||||||
|
state: 3
|
||||||
|
})
|
||||||
|
})
|
||||||
|
]).then(([res1, res3]) => {
|
||||||
|
const totalCheck = res1.data.page.total || 0; // 待审核
|
||||||
|
const totalApprove = res3.data.page.total || 0; // 待审批
|
||||||
|
|
||||||
|
if (totalCheck > 0 || totalApprove > 0) {
|
||||||
|
const h = this.$createElement;
|
||||||
|
const messageNodes = [];
|
||||||
|
|
||||||
|
if (totalCheck > 0) {
|
||||||
|
messageNodes.push(
|
||||||
|
h("i", {
|
||||||
|
style: "color: #c97902; display: block; margin-bottom: 4px;"
|
||||||
|
}, `待审核的共有 【${totalCheck}】 条,请及时处理!`)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (totalApprove > 0) {
|
||||||
|
messageNodes.push(
|
||||||
|
h("i", {
|
||||||
|
style: "color: #2568d9; display: block;"
|
||||||
|
}, `待审批的共有 【${totalApprove}】 条,请及时处理!`)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$notify({
|
||||||
|
title: "医案处理提醒",
|
||||||
|
message: h("div", messageNodes)
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
: type == 'add'
|
: type == 'add'
|
||||||
? '新增医案'
|
? '新增医案'
|
||||||
: `医案详情${
|
: `医案详情${
|
||||||
addCertificateForm.state == 1 ? ' ( 待审核 ) ' : ' ( 已拒绝 ) '
|
addCertificateForm.state == 1 ? ' ( 待审核 ) ' : addCertificateForm.state == 3?' ( 审批 ) ':' ( 已拒绝 ) '
|
||||||
}`
|
}`
|
||||||
}`
|
}`
|
||||||
"
|
"
|
||||||
@@ -609,14 +609,14 @@
|
|||||||
:clearable="true"
|
:clearable="true"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
|
||||||
<el-checkbox
|
<!-- <el-checkbox
|
||||||
:true-label="1"
|
:true-label="1"
|
||||||
:false-label="0"
|
:false-label="0"
|
||||||
v-model="addCertificateForm.train"
|
v-model="addCertificateForm.train"
|
||||||
style="margin-top: 20px;"
|
style="margin-top: 20px;"
|
||||||
v-if="reviewType == 'approved'"
|
v-if="reviewType == 'approved'"
|
||||||
>是否加入 Ai 训练库</el-checkbox
|
>是否加入 Ai 训练库</el-checkbox
|
||||||
>
|
> -->
|
||||||
|
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogMarkVisible = false" size="mini"
|
<el-button @click="dialogMarkVisible = false" size="mini"
|
||||||
|
|||||||
544
src/views/modules/medicalrecords/examine.vue
Normal file
544
src/views/modules/medicalrecords/examine.vue
Normal file
@@ -0,0 +1,544 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="!disableEdit?'审批':'审批记录'"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:visible.sync="visible"
|
||||||
|
@close="handlereset"
|
||||||
|
lock-scroll
|
||||||
|
width="750px"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
label-width="120px"
|
||||||
|
>
|
||||||
|
<el-table :data="shengpiData" stripe style="width: 100%" size="mini">
|
||||||
|
<el-table-column prop="userid" label="ID" width="180"></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="userInfo.name"
|
||||||
|
label="姓名"
|
||||||
|
width="180"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column prop="address" label="联系方式">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.userInfo.tel">{{
|
||||||
|
scope.row.userInfo.tel
|
||||||
|
}}</span>
|
||||||
|
<span v-else-if="scope.row.userInfo.email">{{
|
||||||
|
scope.row.userInfo.email
|
||||||
|
}}</span>
|
||||||
|
<span v-else>-</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="result" label="审批结果">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span
|
||||||
|
v-if="scope.row.result == 'A'"
|
||||||
|
style="color: #2bc669;font-weight: 700;font-size: 24px;"
|
||||||
|
>A</span
|
||||||
|
>
|
||||||
|
|
||||||
|
<span
|
||||||
|
v-if="scope.row.result == 'B'"
|
||||||
|
style="color: #66a3ff;font-weight: 700;font-size: 24px;"
|
||||||
|
>B</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-if="scope.row.result == 'C'"
|
||||||
|
style="color: #333333cf;font-weight: 700;font-size: 24px;"
|
||||||
|
>C</span
|
||||||
|
>
|
||||||
|
<span v-if="scope.row.userid == 10172" style="margin-left: 20px;">(其他审批意见)</span>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- <el-form-item
|
||||||
|
:label="`审批人 ( ID:${index} ) `"
|
||||||
|
prop="stateInfo"
|
||||||
|
v-for="(item, index) in shengpiList"
|
||||||
|
>
|
||||||
|
<span v-if="item == 'A'" style="color: #2bc669;font-weight: 700;">{{
|
||||||
|
item
|
||||||
|
}}</span>
|
||||||
|
<span v-if="item == 'B'" style="color: #66a3ff;font-weight: 700;">{{
|
||||||
|
item
|
||||||
|
}}</span>
|
||||||
|
<span v-if="item == 'C'" style="color: #333333cf;font-weight: 700;">{{
|
||||||
|
item
|
||||||
|
}}</span>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item
|
||||||
|
label="其他审批意见:"
|
||||||
|
prop="radio"
|
||||||
|
style="margin-top: 20px;"
|
||||||
|
v-if="!disableEdit"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="dataForm.radio">
|
||||||
|
<el-radio label="A">A</el-radio>
|
||||||
|
<el-radio label="B">B</el-radio>
|
||||||
|
<el-radio label="C">C</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="最终审批结果:"
|
||||||
|
prop="finalRadio"
|
||||||
|
style="margin-top: -10px;"
|
||||||
|
v-if="!disableEdit"
|
||||||
|
>
|
||||||
|
<el-radio-group v-model="dataForm.finalRadio">
|
||||||
|
<el-radio label="A">A</el-radio>
|
||||||
|
<el-radio label="B">B</el-radio>
|
||||||
|
<el-radio label="C">C</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="最终审批结果:"
|
||||||
|
|
||||||
|
style="margin-top: 20px;"
|
||||||
|
v-if="disableEdit"
|
||||||
|
>
|
||||||
|
<el-radio-group :value="dataForm.state">
|
||||||
|
<el-radio :label="6">A</el-radio>
|
||||||
|
<el-radio :label="5">B</el-radio>
|
||||||
|
<el-radio :label="4">C</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="handlereset" size="mini">取消</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="dataFormSubmit()"
|
||||||
|
size="mini"
|
||||||
|
v-if="!disableEdit"
|
||||||
|
>确定</el-button
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { quillEditor } from "vue-quill-editor";
|
||||||
|
import global from "@/views/common/common.vue"; //引入共用组间
|
||||||
|
|
||||||
|
import "quill/dist/quill.core.css";
|
||||||
|
import "quill/dist/quill.snow.css";
|
||||||
|
import "quill/dist/quill.bubble.css";
|
||||||
|
const toolbarOptions = [
|
||||||
|
["bold", "italic", "underline", "strike"], // 加粗,斜体,下划线,删除线
|
||||||
|
["blockquote", "code-block"], //引用,代码块
|
||||||
|
[{ header: 1 }, { header: 2 }], // 几级标题
|
||||||
|
[{ list: "ordered" }, { list: "bullet" }], // 有序列表,无序列表
|
||||||
|
[{ script: "sub" }, { script: "super" }], // 下角标,上角标
|
||||||
|
[{ indent: "-1" }, { indent: "+1" }], // 缩进
|
||||||
|
[{ direction: "rtl" }], // 文字输入方向
|
||||||
|
[{ size: ["small", false, "large", "huge"] }], // 字体大小
|
||||||
|
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
||||||
|
[{ color: [] }, { background: [] }], // 颜色选择
|
||||||
|
[
|
||||||
|
{
|
||||||
|
font: [
|
||||||
|
"SimSun",
|
||||||
|
"SimHei",
|
||||||
|
"Microsoft-YaHei",
|
||||||
|
"KaiTi",
|
||||||
|
"FangSong",
|
||||||
|
"Arial"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
], // 字体
|
||||||
|
[{ align: [] }], // 居中
|
||||||
|
["clean"], // 清除样式,
|
||||||
|
["link", "image"] // 上传图片、上传视频
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
disableEdit: false,
|
||||||
|
|
||||||
|
shengpiData: [],
|
||||||
|
shengpiList: [],
|
||||||
|
pointMemery: [], // 花生币操作记录
|
||||||
|
baseUrl: global.baseUrl,
|
||||||
|
goodsTypeList: [],
|
||||||
|
visible: false,
|
||||||
|
categorys: [],
|
||||||
|
fileList: [], // 封面图
|
||||||
|
swiperfileList: [],
|
||||||
|
dialogVisible: false,
|
||||||
|
props: {
|
||||||
|
value: "catId",
|
||||||
|
label: "name",
|
||||||
|
children: "children",
|
||||||
|
checkStrictly: true
|
||||||
|
},
|
||||||
|
dataForm: {},
|
||||||
|
bookidsd: [],
|
||||||
|
dataRule: {
|
||||||
|
radio: [
|
||||||
|
{ required: true, message: "其他审批意见不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
finalRadio: [
|
||||||
|
{ required: true, message: "最终审批结果不能为空", trigger: "blur" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// 富文本编辑器配置
|
||||||
|
editorOption: {
|
||||||
|
modules: {
|
||||||
|
history: {
|
||||||
|
delay: 1000,
|
||||||
|
maxStack: 50,
|
||||||
|
userOnly: false
|
||||||
|
},
|
||||||
|
toolbar: {
|
||||||
|
container: toolbarOptions,
|
||||||
|
handlers: {
|
||||||
|
image: function(value) {
|
||||||
|
if (value) {
|
||||||
|
// 调用element的图片上传组件
|
||||||
|
document.querySelector(".avatar-uploader input").click();
|
||||||
|
} else {
|
||||||
|
this.quill.format("image", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
placeholder: "请输入正文"
|
||||||
|
},
|
||||||
|
tagList: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getTreeList();
|
||||||
|
this.getTags();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
contentUploadSuccess(res, file) {
|
||||||
|
// console.log(res)
|
||||||
|
let quill = this.$refs.myQuillEditor.quill;
|
||||||
|
// 如果上传成功
|
||||||
|
if (res) {
|
||||||
|
// 获取光标所在位置
|
||||||
|
let length = quill.getSelection().index;
|
||||||
|
// 插入图片,res为服务器返回的图片链接地址
|
||||||
|
quill.insertEmbed(length, "image", res.url);
|
||||||
|
// 调整光标到最后
|
||||||
|
quill.setSelection(length + 1);
|
||||||
|
} else {
|
||||||
|
// 提示信息,需引入Message
|
||||||
|
this.$message.error("图片插入失败!");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCheckedCitiesChange(value) {
|
||||||
|
// console.log(value, 'value')
|
||||||
|
},
|
||||||
|
// 获取商品标签
|
||||||
|
getTags() {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl("/book/label/getLabels"),
|
||||||
|
method: "post"
|
||||||
|
}).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.tagList = data.result.labels;
|
||||||
|
// this.totalPage = data.page.totalCount
|
||||||
|
} else {
|
||||||
|
this.tagList = [];
|
||||||
|
// this.totalPage = 0
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showChooseBook() {
|
||||||
|
// 显示图书列表
|
||||||
|
this.$emit("showchooseBookf", { bookIds: this.dataForm.Books });
|
||||||
|
// console.log('发送指令')
|
||||||
|
this.$bus.$emit("showchooseBook", { bookIds: this.dataForm.Books });
|
||||||
|
},
|
||||||
|
async initDetail(data) {
|
||||||
|
await this.init(data);
|
||||||
|
this.disableEdit = true;
|
||||||
|
},
|
||||||
|
init(data) {
|
||||||
|
this.disableEdit = false;
|
||||||
|
console.log("data at line 213:", data);
|
||||||
|
this.shengpiList = [];
|
||||||
|
this.shengpiData = [];
|
||||||
|
this.visible = true;
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
this.dataForm = { ...data };
|
||||||
|
if (data.stateInfo) {
|
||||||
|
this.shengpiList = JSON.parse(data.stateInfo);
|
||||||
|
|
||||||
|
const userRequests = Object.keys(this.shengpiList).map(userid => {
|
||||||
|
return this.$http({
|
||||||
|
url: this.$http.adornUrl(`/book/user/info/${userid}`),
|
||||||
|
method: "get",
|
||||||
|
params: this.$http.adornParams()
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
console.log("response at line 214:", response);
|
||||||
|
// 请求成功,返回用户数据
|
||||||
|
return {
|
||||||
|
userid: userid,
|
||||||
|
result: this.shengpiList[userid],
|
||||||
|
userInfo: response.data.user // 假设接口返回的是用户信息
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
// 请求失败,返回一个失败标识
|
||||||
|
return {
|
||||||
|
userid: userid,
|
||||||
|
result: this.shengpiList[userid],
|
||||||
|
userInfo: null // 失败时,用户信息为 null
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.all(userRequests).then(userInfoArray => {
|
||||||
|
this.shengpiData = userInfoArray; // 更新数据
|
||||||
|
console.log("Updated shengpiData:", this.shengpiData);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取商品类型
|
||||||
|
getGoodsTypeList() {},
|
||||||
|
// 删除图书
|
||||||
|
deliteBook(index) {
|
||||||
|
this.dataForm.Books.splice(index, 1);
|
||||||
|
sessionStorage.setItem("Books", JSON.stringify(this.dataForm.Books));
|
||||||
|
},
|
||||||
|
dealImgChange(file, fileList) {
|
||||||
|
this.dataForm.noneBtnImg = fileList.length >= this.dataForm.limitCountImg;
|
||||||
|
},
|
||||||
|
stringifyWithoutSorting(obj) {
|
||||||
|
return (
|
||||||
|
"{" +
|
||||||
|
Object.entries(obj)
|
||||||
|
.map(([key, value]) => {
|
||||||
|
// 判断值是否是对象,递归调用
|
||||||
|
return `"${key}":${
|
||||||
|
typeof value === "object"
|
||||||
|
? stringifyWithoutSorting(value)
|
||||||
|
: JSON.stringify(value)
|
||||||
|
}`;
|
||||||
|
})
|
||||||
|
.join(",") +
|
||||||
|
"}"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
// console.log(this.bookidsd,'this.bookidsd')
|
||||||
|
// return false
|
||||||
|
this.$refs["dataForm"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(
|
||||||
|
`/master/medicalRecords/editMedicalRecords`
|
||||||
|
),
|
||||||
|
|
||||||
|
method: "post",
|
||||||
|
data: this.$http.adornData({
|
||||||
|
...this.dataForm,
|
||||||
|
stateInfo: this.stringifyWithoutSorting({
|
||||||
|
...this.shengpiList,
|
||||||
|
10172: this.dataForm.radio
|
||||||
|
}),
|
||||||
|
state:
|
||||||
|
this.dataForm.finalRadio == "C"
|
||||||
|
? 4
|
||||||
|
: this.dataForm.finalRadio == "B"
|
||||||
|
? 5
|
||||||
|
: this.dataForm.finalRadio == "A"
|
||||||
|
? 6
|
||||||
|
: this.dataForm.state,
|
||||||
|
train: this.dataForm.finalRadio == "A" ? 1 : 0
|
||||||
|
})
|
||||||
|
}).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false;
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
// this.$refs['dataForm'].reset()
|
||||||
|
this.$emit("refreshDataList");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
changeTime(e) {
|
||||||
|
console.log(e);
|
||||||
|
},
|
||||||
|
getBookIds() {
|
||||||
|
// 图书ids
|
||||||
|
// console.log(this.dataForm.Books,'Books')
|
||||||
|
this.bookidsd = this.dataForm.Books.map(item => {
|
||||||
|
return item.id;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getTreeList() {
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(`/book/shopcategory/listTree`),
|
||||||
|
method: "get",
|
||||||
|
params: this.$http.adornParams()
|
||||||
|
}).then(({ data }) => {
|
||||||
|
this.categorys = data.data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handlePictureCardPreview(file) {
|
||||||
|
this.dataForm.productImages = file.url;
|
||||||
|
this.dialogVisible = true;
|
||||||
|
},
|
||||||
|
bannerHandlePicSuccess(res, file) {
|
||||||
|
// 轮播图上传成功
|
||||||
|
if (res.msg == "success") {
|
||||||
|
this.swiperfileList.push({
|
||||||
|
name: file.name,
|
||||||
|
url: res.url
|
||||||
|
});
|
||||||
|
// console.log(this.swiperfileList)
|
||||||
|
this.$message.success("上传成功");
|
||||||
|
} else {
|
||||||
|
this.$message.error("上传失败");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 字符串图片地址
|
||||||
|
getStringImgUrl() {
|
||||||
|
let arr = this.swiperfileList.map(item => item.url);
|
||||||
|
if (arr.length <= 0) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return arr.toString();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlePicSuccess(res, file) {
|
||||||
|
// console.log(res,'res')
|
||||||
|
if (res.msg == "success") {
|
||||||
|
this.dataForm.productImages = res.url;
|
||||||
|
this.fileList.push({
|
||||||
|
name: file.name,
|
||||||
|
url: res.url
|
||||||
|
});
|
||||||
|
// console.log(this.dataForm.productImages,'productImages')
|
||||||
|
this.$message.success("上传成功");
|
||||||
|
} else {
|
||||||
|
this.$message.error("上传失败");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bannerHandleRemove(file, fileList) {
|
||||||
|
// 轮播图删除操作
|
||||||
|
this.swiperfileList = fileList;
|
||||||
|
},
|
||||||
|
handleRemove(file, fileList) {
|
||||||
|
this.dataForm.productImages = "";
|
||||||
|
this.fileList = [];
|
||||||
|
this.dataForm.noneBtnImg = fileList.length >= this.dataForm.limitCountImg;
|
||||||
|
},
|
||||||
|
handlereset() {
|
||||||
|
(this.fileList = []), (this.visible = false);
|
||||||
|
this.dataForm.tagList = [];
|
||||||
|
this.dataForm.Books = [];
|
||||||
|
this.swiperfileList = [];
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
sessionStorage.setItem("Books", JSON.stringify([]));
|
||||||
|
// this.$refs['dataForm'].reset()
|
||||||
|
},
|
||||||
|
// 失去焦点事件
|
||||||
|
onEditorBlur(quill) {
|
||||||
|
// console.log('editor blur!', quill)
|
||||||
|
},
|
||||||
|
// 获得焦点事件
|
||||||
|
onEditorFocus(quill) {
|
||||||
|
//console.log('editor focus!', quill)
|
||||||
|
},
|
||||||
|
// 准备富文本编辑器
|
||||||
|
onEditorReady(quill) {
|
||||||
|
// console.log('editor ready!', quill)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
quillEditor
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$bus.$on("haveBookIds", data => {
|
||||||
|
sessionStorage.setItem("Books", JSON.stringify(data.bookIds));
|
||||||
|
// console.log('haveBookIds',data)
|
||||||
|
//console.log(data.bookIds, '收到的数据')
|
||||||
|
var newarr = [];
|
||||||
|
var ids = []; //哨兵数组
|
||||||
|
if (data.bookIds && data.bookIds.length > 0) {
|
||||||
|
ids[0] = data.bookIds[0].id;
|
||||||
|
newarr[0] = data.bookIds[0];
|
||||||
|
// console.log(ids,'ids')
|
||||||
|
// newarr.push(data.bookIds[0])
|
||||||
|
for (let index = 0; index < data.bookIds.length; index++) {
|
||||||
|
if (!ids.includes(data.bookIds[index].id)) {
|
||||||
|
// console.log(data.bookIds[index].id, 'data.bookIds[index].id')
|
||||||
|
newarr.push(data.bookIds[index]);
|
||||||
|
ids.push(data.bookIds[index].id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// console.log(newarr,'newarr',ids)
|
||||||
|
data.bookIds.length > 0
|
||||||
|
? (this.dataForm.Books = newarr)
|
||||||
|
: (this.dataForm.Books = []);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
visible: {
|
||||||
|
handler(val, oldVal) {
|
||||||
|
this.getGoodsTypeList();
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less">
|
||||||
|
// .disUoloadSty {
|
||||||
|
// .el-upload--picture-card {
|
||||||
|
// display: none;
|
||||||
|
// /* 上传按钮隐藏 */
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .el-form-item {
|
||||||
|
// /deep/ .el-form-item__label {
|
||||||
|
// font-size: 12px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
.el-uploadfeng {
|
||||||
|
.el-upload-list__item {
|
||||||
|
width: 95px;
|
||||||
|
height: 95px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-upload--picture-card {
|
||||||
|
width: 95px;
|
||||||
|
height: 95px;
|
||||||
|
line-height: 95px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.shangpin_editor .ql-editor {
|
||||||
|
height: 150px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -19,7 +19,9 @@
|
|||||||
<div
|
<div
|
||||||
class="border_box info_box"
|
class="border_box info_box"
|
||||||
v-if="
|
v-if="
|
||||||
!['wait', 'false', 'success', 'caogao'].includes(currentNode.data.id)
|
!['wait', 'false', 'success', 'caogao', 'shengpi'].includes(
|
||||||
|
currentNode.data.id
|
||||||
|
)
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
@@ -88,7 +90,8 @@
|
|||||||
>
|
>
|
||||||
( {{ currentNode.data ? currentNode.data.title : "" }} )
|
( {{ currentNode.data ? currentNode.data.title : "" }} )
|
||||||
</span>
|
</span>
|
||||||
<el-button v-if="currentNode&¤tNode.data.id=='caogao'"
|
<el-button
|
||||||
|
v-if="currentNode && currentNode.data.id == 'caogao'"
|
||||||
plain
|
plain
|
||||||
type="primary"
|
type="primary"
|
||||||
style="margin-left: 20px"
|
style="margin-left: 20px"
|
||||||
@@ -107,7 +110,7 @@
|
|||||||
<commonShop
|
<commonShop
|
||||||
v-if="isFresh"
|
v-if="isFresh"
|
||||||
:CustomEdit="true"
|
:CustomEdit="true"
|
||||||
operationWidth="100"
|
:operationWidth="currentNode.data.id == 'shengpi' ? 100 : 100"
|
||||||
:otherInfo="{
|
:otherInfo="{
|
||||||
httpType: 'raw',
|
httpType: 'raw',
|
||||||
resultValueName: 'page'
|
resultValueName: 'page'
|
||||||
@@ -124,7 +127,12 @@
|
|||||||
:isNoPaging="true"
|
:isNoPaging="true"
|
||||||
:isShowPagination="true"
|
:isShowPagination="true"
|
||||||
:isShowNewOperation="
|
:isShowNewOperation="
|
||||||
addForm.id == 'wait' || addForm.id == 'false' || addForm.id == 'caogao'? true : false
|
addForm.id == 'wait' ||
|
||||||
|
addForm.id == 'false' ||
|
||||||
|
addForm.id == 'caogao' ||
|
||||||
|
addForm.id == 'shengpi'
|
||||||
|
? true
|
||||||
|
: false
|
||||||
"
|
"
|
||||||
getAssociatedGoodsListValue="result"
|
getAssociatedGoodsListValue="result"
|
||||||
:tableColumnList="tableColumnList"
|
:tableColumnList="tableColumnList"
|
||||||
@@ -143,7 +151,7 @@
|
|||||||
:style="{
|
:style="{
|
||||||
height:
|
height:
|
||||||
currentNode.data &&
|
currentNode.data &&
|
||||||
['wait', 'false', 'success', 'caogao'].includes(
|
['wait', 'false', 'success', 'caogao', 'shengpi'].includes(
|
||||||
currentNode.data.id
|
currentNode.data.id
|
||||||
)
|
)
|
||||||
? 'calc(100vh - 200px) !important'
|
? 'calc(100vh - 200px) !important'
|
||||||
@@ -151,6 +159,7 @@
|
|||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<template slot="searchFormItem" slot-scope="slotProps">
|
<template slot="searchFormItem" slot-scope="slotProps">
|
||||||
|
<div style="width:460px;height: 30px;float: left;"></div>
|
||||||
<!-- <el-form-item
|
<!-- <el-form-item
|
||||||
label="手机号:"
|
label="手机号:"
|
||||||
prop="title"
|
prop="title"
|
||||||
@@ -253,6 +262,21 @@
|
|||||||
label="医案标题"
|
label="医案标题"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
v-if="currentNode && currentNode.data.id == 'shengpi'"
|
||||||
|
prop="title"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
label="审批结果【二审】"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope" v-if="scope.row.stateInfo">
|
||||||
|
<span
|
||||||
|
v-for="i in JSON.parse(scope.row.stateInfo)"
|
||||||
|
style="margin-left: 8px;"
|
||||||
|
>{{ i }}</span
|
||||||
|
>
|
||||||
|
</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"
|
||||||
@@ -278,7 +302,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="90"
|
<el-table-column
|
||||||
|
width="90"
|
||||||
v-if="currentNode && currentNode.data.id == 'caogao'"
|
v-if="currentNode && currentNode.data.id == 'caogao'"
|
||||||
prop="title"
|
prop="title"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
@@ -286,17 +311,22 @@
|
|||||||
label="解析状态"
|
label="解析状态"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div
|
<div>
|
||||||
|
<span style="color:rgb(23, 179, 163);" v-if="scope.row.data"
|
||||||
>
|
>已完成</span
|
||||||
<span style="color:rgb(23, 179, 163);" v-if="scope.row.data">已完成</span>
|
>
|
||||||
<span style="color:rgb(187, 187, 187);" v-else>正在解析</span>
|
<span style="color:rgb(187, 187, 187);" v-else>正在解析</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="currentNode && currentNode.data.id != 'caogao'"
|
v-if="
|
||||||
|
currentNode &&
|
||||||
|
currentNode.data.id != 'caogao' &&
|
||||||
|
currentNode.data.id != 'shengpi' &&
|
||||||
|
currentNode.data.id != 'false' &&
|
||||||
|
currentNode.data.id != 'wait'
|
||||||
|
"
|
||||||
prop="title"
|
prop="title"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -315,6 +345,7 @@
|
|||||||
</el-switch>
|
</el-switch>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="createTime"
|
prop="createTime"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
@@ -327,23 +358,72 @@
|
|||||||
<template
|
<template
|
||||||
slot="operation"
|
slot="operation"
|
||||||
slot-scope="slotProps"
|
slot-scope="slotProps"
|
||||||
v-if="addForm.id == 'wait' || addForm.id == 'false' || addForm.id == 'caogao'"
|
v-if="
|
||||||
|
addForm.id == 'wait' ||
|
||||||
|
addForm.id == 'false' ||
|
||||||
|
addForm.id == 'caogao' ||
|
||||||
|
addForm.id == 'shengpi'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-button type="text" @click="detailCourse(slotProps.row)" v-if="addForm.id == 'wait' || addForm.id == 'false'"
|
<el-button
|
||||||
|
style="color: #dd8f1b;"
|
||||||
|
type="text"
|
||||||
|
@click="detailCourse(slotProps.row)"
|
||||||
|
v-if="addForm.id == 'wait'"
|
||||||
|
>审核</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
style="color: #bbb;"
|
||||||
|
@click="detailCourse(slotProps.row)"
|
||||||
|
v-else-if="addForm.id == 'false'"
|
||||||
>详情</el-button
|
>详情</el-button
|
||||||
>
|
>
|
||||||
<div v-else-if="currentNode.data.id == 'caogao'">
|
<div v-else-if="currentNode.data.id == 'caogao'">
|
||||||
<el-button type="text" @click="handleDataFormEdit({...slotProps.row,userId:slotProps.row.userId==12301?'':slotProps.row.userId})" v-if="slotProps.row.data!=''"
|
<el-button
|
||||||
>编辑</el-button
|
type="text"
|
||||||
>
|
@click="
|
||||||
<el-button type="text"
|
handleDataFormEdit({
|
||||||
style="color: red;" @click="dataFormDelete([slotProps.row])"
|
...slotProps.row,
|
||||||
>删除</el-button
|
userId:
|
||||||
>
|
slotProps.row.userId == 12301 ? '' : slotProps.row.userId
|
||||||
|
})
|
||||||
|
"
|
||||||
|
v-if="slotProps.row.data != ''"
|
||||||
|
>编辑</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
style="color: red;"
|
||||||
|
@click="dataFormDelete([slotProps.row])"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="currentNode.data.id == 'shengpi'">
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
style="color: #5188e5;"
|
||||||
|
@click="
|
||||||
|
addOrUpdateHandle({
|
||||||
|
...slotProps.row,
|
||||||
|
|
||||||
|
})
|
||||||
|
"
|
||||||
|
v-if="slotProps.row.data != ''"
|
||||||
|
>审批</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
style="color: #606266;"
|
||||||
|
@click="detailCourse(slotProps.row)"
|
||||||
|
>详情</el-button
|
||||||
|
>
|
||||||
|
<!-- <el-button type="text"
|
||||||
|
style="color: #006699;padding: 0;" @click="generateWord(slotProps.row)">
|
||||||
|
下载
|
||||||
|
</el-button> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</commonShop>
|
</commonShop>
|
||||||
|
|
||||||
<!-- <div
|
<!-- <div
|
||||||
@@ -495,6 +575,42 @@
|
|||||||
label="医案标题"
|
label="医案标题"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="title"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
width="140"
|
||||||
|
label="医案等级"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div style="position: relative;width: 100%;height: 100%;cursor: pointer;" @click="
|
||||||
|
detailOrUpdateHandle({
|
||||||
|
...scope.row,
|
||||||
|
|
||||||
|
})
|
||||||
|
">
|
||||||
|
<span
|
||||||
|
v-if="scope.row.state == 6"
|
||||||
|
style="color: #2bc669;font-weight: 700;font-size: 24px;"
|
||||||
|
>A</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-if="scope.row.state == 5"
|
||||||
|
style="color: #66a3ff;font-weight: 700;font-size: 24px;"
|
||||||
|
>B</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-if="scope.row.state == 4"
|
||||||
|
style="color: #333333cf;font-weight: 700;font-size: 24px;"
|
||||||
|
>C</span
|
||||||
|
>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- <el-tooltip class="item" effect="dark" :content="scope.row.stateInfo" placement="top"> -->
|
||||||
|
|
||||||
|
<!-- </el-tooltip> -->
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="title"
|
prop="title"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
@@ -514,6 +630,7 @@
|
|||||||
</el-switch>
|
</el-switch>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
header-align="center"
|
header-align="center"
|
||||||
@@ -673,17 +790,19 @@
|
|||||||
<add-or-update
|
<add-or-update
|
||||||
v-if="addOrUpdateVisible"
|
v-if="addOrUpdateVisible"
|
||||||
ref="addOrUpdate"
|
ref="addOrUpdate"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="refreshDataList"
|
||||||
></add-or-update>
|
></add-or-update>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import HtmlDocx from "html-docx-js/dist/html-docx.js"; // 引入html-docx-js库
|
||||||
|
import { saveAs } from "file-saver";
|
||||||
import previewimage from "@/views/components/preview-image.vue";
|
import previewimage from "@/views/components/preview-image.vue";
|
||||||
import { quillEditor } from "vue-quill-editor";
|
import { quillEditor } from "vue-quill-editor";
|
||||||
import global from "../../common/common.vue"; //引入共用组间
|
import global from "../../common/common.vue"; //引入共用组间
|
||||||
import debounce from "lodash/debounce"; //导入lodash中的debounce
|
import debounce from "lodash/debounce"; //导入lodash中的debounce
|
||||||
import AddOrUpdate from "@/views/components/commonBookTags/bookTagsForm.vue";
|
import AddOrUpdate from "./examine.vue";
|
||||||
import addCertificate from "@/views/modules/medicalrecords/addCertificate.vue";
|
import addCertificate from "@/views/modules/medicalrecords/addCertificate.vue";
|
||||||
import commonShop from "@/views/components/commonBookTags/shopproduct.vue";
|
import commonShop from "@/views/components/commonBookTags/shopproduct.vue";
|
||||||
import commonShopTable from "@/views/components/commonBookTags/shopproductTable.vue";
|
import commonShopTable from "@/views/components/commonBookTags/shopproductTable.vue";
|
||||||
@@ -868,6 +987,47 @@ export default {
|
|||||||
this.getDataList();
|
this.getDataList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
refreshDataList() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getDataList()
|
||||||
|
if (this.$refs.commonShop) {
|
||||||
|
this.$refs.commonShop.getAssociatedGoodsList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
generateWord(data) {
|
||||||
|
// 定义HTML内容
|
||||||
|
const htmlContent = `<h1>[医案]${data.title}</h1>
|
||||||
|
|
||||||
|
|
||||||
|
${data.information}
|
||||||
|
|
||||||
|
${data.chiefComplaint}
|
||||||
|
|
||||||
|
${data.historyOfPresentIllness}
|
||||||
|
|
||||||
|
${data.pastHistory}
|
||||||
|
|
||||||
|
|
||||||
|
${data.personalAndFamilyHistory}
|
||||||
|
|
||||||
|
${data.physicaExamination}
|
||||||
|
|
||||||
|
${data.diagnosis}
|
||||||
|
${data.treatmentPlan}
|
||||||
|
${data.other ? `<h1>其他</h1><p>${data.other}</p>` : ""}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`;
|
||||||
|
|
||||||
|
// 使用 html-docx-js 将 HTML 转换为 Word 文档
|
||||||
|
const converted = HtmlDocx.asBlob(htmlContent);
|
||||||
|
|
||||||
|
// 使用 file-saver 库保存文件
|
||||||
|
saveAs(converted, `[医案]${data.title}_${data.createTime}.docx`);
|
||||||
|
},
|
||||||
changeTrainValue(status, data) {
|
changeTrainValue(status, data) {
|
||||||
this.$http({
|
this.$http({
|
||||||
url: this.$http.adornUrl("/master/medicalRecords/editMedicalRecords"),
|
url: this.$http.adornUrl("/master/medicalRecords/editMedicalRecords"),
|
||||||
@@ -886,6 +1046,8 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
refresh() {
|
refresh() {
|
||||||
|
this.getDataList();
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.commonShop.getAssociatedGoodsList();
|
this.$refs.commonShop.getAssociatedGoodsList();
|
||||||
});
|
});
|
||||||
@@ -932,6 +1094,11 @@ export default {
|
|||||||
|
|
||||||
// this.selectChange(data.id)
|
// this.selectChange(data.id)
|
||||||
},
|
},
|
||||||
|
handleDataFormExamine(data) {
|
||||||
|
console.log("data at line 472:", data);
|
||||||
|
|
||||||
|
// this.selectChange(data.id)
|
||||||
|
},
|
||||||
detailCourse(data) {
|
detailCourse(data) {
|
||||||
console.log("data at line 472:", data);
|
console.log("data at line 472:", data);
|
||||||
|
|
||||||
@@ -1113,7 +1280,7 @@ export default {
|
|||||||
// name: "audio--"
|
// name: "audio--"
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
if (!["wait", "false", "caogao"].includes(form.id)) {
|
if (!["wait", "false", "caogao", "shengpi"].includes(form.id)) {
|
||||||
await this.getDataList();
|
await this.getDataList();
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// this.$refs.commonShop.clear();
|
// this.$refs.commonShop.clear();
|
||||||
@@ -1285,6 +1452,7 @@ export default {
|
|||||||
this.$refs.tree.setCheckedKeys([0]);
|
this.$refs.tree.setCheckedKeys([0]);
|
||||||
},
|
},
|
||||||
changeCurrentNode(val) {
|
changeCurrentNode(val) {
|
||||||
|
console.log("val at line 1418:", val);
|
||||||
this.changeCurrentNode = val;
|
this.changeCurrentNode = val;
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
},
|
},
|
||||||
@@ -1332,22 +1500,6 @@ export default {
|
|||||||
this.$refs.commonShop.getDataList(type == "edit" ? form.id : "");
|
this.$refs.commonShop.getDataList(type == "edit" ? form.id : "");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
addOrUpdateHandle() {
|
|
||||||
var addform = {
|
|
||||||
children: [],
|
|
||||||
delFlag: 0,
|
|
||||||
isLast: 0,
|
|
||||||
pid: 0,
|
|
||||||
sort: 0,
|
|
||||||
title: "",
|
|
||||||
icon: ""
|
|
||||||
};
|
|
||||||
this.handleClickNodes({ data: addform }, addform, "add");
|
|
||||||
// if (!this.currentNode) {
|
|
||||||
// this.$message.error("请先选择分类");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
|
|
||||||
filterNode(value, data) {
|
filterNode(value, data) {
|
||||||
if (!value) return true;
|
if (!value) return true;
|
||||||
@@ -1643,16 +1795,77 @@ export default {
|
|||||||
children: [],
|
children: [],
|
||||||
state: 2
|
state: 2
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "审批列表",
|
||||||
|
id: "shengpi",
|
||||||
|
disabled: true,
|
||||||
|
isDisableAddChild: true,
|
||||||
|
color: "#5188e5",
|
||||||
|
bgcolor: "#edf3ff",
|
||||||
|
children: [],
|
||||||
|
state: 3
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "已完成",
|
title: "已完成",
|
||||||
id: "success",
|
id: "success",
|
||||||
isDisableAddChild: true,
|
isDisableAddChild: true,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
state: 3,
|
state: 4,
|
||||||
color: "rgb(23, 179, 163)",
|
color: "rgb(23, 179, 163)",
|
||||||
children: [...data.Medicals]
|
children: [...data.Medicals]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
if (!this.currentNode.data) {
|
||||||
|
this.$refs.commonTree.handleClickNodes(
|
||||||
|
{ data: this.treeDataList[1] },
|
||||||
|
this.treeDataList[1],
|
||||||
|
"edit"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Promise.all([
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"),
|
||||||
|
method: "post",
|
||||||
|
data: this.$http.adornData({
|
||||||
|
current: 1,
|
||||||
|
limit: 999999,
|
||||||
|
state: 1
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl("/master/medicalRecords/getMedicalRecordsListCheck"),
|
||||||
|
method: "post",
|
||||||
|
data: this.$http.adornData({
|
||||||
|
current: 1,
|
||||||
|
limit: 999999,
|
||||||
|
state: 3
|
||||||
|
})
|
||||||
|
})
|
||||||
|
]).then(([res1, res3]) => {
|
||||||
|
const totalCheck = res1.data.page.total || 0; // 待审核
|
||||||
|
const totalApprove = res3.data.page.total || 0; // 待审批
|
||||||
|
|
||||||
|
if (totalCheck > 0 ) {
|
||||||
|
this.$set(this.treeDataList[1],'number',totalCheck);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
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 {
|
||||||
@@ -1676,14 +1889,20 @@ export default {
|
|||||||
// 多选
|
// 多选
|
||||||
selectionChangeHandle(val) {
|
selectionChangeHandle(val) {
|
||||||
this.dataListSelections = val;
|
this.dataListSelections = val;
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addOrUpdateHandle(row) {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(row);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
detailOrUpdateHandle(row) {
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.initDetail(row);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
// // 新增 / 修改
|
|
||||||
// addOrUpdateHandle(row) {
|
|
||||||
// this.addOrUpdateVisible = true;
|
|
||||||
// this.$nextTick(() => {
|
|
||||||
// this.$refs.addOrUpdate.init(row);
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<div class="title_box" style="margin-bottom: 10px; height: 40px">
|
<div class="title_box" style="margin-bottom: 10px; height: 40px">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span class="line"></span>审核人员列表
|
<span class="line"></span>审核人员列表
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
plain
|
plain
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -103,7 +104,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
|
||||||
prop="toSociologySort"
|
prop="toSociologySort"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -119,14 +120,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
prop="title"
|
prop="title"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
align="center"
|
align="center"
|
||||||
label="审核医案"
|
label="审核医案"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
-->
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
prop="createTime"
|
prop="createTime"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
@@ -1198,7 +1199,10 @@ export default {
|
|||||||
console.log("🚀 ~ getDataList ~ data:", data);
|
console.log("🚀 ~ getDataList ~ data:", data);
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.treeDataList = [...data.Medicals];
|
this.treeDataList = [...data.Medicals];
|
||||||
|
if(!this.currentNode.data){
|
||||||
|
|
||||||
|
this.$refs.commonTree.handleClickNodes({ data: this.treeDataList[0] }, this.treeDataList[0], "edit");
|
||||||
|
}
|
||||||
// this.treeDataList = data.labelList;
|
// this.treeDataList = data.labelList;
|
||||||
// this.totalPage = data.page.totalCount
|
// this.totalPage = data.page.totalCount
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user