Commit d7c26631 authored by miaojiale's avatar miaojiale

Merge branch 'dev' into dev_Miaojiale

parents 2ddf1c34 6fe83cdb
...@@ -4,6 +4,14 @@ import request from "@/utils/request"; ...@@ -4,6 +4,14 @@ import request from "@/utils/request";
* 随访 * 随访
* *
* */ * */
//随访查询 列表
export function getFollowSearch(params = {}) {
return request({
url: "/disease-data/follow/search",
method: "get",
params,
});
}
//随访调查 列表 //随访调查 列表
export function getFollowSurvey(params = {}) { export function getFollowSurvey(params = {}) {
return request({ return request({
......
import request from "@/utils/request";
/**
* 审核标签
*
* */
// 获取审核意见标签
export function getSysCheckNote(params = {}) {
return request({
url: "/disease-data/sysCheckNote",
method: "get",
params,
});
}
//保存意见标签
export function postSysCheckNote(data = {}) {
return request({
url: "/disease-data/sysCheckNote",
method: "post",
data
});
}
// //修改意见标签
// export function putSysCheckNote(data = {}) {
// return request({
// url: "/disease-data/sysCheckNote",
// method: "put",
// data
// });
// }
// //删除意见标签
// export function delSysCheckNote(id) {
// return request({
// url: `/disease-data/sysCheckNote/${id}`,
// method: "delete",
// });
// }
\ No newline at end of file
...@@ -69,6 +69,15 @@ export function getPatientDetail(params = {}) { ...@@ -69,6 +69,15 @@ export function getPatientDetail(params = {}) {
}) })
} }
/* 随访患者数据详情 */
export function getFollowDetail(params = {}) {
return request({
url: "/disease-data/data/patient/follow/info",
method: "get",
params,
})
}
/* 获取表单填报记录list*/ /* 获取表单填报记录list*/
export function getRecordList(params = {}) { export function getRecordList(params = {}) {
return request({ return request({
...@@ -191,3 +200,12 @@ export function getApScoreDetailList(params = {}) { ...@@ -191,3 +200,12 @@ export function getApScoreDetailList(params = {}) {
params, params,
}) })
} }
// 获取随访计划右侧列表
export function getFollowList(params = {}) {
return request({
url: "/disease-data/data/patient/log/list",
method: "get",
params,
})
}
...@@ -196,6 +196,13 @@ export function getRefuteMessage(params) { ...@@ -196,6 +196,13 @@ export function getRefuteMessage(params) {
return request({ return request({
url: `/disease-data/sys/message/remind/${params}`, url: `/disease-data/sys/message/remind/${params}`,
method: "get", method: "get",
params, // params,
})
}
// 设置已读消息
export function setReadMessege(id) {
return request({
url: `/disease-data/sys/message/read`,
method: "put",
}) })
} }
src/assets/img/DataCenter/qrcode.png

77.5 KB | W: | H:

src/assets/img/DataCenter/qrcode.png

63.5 KB | W: | H:

src/assets/img/DataCenter/qrcode.png
src/assets/img/DataCenter/qrcode.png
src/assets/img/DataCenter/qrcode.png
src/assets/img/DataCenter/qrcode.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -62,12 +62,20 @@ ...@@ -62,12 +62,20 @@
<el-input <el-input
v-if="item.type === 'input'" v-if="item.type === 'input'"
v-model="form[item.prop]" v-model="form[item.prop]"
:class="item.prop == 'other_sickness' ? 'needlong' : ''" :class="
item.prop == 'other_sickness'
? 'needlong'
: item.readonly
? 'read-input'
: ''
"
:readonly="item.readonly" :readonly="item.readonly"
:disabled="item.disabled" :disabled="item.disabled"
:placeholder=" :placeholder="
item.placeholder || item.disabled || item.readonly
` ${item.label ? '请输入' + item.label : ''}` ? ''
: item.placeholder ||
` ${item.label ? '请输入' + item.label : ''}`
" "
:clearable="item.notClearable ? false : true" :clearable="item.notClearable ? false : true"
:maxlength=" :maxlength="
...@@ -87,12 +95,12 @@ ...@@ -87,12 +95,12 @@
@click="openToothBit" @click="openToothBit"
>{{ item.append || "牙位" }}</el-button >{{ item.append || "牙位" }}</el-button
> >
<template v-else-if="item.append" slot="append">{{ <template v-else-if="item.append" slot="append">
item.append {{ item.append }}
}}</template> </template>
<template v-if="item.prepend" slot="prepend">{{ <template v-if="item.prepend" slot="prepend">
item.prepend {{ item.prepend }}
}}</template> </template>
</el-input> </el-input>
<!-- 密码框 --> <!-- 密码框 -->
...@@ -115,12 +123,12 @@ ...@@ -115,12 +123,12 @@
" "
@blur="handleBlur" @blur="handleBlur"
> >
<template v-if="item.append" slot="append">{{ <template v-if="item.append" slot="append">
item.append {{ item.append }}
}}</template> </template>
<template v-if="item.prepend" slot="prepend">{{ <template v-if="item.prepend" slot="prepend">
item.prepend {{ item.prepend }}
}}</template> </template>
</el-input> </el-input>
<!-- 文本域 --> <!-- 文本域 -->
...@@ -172,7 +180,7 @@ ...@@ -172,7 +180,7 @@
<!-- 单选框 --> <!-- 单选框 -->
<el-radio-group <el-radio-group
v-if="item.type === 'radio'" v-if="item.type === 'radio' && !item.disabled"
v-model="form[item.prop]" v-model="form[item.prop]"
:disabled="item.disabled" :disabled="item.disabled"
@change="handleChange" @change="handleChange"
...@@ -184,6 +192,23 @@ ...@@ -184,6 +192,23 @@
>{{ opt.label }}</el-radio >{{ opt.label }}</el-radio
> >
</el-radio-group> </el-radio-group>
<!-- 单选框只读 -->
<div
v-for="(opt, optIndex) in item.dicData"
v-else-if="item.type === 'radio' && item.disabled"
:key="optIndex"
>
<el-radio
v-show="opt.value == form[item.prop]"
v-model="form[item.prop]"
:class="
item.class ? item.class : item.disabled ? 'read-radio' : ''
"
:label="opt.value"
@change="item.func ? item.func($event) : {}"
>{{ opt.label }}</el-radio
>
</div>
<!-- 多选框 --> <!-- 多选框 -->
<template v-if="item.type === 'checkbox'"> <template v-if="item.type === 'checkbox'">
...@@ -259,6 +284,7 @@ ...@@ -259,6 +284,7 @@
:value-format="item.valueFormat" :value-format="item.valueFormat"
:format="item.format" :format="item.format"
:disabled="item.disabled" :disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
style="width: 100%" style="width: 100%"
clearable clearable
@change="handleChange" @change="handleChange"
...@@ -275,14 +301,25 @@ ...@@ -275,14 +301,25 @@
:value-format="item.valueFormat" :value-format="item.valueFormat"
:format="item.format" :format="item.format"
:disabled="item.disabled" :disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
clearable clearable
@change="handleChange" @change="handleChange"
></el-time-picker> ></el-time-picker>
<!-- 日期 --> <!-- 日期 -->
<div v-else-if="item.type === 'date'" class="flex"> <div
v-else-if="item.type === 'date'"
class="flex"
:class="item.disabled ? 'read-time' : ''"
>
<el-date-picker <el-date-picker
v-model="form[item.prop]" v-model="form[item.prop]"
:placeholder="item.placeholder ? item.placeholder : '请选择'" :placeholder="
item.placeholder
? item.placeholder
: item.disabled
? ''
: '请选择'
"
:value-format="item.valueFormat" :value-format="item.valueFormat"
:format="item.format" :format="item.format"
:disabled="item.disabled" :disabled="item.disabled"
...@@ -355,9 +392,16 @@ ...@@ -355,9 +392,16 @@
v-else-if="item.type === 'datetime'" v-else-if="item.type === 'datetime'"
v-model="form[item.prop]" v-model="form[item.prop]"
type="datetime" type="datetime"
:placeholder="item.placeholder ? item.placeholder : '请选择'" :placeholder="
item.placeholder
? item.placeholder
: item.disabled
? ''
: '请选择'
"
clearable clearable
:disabled="item.disabled" :disabled="item.disabled"
:class="item.disabled ? 'read-time' : ''"
:picker-options="pickerOptions" :picker-options="pickerOptions"
:value-format="item.valueFormat" :value-format="item.valueFormat"
:format="item.format" :format="item.format"
...@@ -489,9 +533,13 @@ export default { ...@@ -489,9 +533,13 @@ export default {
this.checkboxReset() this.checkboxReset()
//! 处理医联体名称,新增直接请求,其他等union_id后再请求 //! 处理医联体名称,新增直接请求,其他等union_id后再请求
if (this.item.prop == "union_id") { if (this.item.prop == "union_id") {
console.log("倒了")
this.unionList = [] this.unionList = []
// this.getMedicalunionList() // this.getMedicalunionList()
if (this.$route.path == "/screening/add") { if (
this.$route.path == "/screening/add" ||
this.$route.path == "/screening/index"
) {
this.getMedicalunionList() this.getMedicalunionList()
} else { } else {
this.$watch( this.$watch(
...@@ -720,10 +768,30 @@ export default { ...@@ -720,10 +768,30 @@ export default {
Object.keys(dyMap).forEach((key) => { Object.keys(dyMap).forEach((key) => {
// !获取显隐目标 // !获取显隐目标
let targetItem = columns.find((_) => _.prop === key) let targetItem = columns.find((_) => _.prop === key)
if (!targetItem) { if (!targetItem) {
// !没有在表单子组件中找到,查找大表单id // !没有在表单子组件中找到,查找大表单id
targetItem = group.find((_) => _.prop === key) targetItem = group.find((_) => _.prop === key)
} }
//没有找到再细化查找
if (!targetItem) {
group.forEach((_) => {
if (_.column) {
_.column.find((item) => {
if (item.prop === key) {
targetItem = item
return
} else {
if (item.children && item.children.column) {
targetItem = item.children.column.find(
(e) => e.prop === key
)
}
}
})
}
})
}
if (!targetItem) return if (!targetItem) return
let display = false let display = false
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
{{ screeningAdvise[form[item.prop]] }} {{ screeningAdvise[form[item.prop]] }}
</span> </span>
<span v-else-if="item.prop == 'union_id'"> <span v-else-if="item.prop == 'union_id'">
{{ unionName }} {{ handleUnionName(form[item.prop]) }}
</span> </span>
<span v-else style="margin: 0 5px">{{ <span v-else style="margin: 0 5px">{{
form[item.prop] | getItemText(item.dicData, item.type) form[item.prop] | getItemText(item.dicData, item.type)
...@@ -63,6 +63,22 @@ export default { ...@@ -63,6 +63,22 @@ export default {
}, },
} }
}, },
computed: {
unionLists() {
let arr
if (sessionStorage.getItem("unionList")) {
arr = JSON.parse(sessionStorage.getItem("unionList"))
} else {
arr = []
}
return arr
},
},
methods: {
handleUnionName(v) {
return this.unionLists.filter((e) => e.id == v)[0].unionName
},
},
filters: { filters: {
getItemText(val, list, type) { getItemText(val, list, type) {
// 单选改为字符串 // 单选改为字符串
...@@ -86,8 +102,9 @@ export default { ...@@ -86,8 +102,9 @@ export default {
}, },
watch: { watch: {
unionList(v) { unionList(v) {
console.log("获取到了医联体列表", this.form[this.item.prop])
if (v.length > 0 && this.form[this.item.prop]) { if (v.length > 0 && this.form[this.item.prop]) {
// console.log("获取到了医联体列表", this.form[this.item.prop]) console.log("获取到了医联体列表", this.form[this.item.prop])
this.unionName = v.filter( this.unionName = v.filter(
(e) => e.id == this.form[this.item.prop] (e) => e.id == this.form[this.item.prop]
)[0].unionName )[0].unionName
......
...@@ -313,8 +313,8 @@ export default { ...@@ -313,8 +313,8 @@ export default {
}, },
// 绑定部分值(此时表单已渲染) // 绑定部分值(此时表单已渲染)
initfields(obj) { initfields(obj) {
console.log("通用表单",obj)
for (let k in obj) { for (let k in obj) {
console.log("通用表单",k,obj)
// if (this.form.hasOwnProperty(k)) { // if (this.form.hasOwnProperty(k)) {
this.form[k] = obj[k] this.form[k] = obj[k]
// } // }
......
...@@ -34,14 +34,13 @@ ...@@ -34,14 +34,13 @@
v-model="form[item.prop]" v-model="form[item.prop]"
:readonly="item.readonly" :readonly="item.readonly"
:disabled="item.disabled" :disabled="item.disabled"
clearable=""
:placeholder="item.placeholder" :placeholder="item.placeholder"
@focus="item.focusFunc ? item.focusFunc($event) : {}" @focus="item.focusFunc ? item.focusFunc($event) : {}"
@change="item.func ? item.func($event) : {}" @change="item.func ? item.func($event) : {}"
> >
<span v-if="item.unit" :slot="item.slot ? item.slot : 'append'"> <span v-if="item.unit" :slot="item.slot ? item.slot : 'append'">
{{ {{ item.unit }}
item.unit
}}
</span> </span>
</el-input> </el-input>
...@@ -146,7 +145,8 @@ ...@@ -146,7 +145,8 @@
:class="item.class" :class="item.class"
:label="opt.value" :label="opt.value"
@change="item.func ? item.func($event) : {}" @change="item.func ? item.func($event) : {}"
>{{ opt.label }}</el-radio> >{{ opt.label }}</el-radio
>
<!-- 级联 --> <!-- 级联 -->
<el-cascader <el-cascader
...@@ -159,7 +159,9 @@ ...@@ -159,7 +159,9 @@
></el-cascader> ></el-cascader>
<!-- 文字 --> <!-- 文字 -->
<span v-else-if="item.type === 'text'">{{ item.text ? item.text : form[item.prop] }}</span> <span v-else-if="item.type === 'text'">{{
item.text ? item.text : form[item.prop]
}}</span>
<!-- 数字输入框 --> <!-- 数字输入框 -->
<el-input-number <el-input-number
...@@ -191,7 +193,8 @@ ...@@ -191,7 +193,8 @@
:icon="btn.icon" :icon="btn.icon"
:style="btn.style" :style="btn.style"
@click="btn.func(form)" @click="btn.func(form)"
>{{ btn.btnText }}</el-button> >{{ btn.btnText }}</el-button
>
<div <div
v-if="btn.btnType == 'tobeModified'" v-if="btn.btnType == 'tobeModified'"
:key="index" :key="index"
...@@ -199,8 +202,13 @@ ...@@ -199,8 +202,13 @@
:style="{ backgroundColor: modifiedFlag ? '#4E68FF' : '#fff' }" :style="{ backgroundColor: modifiedFlag ? '#4E68FF' : '#fff' }"
@click="changeModified" @click="changeModified"
> >
<i :style="{ color: modifiedFlag ? '#fff' : '#d9d9d9' }" class="el-icon-check"></i> <i
<span :style="{ color: modifiedFlag ? '#fff' : '#000' }">待修改({{ btn.tobeModified }}</span> :style="{ color: modifiedFlag ? '#fff' : '#d9d9d9' }"
class="el-icon-check"
></i>
<span :style="{ color: modifiedFlag ? '#fff' : '#000' }"
>待修改({{ btn.tobeModified }}</span
>
</div> </div>
</template> </template>
</div> </div>
...@@ -215,7 +223,8 @@ ...@@ -215,7 +223,8 @@
:icon="btn.icon" :icon="btn.icon"
:style="btn.style" :style="btn.style"
@click="btn.func" @click="btn.func"
>{{ btn.btnText }}</el-button> >{{ btn.btnText }}</el-button
>
</el-col> </el-col>
</el-form> </el-form>
</template> </template>
...@@ -230,7 +239,7 @@ export default { ...@@ -230,7 +239,7 @@ export default {
inlineFlag: { type: Boolean, default: false }, inlineFlag: { type: Boolean, default: false },
forms: { type: Array }, // 表单组, forms: { type: Array }, // 表单组,
lists: { type: Array }, // 按钮组 lists: { type: Array }, // 按钮组
formEdit:{type: Object} formEdit: { type: Object },
}, },
data() { data() {
const form = {} const form = {}
...@@ -257,7 +266,7 @@ export default { ...@@ -257,7 +266,7 @@ export default {
methods: { methods: {
// 查询 // 查询
handleSearch() { handleSearch() {
console.log("this.form",this.form) console.log("this.form", this.form)
this.$emit("handleSearch", this.form) this.$emit("handleSearch", this.form)
}, },
...@@ -324,10 +333,10 @@ export default { ...@@ -324,10 +333,10 @@ export default {
}, },
}, },
watch: { watch: {
formEdit(val){ formEdit(val) {
this.initforms(val) this.initforms(val)
} },
} },
} }
</script> </script>
......
const mixin = { const mixin = {
data() { data() {
return { return {
total: 0, total: 0,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
pageSizes: [10, 20, 50, 100] pageSizes: [10, 20, 50, 100],
} }
},
methods: {
// 跳转页码
handleCurrentChange(val) {
this.pageIndex = val
this.handleSearch()
}, },
methods: {
// 跳转页码
handleCurrentChange(val) {
this.pageIndex = val
this.handleSearch()
},
// 切换页面显示条数 // 切换页面显示条数
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val this.pageIndex = 1
this.handleSearch() this.pageSize = val
} this.handleSearch()
} },
},
} }
export default mixin export default mixin
...@@ -23,7 +23,10 @@ ...@@ -23,7 +23,10 @@
<!-- :http-request="handleUpload" --> <!-- :http-request="handleUpload" -->
<template v-if="drag"> <template v-if="drag">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">
将文件拖到此处,或
<em>点击上传</em>
</div>
</template> </template>
<template v-else-if="listType === 'picture-card'"> <template v-else-if="listType === 'picture-card'">
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
...@@ -42,8 +45,7 @@ ...@@ -42,8 +45,7 @@
style="display: none" style="display: none"
:src="imgUrl" :src="imgUrl"
:preview-src-list="previewList" :preview-src-list="previewList"
> ></el-image>
</el-image>
</el-row> </el-row>
</template> </template>
...@@ -116,7 +118,7 @@ export default { ...@@ -116,7 +118,7 @@ export default {
return this.value.map((_) => { return this.value.map((_) => {
return ( return (
_.url || _.url ||
`https://ds.cixincloud.com/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}` `/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}`
) )
}) })
}, },
...@@ -129,7 +131,7 @@ export default { ...@@ -129,7 +131,7 @@ export default {
this.fileList = newValue.map((_) => { this.fileList = newValue.map((_) => {
return { return {
name: _.file_name, name: _.file_name,
url: `https://ds.cixincloud.com/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}`, url: `/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}`,
} }
}) })
}, },
...@@ -200,7 +202,7 @@ export default { ...@@ -200,7 +202,7 @@ export default {
let responseUrl let responseUrl
if (file.response) { if (file.response) {
const _ = file.response.data const _ = file.response.data
responseUrl = `https://ds.cixincloud.com/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}` responseUrl = `/geca-api/disease-data/file/info/${_.bucket_name}/${_.prefix}-${_.uuid_name}`
} }
try { try {
if (name.match(/\.(png|jpg|jpeg)/)) { if (name.match(/\.(png|jpg|jpeg)/)) {
......
...@@ -86,6 +86,7 @@ ...@@ -86,6 +86,7 @@
<script> <script>
import { loginRSA } from "@/config/settings" import { loginRSA } from "@/config/settings"
import { getAccessToken } from "@/utils/accessToken" import { getAccessToken } from "@/utils/accessToken"
import { mapGetters } from "vuex"
import { encrypt, decrypt } from "@/utils/encryption" import { encrypt, decrypt } from "@/utils/encryption"
export default { export default {
data() { data() {
...@@ -135,11 +136,15 @@ export default { ...@@ -135,11 +136,15 @@ export default {
}, },
], ],
}, },
allianceToken: getAccessToken(),
currentRoute: this.$route.path, currentRoute: this.$route.path,
userInfo: {}, userInfo: {},
} }
}, },
computed: {
...mapGetters({
allianceToken: ["user/accessToken"],
}),
},
watch: { watch: {
$route: { $route: {
handler(v) { handler(v) {
...@@ -147,11 +152,13 @@ export default { ...@@ -147,11 +152,13 @@ export default {
}, },
deep: true, deep: true,
}, },
allianceToken(v) {},
}, },
mounted() { mounted() {
// if (localStorage.getItem('allianceToken')) { // if (localStorage.getItem('allianceToken')) {
// this.$router.push('/datacenter/home') // this.$router.push('/datacenter/home')
// } // }
// this.allianceToken = getAccessToken()
this.userInfo = JSON.parse(localStorage.getItem("userInfo")) this.userInfo = JSON.parse(localStorage.getItem("userInfo"))
}, },
methods: { methods: {
......
...@@ -63,7 +63,7 @@ module.exports = { ...@@ -63,7 +63,7 @@ module.exports = {
//消息框消失时间 //消息框消失时间
messageDuration: 3000, messageDuration: 3000,
//最长请求时间 //最长请求时间
requestTimeout: 15000, requestTimeout: 150000,
//操作正常code //操作正常code
successCode: 1, successCode: 1,
//登录失效code //登录失效code
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</vab-keel> --> </vab-keel> -->
<transition mode="out-in" name="fade-transform"> <transition mode="out-in" name="fade-transform">
<keep-alive v-if="routerView" :include="cachedRoutes" :max="10"> <keep-alive v-if="routerView" :include="cachedRoutes" :max="10">
<router-view :key="key" style="min-height: 88vh" /> <router-view :key="key" style="min-height: 84vh" />
</keep-alive> </keep-alive>
</transition> </transition>
</section> </section>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<el-popover <el-popover
placement="top-start" placement="top-start"
width="300" width="300"
:trigger="messageCount == 0 ? 'none' : 'hover'" trigger="hover"
popper-class="message-pop" popper-class="message-pop"
> >
<div class="messageBox"> <div class="messageBox">
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div <div
class="main-text ml-8" class="main-text ml-8"
style="cursor: pointer" style="cursor: pointer"
@click="goSearch(item.bizType)" @click="goSearch(item.bizType, item.id)"
> >
{{ item.content }} {{ item.content }}
</div> </div>
...@@ -63,7 +63,17 @@ ...@@ -63,7 +63,17 @@
<div v-show="loading" v-loading="loading" class="loading"></div> <div v-show="loading" v-loading="loading" class="loading"></div>
</div> </div>
<template slot="reference"> <template slot="reference">
<el-badge :value="messageCount" :class-name="'badge'"> <el-badge
v-if="messageCount != 0"
:value="messageCount"
:class-name="'badge'"
>
<div class="user">
<img src="~@/assets/img/DataCenter/message.png" alt />
消息
</div>
</el-badge>
<el-badge v-else :class-name="'badge'">
<div class="user"> <div class="user">
<img src="~@/assets/img/DataCenter/message.png" alt /> <img src="~@/assets/img/DataCenter/message.png" alt />
消息 消息
...@@ -71,6 +81,7 @@ ...@@ -71,6 +81,7 @@
</el-badge> </el-badge>
</template> </template>
</el-popover> </el-popover>
<div class="user" @click="$router.push('/home')"> <div class="user" @click="$router.push('/home')">
<img src="~@/assets/img/DataCenter/backhome.png" alt /> <img src="~@/assets/img/DataCenter/backhome.png" alt />
<span>返回首页</span> <span>返回首页</span>
...@@ -81,7 +92,7 @@ ...@@ -81,7 +92,7 @@
<script> <script>
import { mapGetters } from "vuex" import { mapGetters } from "vuex"
import { getMessage } from "@/api/user" import { getMessage, setReadMessege } from "@/api/user"
import Message from "@/mixins/getMessage" import Message from "@/mixins/getMessage"
import { import {
Avatar, Avatar,
...@@ -147,10 +158,13 @@ export default { ...@@ -147,10 +158,13 @@ export default {
}), }),
}, },
watch: { watch: {
curSelectedIndex(v) { curSelectedIndex: {
this.messageList = [] handler(v) {
this.pageNum = 1 this.messageList = []
this.getMessage() this.pageNum = 1
this.getMessage()
},
immediate: true,
}, },
getMessageFlag(v) { getMessageFlag(v) {
if (v) { if (v) {
...@@ -164,9 +178,11 @@ export default { ...@@ -164,9 +178,11 @@ export default {
// this.getMessage() // this.getMessage()
}, },
mounted() { mounted() {
document if (document.querySelector(".messageBox")) {
.querySelector(".messageBox") document
.addEventListener("scroll", this.scrolling) .querySelector(".messageBox")
.addEventListener("scroll", this.scrolling)
}
}, },
methods: { methods: {
scrolling() { scrolling() {
...@@ -184,7 +200,14 @@ export default { ...@@ -184,7 +200,14 @@ export default {
this.getMessage() this.getMessage()
} }
}, },
goSearch(val) { goSearch(val, id) {
// 消息已读
this.messageList = []
setReadMessege().then((res) => {
if (res.code == 1) {
this.getMessage()
}
})
if (val == "screen") { if (val == "screen") {
this.$router.push("/screening/index?checkStatus=2") this.$router.push("/screening/index?checkStatus=2")
} }
...@@ -198,8 +221,9 @@ export default { ...@@ -198,8 +221,9 @@ export default {
}).then((res) => { }).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.$store.commit("user/setGetMessageFlag", false) this.$store.commit("user/setGetMessageFlag", false)
this.messageCount = res.data.total // this.messageCount = res.data.page.total
this.messageList = [...this.messageList, ...res.data.records] this.messageCount = res.data.unReadNum
this.messageList = [...this.messageList, ...res.data.page.records]
// console.log(res.data.total) // console.log(res.data.total)
} else { } else {
this.messageCount = 0 this.messageCount = 0
......
...@@ -322,15 +322,18 @@ export default { ...@@ -322,15 +322,18 @@ export default {
}, },
}, },
watch: { watch: {
curSelectedIndex(v) { curSelectedIndex: {
this.getRefuteMessage() handler(v) {
this.getRefuteMessage()
},
immediate: false,
}, },
}, },
created() { created() {
this.selectedIndex = sessionStorage.getItem("selectedIndex") || "" this.selectedIndex = sessionStorage.getItem("selectedIndex") || ""
this.curSelectedIndex = String(this.selectedIndex) ? this.selectedIndex : "" this.curSelectedIndex = String(this.selectedIndex) ? this.selectedIndex : ""
if (this.curSelectedIndex) { if (this.curSelectedIndex) {
this.getRefuteMessage() // this.getRefuteMessage()
} }
}, },
mounted() { mounted() {
...@@ -344,9 +347,9 @@ export default { ...@@ -344,9 +347,9 @@ export default {
: "" : ""
} }
// console.log(this.curSelectedIndex) // console.log(this.curSelectedIndex)
if (this.curSelectedIndex) { // if (this.curSelectedIndex) {
this.getRefuteMessage() // this.getRefuteMessage()
} // }
this.$nextTick(() => { this.$nextTick(() => {
window.addEventListener( window.addEventListener(
"storage", "storage",
...@@ -501,7 +504,6 @@ export default { ...@@ -501,7 +504,6 @@ export default {
margin-left: $base-left-menu-width; margin-left: $base-left-menu-width;
background: #f6f8f9; background: #f6f8f9;
transition: $base-transition; transition: $base-transition;
::v-deep { ::v-deep {
.nav-bar-container { .nav-bar-container {
position: relative; position: relative;
......
...@@ -32,7 +32,6 @@ const actions = { ...@@ -32,7 +32,6 @@ const actions = {
newDictSet.push(v.type) newDictSet.push(v.type)
} }
}) })
console.log('执行getDictData', commit, state)
commit("setDictSet", latestDict) commit("setDictSet", latestDict)
newDictSet = Object.keys(dictMap).length === 0 ? latestDictSet : newDictSet newDictSet = Object.keys(dictMap).length === 0 ? latestDictSet : newDictSet
// 存在新增加的字典 // 存在新增加的字典
......
...@@ -272,7 +272,7 @@ html { ...@@ -272,7 +272,7 @@ html {
border-top: 1px solid $base-border-color; border-top: 1px solid $base-border-color;
.el-form { .el-form {
padding-right: 30px; // padding-right: 30px;
} }
} }
......
...@@ -153,7 +153,7 @@ export function getInfoByIdCard(idCard, type = "birthDate") { ...@@ -153,7 +153,7 @@ export function getInfoByIdCard(idCard, type = "birthDate") {
d.getFullYear() - d.getFullYear() -
birthdays.getFullYear() - birthdays.getFullYear() -
(d.getMonth() < birthdays.getMonth() || (d.getMonth() < birthdays.getMonth() ||
(d.getMonth() == birthdays.getMonth() && d.getDate() < birthdays.getDate()) (d.getMonth() == birthdays.getMonth() && d.getDate() < birthdays.getDate())
? 1 ? 1
: 0) : 0)
...@@ -182,12 +182,12 @@ export function paramObj(url) { ...@@ -182,12 +182,12 @@ export function paramObj(url) {
} }
return JSON.parse( return JSON.parse(
'{"' + '{"' +
decodeURIComponent(search) decodeURIComponent(search)
.replace(/"/g, '\\"') .replace(/"/g, '\\"')
.replace(/&/g, '","') .replace(/&/g, '","')
.replace(/=/g, '":"') .replace(/=/g, '":"')
.replace(/\+/g, " ") + .replace(/\+/g, " ") +
'"}' '"}'
) )
} }
...@@ -489,7 +489,6 @@ export function formatDicList(list, value, connector = ",") { ...@@ -489,7 +489,6 @@ export function formatDicList(list, value, connector = ",") {
} }
}) })
} }
// console.log("字典", list, value, result)
return result return result
} }
/** /**
...@@ -523,7 +522,7 @@ export function changeTime(time) { ...@@ -523,7 +522,7 @@ export function changeTime(time) {
let seconds = Math.floor(time % 60) //秒 let seconds = Math.floor(time % 60) //秒
return `${day ? day + "" : ""} ${hours ? hours + "小时" : ""}${ return `${day ? day + "" : ""} ${hours ? hours + "小时" : ""}${
minutes ? minutes + "" : "" minutes ? minutes + "" : ""
}${seconds}秒` }${seconds}秒`
} }
export default { formatDicList, excelExport } export default { formatDicList, excelExport }
import * as PDFJS from "pdfjs-dist/build/pdf"
export async function loadPDF({ el, fileSrc, scale }, call) {
PDFJS.GlobalWorkerOptions.workerSrc = require("./pdf.worker.entry.js")
let loadingTask = await PDFJS.getDocument({
url: fileSrc,
withCredentials: true, // 允许携带cookie
})
loadingTask.promise.then((pdf) => {
// 开始加载任务
document.getElementById("pdfEle").innerHTML = ""
const renderPage = (num) => {
let pdfCol = document.querySelector(el)
// 遍历每一页PDF
pdf.getPage(num).then(async (page) => {
let viewPort = page.getViewport({ scale: scale }) // 获取PDF尺寸
let div = document.createElement("div") // 用于存放canvas
div.id = `canvasBox_${num}`
div.className = "canvas-box"
div.style.position = "relative"
div.style.width = viewPort.width + "px"
div.style.margin = "0 auto"
let canvas = document.createElement("canvas") // 创建canvas
let context = canvas.getContext("2d")
// 将canvas的宽和高设置为与PDF视图一样大小
canvas.height = viewPort.height
canvas.width = viewPort.width
// setTimeout(() => {
// // 画页码
// context.font = "14px orbitron";
// context.fillStyle = "#333";
// context.save();
// context.beginPath();
// context.line = 2;
// context.textAlign = "center";
// context.textBaseline = "middle";
// // context.fillText(`${i}`, viewPort.width / 2, viewPort.height - 30);
// context.restore();
// context.closePath();
// }, 500);
let renderContext = {
canvasContext: context,
viewport: viewPort,
}
// 该函数返回一个当PDF页面成功渲染到界面上时解析的`promise`,我们可以使用成功回调来渲染文本图层。
await page.render(renderContext) // 初始化文本图层
canvas.className = "canvas"
canvas.id = `canvas_${num}`
call({
div: div,
pdfCol: pdfCol,
canvas: canvas,
context: context,
scale: scale,
index: num,
allPage: pdf.numPages,
})
div.appendChild(canvas) // 将canvas放进对应的div中
pdfCol.appendChild(div) // 将每一个div放到外面的大盒子中
num++
if (num <= pdf.numPages) {
// console.log(num, pdf.numPages);
renderPage(num)
}
})
}
renderPage(1)
})
}
/* Copyright 2020 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(typeof window !== "undefined"
? window
: {}
).pdfjsWorker = require("./pdf.worker.js");
This diff is collapsed.
...@@ -15,7 +15,7 @@ export default { ...@@ -15,7 +15,7 @@ export default {
locate: [ locate: [
{ {
name: "安徽", name: "安徽",
value: [117.29, 32.0581, 50], value: [117.29, 32.0581, 0],
}, },
], ],
} }
...@@ -123,7 +123,7 @@ export default { ...@@ -123,7 +123,7 @@ export default {
}, },
}, },
animation: false, animation: false,
data: [{ name: "安徽省", value: 50 }], data: [{ name: "安徽省", value: 0 }],
}, },
], ],
} }
......
...@@ -7,15 +7,14 @@ ...@@ -7,15 +7,14 @@
:close-on-click-modal="true" :close-on-click-modal="true"
:close-on-press-escape="false" :close-on-press-escape="false"
:show-close="true" :show-close="true"
width="70%"
:destroy-on-close="true" :destroy-on-close="true"
top="10vh" top="2vh"
> >
<div class="innerBody"> <div class="innerBody">
<div class="title">{{ curPdf.articleTitle }}</div> <div class="title">{{ curPdf.articleTitle }}</div>
<div class="refuteList"> <div class="refuteList">
<!-- <pdf :src="pdfSrc"></pdf> --> <!-- <pdf :src="pdfSrc"></pdf> -->
<pdf-view ref="pdfView" :pdf-src="pdfSrc"></pdf-view> <pdf-view ref="pdfView" :pdfUrl="pdfSrc"></pdf-view>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
...@@ -49,23 +48,29 @@ export default { ...@@ -49,23 +48,29 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.innerBody { .innerBody {
padding: 0 60px 40px; padding: 0 50px 0px;
// width: 790px;
// height: 882px;
.title { .title {
font-size: 24px; font-size: 24px;
font-family: AlibabaPuHuiTiM; font-family: AlibabaPuHuiTiM;
color: #333333; color: #333333;
text-align: center; text-align: center;
margin-bottom: 30px; margin-bottom: 0px;
} }
.refuteList { .refuteList {
height: 600px; // height: 600px;
overflow: auto; overflow: auto;
} }
} }
</style> </style>
<style lang="scss"> <style lang="scss">
.pdfDialog .el-dialog__header { .pdfDialog {
// display: none; width: 750px;
padding: 0px !important; max-height: 858px;
.el-dialog__header {
// display: none;
padding: 0px !important;
}
} }
</style> </style>
This diff is collapsed.
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<li <li
v-for="(item, index) in noticeList" v-for="(item, index) in noticeList"
:key="index" :key="index"
title="点击查看pdf文件"
@click="setPdf(item)" @click="setPdf(item)"
> >
<div class="left"> <div class="left">
...@@ -49,13 +50,18 @@ ...@@ -49,13 +50,18 @@
:name="e.title" :name="e.title"
> >
<ul class="tabslist" style="height: 380px" :loading="listLoading"> <ul class="tabslist" style="height: 380px" :loading="listLoading">
<li v-for="(item, index) in exampleList" :key="index"> <li
v-for="(item, index) in exampleList"
:key="index"
title="点击查看pdf文件"
@click="setPdf(item)"
>
<div class="left"> <div class="left">
<div class="circle"></div> <div class="circle"></div>
{{ item.title }} {{ item.articleTitle }}
</div> </div>
<div class="right"> <div class="right">
{{ item.date }} {{ item.createTime }}
</div> </div>
</li> </li>
</ul> </ul>
...@@ -283,6 +289,7 @@ export default { ...@@ -283,6 +289,7 @@ export default {
}, },
created() { created() {
this.getArticleList("1") this.getArticleList("1")
this.getArticleList("6")
}, },
mounted() { mounted() {
this.getRankTotal() this.getRankTotal()
...@@ -322,6 +329,7 @@ export default { ...@@ -322,6 +329,7 @@ export default {
size: 10, size: 10,
current: 1, current: 1,
moduleType: moduleType, moduleType: moduleType,
status: 1,
} }
articleList(params) articleList(params)
.then((res) => { .then((res) => {
...@@ -329,6 +337,9 @@ export default { ...@@ -329,6 +337,9 @@ export default {
if (["1", "2", "3"].includes(moduleType)) { if (["1", "2", "3"].includes(moduleType)) {
this.noticeList = [...res.data.records] this.noticeList = [...res.data.records]
} }
if (["6"].includes(moduleType)) {
this.exampleList = [...res.data.records]
}
} }
}) })
.catch((e) => { .catch((e) => {
...@@ -382,7 +393,7 @@ export default { ...@@ -382,7 +393,7 @@ export default {
overflow: hidden; overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; // justify-content: space-between;
// &:hover { // &:hover {
// overflow: overlay; // overflow: overlay;
// } // }
...@@ -477,7 +488,7 @@ export default { ...@@ -477,7 +488,7 @@ export default {
// color: #4e68ff; // color: #4e68ff;
.rangeList { .rangeList {
li { li {
margin-bottom: 14px; margin-bottom: 15px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
div:nth-child(1) { div:nth-child(1) {
...@@ -517,7 +528,7 @@ export default { ...@@ -517,7 +528,7 @@ export default {
flex-wrap: wrap; flex-wrap: wrap;
li { li {
width: 40%; width: 40%;
margin-bottom: 14px; margin-bottom: 15px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
......
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
formTabsList: [], formTabsList: [],
jsonList: [], jsonList: [],
formList: {}, formList: {},
asideShow: true, asideShow: false,
screenList: [ screenList: [
{ {
time: "2020-12-12 11:11:11", time: "2020-12-12 11:11:11",
......
...@@ -148,7 +148,15 @@ export default { ...@@ -148,7 +148,15 @@ export default {
{ {
label: "风险评估", label: "风险评估",
minWidth: 120, minWidth: 120,
value: "checkNums", value: "riskRank",
formatter: (row) => {
let riskRank = {
low: "低危",
medium: "中危",
high: "高危",
}
return row.riskRank ? riskRank[row.riskRank] : "--"
},
}, },
{ {
label: "审核状态", label: "审核状态",
...@@ -190,6 +198,9 @@ export default { ...@@ -190,6 +198,9 @@ export default {
return this.auditStatus == "1" ? checkColumns : unCkeckColumns return this.auditStatus == "1" ? checkColumns : unCkeckColumns
}, },
}, },
created() {
console.log(this.dictMap)
},
mounted() { mounted() {
if ( if (
sessionStorage.getItem("audit-status") || sessionStorage.getItem("audit-status") ||
...@@ -203,7 +214,6 @@ export default { ...@@ -203,7 +214,6 @@ export default {
}, },
methods: { methods: {
handleClick() { handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus)
if (this.auditStatus == 1) { if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label = this.columns[this.columns.length - 1].operations[0].label =
"修改审核意见" "修改审核意见"
...@@ -213,12 +223,12 @@ export default { ...@@ -213,12 +223,12 @@ export default {
this.handleSearch() this.handleSearch()
}, },
auditHandle(data, i) { auditHandle(data, i) {
console.log(data, i)
if (this.type == "1") { if (this.type == "1") {
this.$router.push({ this.$router.push({
path: "/followaudit", path: "/followaudit",
query: { query: {
id: data["unionId"], unionId: data["unionId"],
unionName: data["unionName"],
}, },
}) })
} else { } else {
...@@ -268,7 +278,7 @@ export default { ...@@ -268,7 +278,7 @@ export default {
if (this.type == "0") { if (this.type == "0") {
res = await getScreeningCheck(params) //待审核 res = await getScreeningCheck(params) //待审核
} else { } else {
res = await getFollowCheck(params) //审核 res = await getFollowCheck(params) //审核
} }
break break
} }
......
...@@ -98,18 +98,21 @@ export default { ...@@ -98,18 +98,21 @@ export default {
}, },
watch: {}, watch: {},
mounted() { mounted() {
this.getPatientPage() this.handleSearch()
}, },
methods: { methods: {
setSelectedIndex(i) { setSelectedIndex(i) {
console.log(this.selectedIndex) console.log(this.selectedIndex)
this.selectedIndex = i this.selectedIndex = i
this.getPatientPage() this.pageIndex = 1
this.handleSearch()
sessionStorage.setItem("homeSelectedIndex", this.selectedIndex) sessionStorage.setItem("homeSelectedIndex", this.selectedIndex)
}, },
getPatientPage() { handleSearch() {
this.listLoading = true this.listLoading = true
let data = { let data = {
size: this.pageSize,
current: this.pageIndex,
patientFrom: this.selectedIndex == "0" ? null : this.selectedIndex, patientFrom: this.selectedIndex == "0" ? null : this.selectedIndex,
} }
getPatientPage(data).then((res) => { getPatientPage(data).then((res) => {
......
<template> <template>
<div> <div>
<el-dialog <el-dialog center :visible.sync="dialogVisible" width="40%" show-close @closed="cancelSubmit">
center
:visible.sync="dialogVisible"
width="40%"
show-close
@closed="cancelSubmit"
>
<slot name="content"></slot> <slot name="content"></slot>
<slot name="footer"></slot> <slot name="footer"></slot>
</el-dialog> </el-dialog>
......
This diff is collapsed.
<template> <template>
<!-- 随访调查录入 --> <!-- 随访调查录入 -->
<div> <div style="positon: relative">
<div class="goback" v-if="formType == 1">
<el-button icon="el-icon-back" @click="backInfoce">返 回</el-button>
</div>
<ConfigForms <ConfigForms
form-type="2" v-if="refreshFlag"
formClass="follow-form" :form-type="formType"
:disabled="false" form-class="follow-form"
:patientId="patientId" :disabled="disabled"
:tab-disabled="tabDisabled"
:get-data="getData"
:contrast="formType == 1 ? false : true"
:patient-id="patientId"
:screenList="screenList"
@refreshData="refreshData"
></ConfigForms> ></ConfigForms>
</div> </div>
</template> </template>
<script> <script>
import ConfigForms from "@/views/screening/components/ConfigForms.vue" import ConfigForms from "@/views/screening/components/ConfigForms.vue"
import { getFollowList } from "@/api/patient"
export default { export default {
name: "FollowupEntry", name: "FollowupEntry",
components: { components: {
ConfigForms, ConfigForms,
}, },
data() { data() {
return { patientId: "" } return {
disabled: false,
tabDisabled: true,
refreshFlag: true,
screenList: [
// {
// create_time: "2020-12-12 11:11:11",
// create_user_name: "",
// title: "修改第一次随访计划",
// },
],
}
}, },
created() { provide() {
this.patientId = this.$route.query.patientId return {
tabFollowId: () => this.followId,
}
},
computed: {
patientId() {
return this.$route.query.patientId
},
model() {
return this.$route.query.model
},
followId() {
return this.$route.query.followId
},
formType() {
return this.$route.query.formType
},
getData() {
return Boolean(this.$route.query.getData - 0)
},
},
mounted() {
if (this.model == "view") {
this.disabled = true
this.tabDisabled = false
} else {
this.disabled = false
this.tabDisabled = true
}
this.$nextTick(() => {
if (this.formType == 2) {
this.getFollowList()
}
})
},
methods: {
refreshData(data) {
// this.refreshFlag = false
// this.$nextTick(() => {
// this.refreshFlag = true
// })
},
backInfoce() {
this.$router.push({ path: "/followupquery", query: {} })
},
getFollowList() {
getFollowList({
patientId: this.patientId,
}).then((res) => {
// console.log(res)
if (res.code == 1) {
this.screenList = res.data || []
}
})
},
}, },
methods: {},
} }
</script> </script>
<style lang="scss"></style> <style lang="scss" scoped>
.goback {
position: absolute;
right: 24px;
top: 24px;
z-index: 99;
}
</style>
This diff is collapsed.
...@@ -28,15 +28,18 @@ ...@@ -28,15 +28,18 @@
<script> <script>
import FormComponents from "@/components/FormComponents" import FormComponents from "@/components/FormComponents"
import paginationMixin from "@/components/TabComponents/mixin" import paginationMixin from "@/components/TabComponents/mixin"
import searchMixin from "../searchMixin"
import { getCurrentFormByType } from "@/api/coop-group.js"
import { getFollowSurvey } from "@/api/followup" import { getFollowSurvey } from "@/api/followup"
import { mapGetters } from "vuex" import { mapGetters } from "vuex"
export default { export default {
components: { components: {
FormComponents, FormComponents,
}, },
mixins: [paginationMixin], mixins: [paginationMixin, searchMixin],
data() { data() {
return { return {
formId: "", //随访表单类型
listLoading: false, listLoading: false,
keyword: "", keyword: "",
modifiedFlag: false, modifiedFlag: false,
...@@ -97,10 +100,12 @@ export default { ...@@ -97,10 +100,12 @@ export default {
minWidth: 120, minWidth: 120,
value: "riskRank", value: "riskRank",
formatter: (row) => { formatter: (row) => {
return this.$handle.formatDicList( let riskRank = {
this.dictMap["risk_level"], low: "低危",
String(row.riskRank) medium: "中危",
) high: "高危",
}
return row.riskRank ? riskRank[row.riskRank] : "--"
}, },
}, },
{ {
...@@ -253,13 +258,13 @@ export default { ...@@ -253,13 +258,13 @@ export default {
}, },
computed: { computed: {
...mapGetters({ ...mapGetters({
selectedIndex: "table/selectedIndex", // selectedIndex: "table/selectedIndex",
refreshFlag: "table/refreshFlag", refreshFlag: "table/refreshFlag",
}), }),
}, },
watch: {}, watch: {},
created() { created() {
// this.initColumn() this.initSearchForm()
}, },
mounted() { mounted() {
this.handleSearch() //调试注释 this.handleSearch() //调试注释
...@@ -283,7 +288,13 @@ export default { ...@@ -283,7 +288,13 @@ export default {
console.log("跳转", data, i) console.log("跳转", data, i)
sessionStorage.setItem("formEdit", JSON.stringify(data)) sessionStorage.setItem("formEdit", JSON.stringify(data))
this.$router.push({ this.$router.push({
path: `/followupentry?patientId=${data.patientId}`, path: `/followupentry`,
query: {
patientId: data.patientId,
getData: 0,
formType: "2",
model: "add",
},
}) })
}, },
async handleSearch() { async handleSearch() {
...@@ -305,13 +316,19 @@ export default { ...@@ -305,13 +316,19 @@ export default {
} }
this.listLoading = false this.listLoading = false
}, },
// initColumn(){ //查询表单枚举值字典
// this.columns.forEach((item,index) => { initSearchForm() {
// if(item.trans){ this.formList.forEach((item, index) => {
// this.initDict(item.trans,index) if (item.trans) {
// } if (!item["opts"]) {
// }) item["opts"] = []
// }, } else {
item["opts"] = this.dictMap[item.trans]
}
}
})
this.$forceUpdate()
},
// async initDict(type,index){ // async initDict(type,index){
// let params={ // let params={
// type:type // type:type
...@@ -339,7 +356,19 @@ export default { ...@@ -339,7 +356,19 @@ export default {
// } // }
// } // }
// }) // })
// } // },
//获取随访表单类型
getCurrentFormByType(type) {
getCurrentFormByType({
type,
groupId: this.$store.state.user.group.groupId || "",
}).then((res) => {
if (res.code === 1) {
this.formId = res.data[0].id
this.handleSearch()
}
})
},
}, },
} }
</script> </script>
......
...@@ -184,10 +184,10 @@ export default { ...@@ -184,10 +184,10 @@ export default {
}, },
], ],
tableData: [ tableData: [
{ // {
name: "1", // name: "1",
1: 2, // 1: 2,
}, // },
], ],
} }
}, },
...@@ -246,6 +246,9 @@ export default { ...@@ -246,6 +246,9 @@ export default {
type: "success", type: "success",
message: "删除成功!", message: "删除成功!",
}) })
if (this.tableData.length == 1 && this.pageIndex != 1) {
this.pageIndex--
}
this.handleSearch() this.handleSearch()
} }
}) })
...@@ -271,6 +274,7 @@ export default { ...@@ -271,6 +274,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.container { .container {
padding: 24px; padding: 24px;
padding-bottom: 0px;
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
......
...@@ -48,8 +48,10 @@ ...@@ -48,8 +48,10 @@
:style="{ :style="{
height: height:
$route.path == '/screening/index' $route.path == '/screening/index'
? 'calc(100vh - 310px)' ? 'calc(100vh - 245px)'
: 'calc(100vh - 270px)', : $route.path == '/screening/draft'
? 'calc(100vh - 249px)'
: 'calc(100vh - 203px)',
}" }"
:class="externalScroll ? 'no-scroll' : ''" :class="externalScroll ? 'no-scroll' : ''"
> >
...@@ -70,18 +72,14 @@ ...@@ -70,18 +72,14 @@
</div> </div>
</template> </template>
</el-main> </el-main>
<el-aside
v-if="contrast"
:width="sideWidth"
class="transition-box"
:class="{ hidden: !asideShow }"
>
<div class="side-content"></div>
</el-aside>
</el-container> </el-container>
</template> </template>
<script> <script>
import { getPatientDetail, getRecordList } from "@/api/patient.js" import {
getPatientDetail,
getRecordList,
getFollowDetail,
} from "@/api/patient.js"
import { getFormDetail } from "@/api/field" import { getFormDetail } from "@/api/field"
import CustomForm from "@/components/FormComponents/CustomForm/index" import CustomForm from "@/components/FormComponents/CustomForm/index"
import ReadForm from "@/components/FormComponents/ReadForm/index" import ReadForm from "@/components/FormComponents/ReadForm/index"
...@@ -93,7 +91,8 @@ export default { ...@@ -93,7 +91,8 @@ export default {
activeName: String, activeName: String,
externalScroll: Boolean, //外部滚动 externalScroll: Boolean, //外部滚动
disabled: Boolean, disabled: Boolean,
contrast: Boolean, //同屏对照 getData: Boolean,
// contrast: Boolean, //同屏对照
form: Object, form: Object,
formType: String, formType: String,
patientId: String, patientId: String,
...@@ -118,6 +117,12 @@ export default { ...@@ -118,6 +117,12 @@ export default {
}, },
} }
}, },
inject: {
tabFollowId: {
type: Function,
default: () => {},
},
},
data() { data() {
return { return {
btnType: "", btnType: "",
...@@ -157,9 +162,12 @@ export default { ...@@ -157,9 +162,12 @@ export default {
return !(Object.keys(this.widgetFormPreview) || this.widgetFormPreview) return !(Object.keys(this.widgetFormPreview) || this.widgetFormPreview)
.length .length
}, },
sideWidth() { getTabFollowId() {
return this.asideShow ? "200px" : "0px" return this.tabFollowId()
}, },
// sideWidth() {
// return this.asideShow ? "200px" : "0px"
// },
pageLoading() { pageLoading() {
return this.loading || this.formloading return this.loading || this.formloading
}, },
...@@ -190,6 +198,9 @@ export default { ...@@ -190,6 +198,9 @@ export default {
data[key] = data[key] + "" data[key] = data[key] + ""
} }
} }
data.follow_contents = data.follow_contents
? JSON.parse(data.follow_contents.replace(/"\"/g, ""))
: []
this.formData.formEdit = data this.formData.formEdit = data
} }
this.initForm() //! 随防筛查通用的设置form this.initForm() //! 随防筛查通用的设置form
...@@ -203,8 +214,9 @@ export default { ...@@ -203,8 +214,9 @@ export default {
{ immediate: true } { immediate: true }
) )
} else { } else {
console.log(206, this.getData)
// 监听form.silent 获取当前tab页数据 // 监听form.silent 获取当前tab页数据
if (this.formType != 2) { if (this.getData) {
this.$watch( this.$watch(
"form.silent", "form.silent",
() => { () => {
...@@ -236,6 +248,7 @@ export default { ...@@ -236,6 +248,7 @@ export default {
this.$refs.form.clearAge() this.$refs.form.clearAge()
}, },
initData() { initData() {
console.log("初始化", this.formData)
this.formData.formRecordId = null this.formData.formRecordId = null
this.formCacheList = [] this.formCacheList = []
this.getPatientDetail() this.getPatientDetail()
...@@ -292,8 +305,9 @@ export default { ...@@ -292,8 +305,9 @@ export default {
if (this.isDraft) { if (this.isDraft) {
params.statusMap.is_draft = this.isDraft params.statusMap.is_draft = this.isDraft
} }
// 处理followId 针对随访查询的列表数据的查询和修改操作
if (this.$route.path == "/followupentry" && this.activeName != "index0") { if (this.$route.path == "/followupentry" && this.activeName != "index0") {
params.followId = this.followId params.followId = this.followId || this.getTabFollowId
} }
this.$emit("handleConfirm", params, done, (res) => { this.$emit("handleConfirm", params, done, (res) => {
// 多次填写的表单新增时,获取最新数据 // 多次填写的表单新增时,获取最新数据
...@@ -378,17 +392,31 @@ export default { ...@@ -378,17 +392,31 @@ export default {
}) })
if (!this.patientId || this.form.silent) return if (!this.patientId || this.form.silent) return
this.loading = true this.loading = true
getPatientDetail({ if (this.formType == 2) {
patientId: this.patientId, getFollowDetail({
formId: this.form.formId, followId: this.followId || this.getTabFollowId,
formRecordId: this.formData.formRecordId, formId: this.form.formId,
}) formRecordId: this.formData.formRecordId,
.then((res) => {
this.formatData(res)
}) })
.finally(() => { .then((res) => {
this.loading = false this.formatData(res)
})
.finally(() => {
this.loading = false
})
} else {
getPatientDetail({
patientId: this.patientId,
formId: this.form.formId,
formRecordId: this.formData.formRecordId,
}) })
.then((res) => {
this.formatData(res)
})
.finally(() => {
this.loading = false
})
}
}, },
formatData(res, cache) { formatData(res, cache) {
const d = res.data || {} const d = res.data || {}
...@@ -401,11 +429,14 @@ export default { ...@@ -401,11 +429,14 @@ export default {
if (form["YZZKJC"] && typeof form["YZZKJC"] === "string") { if (form["YZZKJC"] && typeof form["YZZKJC"] === "string") {
form["YZZKJC"] = JSON.parse(form["YZZKJC"]) form["YZZKJC"] = JSON.parse(form["YZZKJC"])
} }
console.log(form) console.log("form形成", form, this.formData)
if (!cache) { if (!cache) {
this.formData.formEdit = form this.formData.formEdit = form
} }
this.formData.formRecordId = d.formRecordId this.formData.formRecordId = d.formRecordId
if (!this.formData.formRecordId) {
this.newformRecordId = ""
}
this.formData.percent = d.percent || {} this.formData.percent = d.percent || {}
const index = this.formCacheList.findIndex( const index = this.formCacheList.findIndex(
(_) => _.formRecordId === d.formRecordId (_) => _.formRecordId === d.formRecordId
...@@ -416,7 +447,17 @@ export default { ...@@ -416,7 +447,17 @@ export default {
this.formCacheList.push(this.deepClone(this.formData)) this.formCacheList.push(this.deepClone(this.formData))
} }
}, },
// 表单数据转化
formatString(form) {
for (const key in form) {
Object.prototype.toString.call(form[key]) == "[object Number]"
? (form[key] = String(form[key]))
: ""
}
this.formData.formEdit = form
},
getRecordList(formRecordId) { getRecordList(formRecordId) {
console.log("获取表单id", formRecordId)
if (!this.patientId) return if (!this.patientId) return
getRecordList({ getRecordList({
patientId: this.patientId, patientId: this.patientId,
...@@ -445,6 +486,7 @@ export default { ...@@ -445,6 +486,7 @@ export default {
.el-main { .el-main {
position: relative; position: relative;
padding: 0; padding: 0;
// box-shadow: 0px 5px 4px red;
.arrow { .arrow {
position: absolute; position: absolute;
...@@ -456,7 +498,7 @@ export default { ...@@ -456,7 +498,7 @@ export default {
} }
.header { .header {
height: 5px; height: 5px;
box-shadow: 0 5px 4px rgb(0 21 41 / 8%); box-shadow: 0px 3px 4px rgb(0 21 41 / 8%);
padding-right: 20px; padding-right: 20px;
position: relative; position: relative;
font-size: 15px; font-size: 15px;
...@@ -504,12 +546,4 @@ export default { ...@@ -504,12 +546,4 @@ export default {
float: left; float: left;
width: 150px; width: 150px;
} }
.transition-box {
transition: all 0.2s;
&.hidden {
opacity: 0;
height: 0px;
}
}
</style> </style>
...@@ -13,6 +13,7 @@ export default { ...@@ -13,6 +13,7 @@ export default {
newformRecordId: null, //记录Id newformRecordId: null, //记录Id
formTabs: [], formTabs: [],
formId: "", formId: "",
followId: "",
formTabsList: [], formTabsList: [],
isUpdated: false, isUpdated: false,
} }
...@@ -27,7 +28,7 @@ export default { ...@@ -27,7 +28,7 @@ export default {
nextTab() { nextTab() {
let i = this.activeName.split("index")[1] - 0 let i = this.activeName.split("index")[1] - 0
i++ i++
if (i == 6) { if (i == this.formTabs.length) {
this.onSubmit(3) this.onSubmit(3)
return return
} else { } else {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</div> </div>
<div v-if="isDetail"> <div v-if="isDetail">
<div> <div style="margin-left: 24px">
<el-button icon="el-icon-back" @click="backInfoce">返 回</el-button> <el-button icon="el-icon-back" @click="backInfoce">返 回</el-button>
</div> </div>
<ConfigForms <ConfigForms
...@@ -59,9 +59,9 @@ export default { ...@@ -59,9 +59,9 @@ export default {
tabDisabled: true, tabDisabled: true,
searchList: [ searchList: [
{ {
type: "date", type: "daterange",
label: "筛查时间", label: "筛查时间",
prop: "createDate", prop: "CreateDate",
placeholder: "请选择时间", placeholder: "请选择时间",
valueFormat: "yyyy-MM-dd", valueFormat: "yyyy-MM-dd",
}, },
...@@ -293,17 +293,20 @@ export default { ...@@ -293,17 +293,20 @@ export default {
this.handleSearch(form) this.handleSearch(form)
}, },
handleSearch(form) { handleSearch(form) {
this.$router.push({
query: {},
})
this.listLoading = true this.listLoading = true
const params = Object.assign(this.cacheForm, form) const params = Object.assign(this.cacheForm, form)
const data = {} const data = {}
for (let key in params) { for (let key in params) {
if (params[key] !== "" && params[key] !== null) { if (params[key] !== "" && params[key] !== null) {
// if (key.includes("Time") && params[key]) { if (key.includes("Date") && params[key]) {
// data["start" + key] = params[key][0] data["start" + key] = params[key][0]
// data["end" + key] = params[key][1] data["end" + key] = params[key][1]
// } else { } else {
data[key] = params[key] data[key] = params[key]
// } }
} }
} }
data.current = this.pageIndex data.current = this.pageIndex
...@@ -385,4 +388,9 @@ export default { ...@@ -385,4 +388,9 @@ export default {
} }
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
.container {
padding: 20px;
padding-bottom: 0px;
}
</style>
import { mapGetters } from "vuex"
export default {
data() {
return {}
},
computed: {
...mapGetters({
selectedIndex: ["table/selectedIndex"],
}),
},
methods: {},
mounted() {},
watch: {
selectedIndex(v) {
if (v) {
this.handleSearch()
}
},
},
}
...@@ -176,12 +176,12 @@ export default { ...@@ -176,12 +176,12 @@ export default {
}, },
watch: {}, watch: {},
mounted() { mounted() {
this.getMedicalunionList() this.handleSearch()
console.log(cityList) console.log(cityList)
}, },
methods: { methods: {
// 获取list // 获取list
getMedicalunionList() { handleSearch() {
this.listLoading = true this.listLoading = true
medicalunionList({ medicalunionList({
size: this.pageSize, size: this.pageSize,
...@@ -227,7 +227,7 @@ export default { ...@@ -227,7 +227,7 @@ export default {
this.$message.success("添加成功") this.$message.success("添加成功")
this.addVisible = false this.addVisible = false
this.page = 1 this.page = 1
this.getMedicalunionList() this.handleSearch()
} }
}) })
} else { } else {
...@@ -259,7 +259,7 @@ export default { ...@@ -259,7 +259,7 @@ export default {
.then((res) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.$message.success("删除成功") this.$message.success("删除成功")
this.getMedicalunionList() this.handleSearch()
} }
}) })
.catch(() => {}) .catch(() => {})
......
<template>
<div id="medicalunion-management">
<div class="top-btn">
<el-button type="primary" class="btn" @click="addMedical">添加</el-button>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
<el-dialog
:visible.sync="addVisible"
width="520px"
:show-close="true"
@closed="resetForm"
>
<div class="title">{{ readOnly ? "查看" : "添加" }}</div>
<el-form
ref="form"
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
:disabled="readOnly"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
:prop="item.prop"
:rules="[{ required: true, message: item.label + '不能为空' }]"
>
<!-- <template v-if="!readOnly"> -->
<template>
<!-- 输入框 -->
<el-input
v-if="item.type == 'input'"
v-model="form[item.prop]"
autocomplete="off"
:placeholder="'请填写' + item.label"
></el-input>
<!-- 下拉选 -->
<el-select
v-else-if="item.type == 'select'"
v-model="form[item.prop]"
:placeholder="'请选择' + item.label"
style="width: 100%"
>
<el-option
v-for="e in item.selectGroup"
:key="e.value"
:label="e.label"
:value="e.value"
></el-option>
</el-select>
<!-- 上传 -->
<el-upload-self
v-else-if="item.type === 'upload'"
v-model="form[item.prop]"
:btn-type="'text'"
v-bind="item"
:list-type="item.listType"
:accept="item.accept"
:limit="item.limit"
:disabled="readOnly"
></el-upload-self>
<!-- switch -->
<!-- switch切换 启用 -->
<el-switch
v-else-if="item.type === 'switch'"
v-model="form[item.prop]"
:active-value="1"
:inactive-value="0"
>
</el-switch>
</template>
<!-- <template v-else>
<span>{{ form[item.prop] || "--" }}</span>
</template> -->
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="f-btn" type="primary" @click="submitForm('6')"
>保存</el-button
>
</span>
</el-dialog>
<!-- 删除提示框 -->
<el-dialog title="提示" :visible.sync="deleteVisible" width="30%">
<span>确定删除吗?</span>
<span slot="footer" class="dialog-footers">
<el-button @click="deleteVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmDelete">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import ElUploadSelf from "@/components/UploadForOperation"
import mixin from "./mixin"
import { articleList } from "@/api/operation-management"
export default {
components: {
CustomsTable,
ElUploadSelf,
},
mixins: [paginationMixin, mixin],
data() {
return {
addVisible: false,
listLoading: false,
deleteVisible: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "articleTitle",
},
{
label: "文件",
minWidth: 120,
type: "file",
value: "filePath",
},
{
label: "上传时间",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新修改时间",
minWidth: 120,
value: "updateTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadUserName",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "status",
func: this.openChage,
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.viewMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{
func: this.editMedical,
formatter(row) {
return {
label: "编辑",
type: "text",
}
},
},
{
func: this.deleteFunc,
style: {
color: "#FA6400",
},
formatter(row) {
return {
label: "删除",
type: "text",
}
},
},
],
},
],
tableData: [
// {
// title: "第一个",
// isOpen: true,
// },
],
formList: [
{
type: "input",
label: "标题",
prop: "articleTitle",
},
{
type: "upload",
label: "PDF",
prop: "filePath",
accept: "application/pdf",
},
{
type: "switch",
label: "启用状态",
prop: "status",
},
],
}
},
watch: {},
mounted() {
this.getArticleList()
},
methods: {
// 获取新闻会议
getArticleList() {
this.listLoading = true
let params = {
size: this.pageSize,
current: this.pageIndex,
moduleType: "6",
}
articleList(params)
.then((res) => {
if (res.code == 1) {
this.tableData = [...res.data.records]
this.total = res.data.total
this.listLoading = false
}
})
.catch((e) => {
this.listLoading = false
})
},
},
}
</script>
<style lang="scss" scoped>
#medicalunion-management {
padding: 20px 0;
.top-btn {
.btn {
width: 80px;
height: 32px;
background: #4e68ff;
border-radius: 4px;
}
}
.bot-table {
margin-top: 20px;
}
.title {
text-align: center;
height: 26px;
font-size: 22px;
font-family: AlibabaPuHuiTiM;
color: rgba(0, 0, 0, 0.8);
line-height: 26px;
margin-bottom: 30px;
}
}
::v-deep .el-dialog__body {
padding: 0 40px;
border-top: none;
}
::v-deep .el-dialog__footer {
border-top: none;
text-align: center;
.f-btn {
width: 100px;
height: 32px;
background: #4e68ff;
}
}
</style>
...@@ -18,6 +18,7 @@ import NoticeAnnouncement from "@/views/systems/operation-management/components/ ...@@ -18,6 +18,7 @@ import NoticeAnnouncement from "@/views/systems/operation-management/components/
import AcademicTrend from "@/views/systems/operation-management/components/AcademicTrend.vue" import AcademicTrend from "@/views/systems/operation-management/components/AcademicTrend.vue"
import HealthPopularization from "@/views/systems/operation-management/components/HealthPopularization.vue" import HealthPopularization from "@/views/systems/operation-management/components/HealthPopularization.vue"
import scientificResearch from "@/views/systems/operation-management/components/scientificResearch.vue" import scientificResearch from "@/views/systems/operation-management/components/scientificResearch.vue"
import TypicalCase from "./components/TypicalCase.vue"
export default { export default {
components: { components: {
NewsMeeting, NewsMeeting,
...@@ -25,6 +26,7 @@ export default { ...@@ -25,6 +26,7 @@ export default {
AcademicTrend, AcademicTrend,
HealthPopularization, HealthPopularization,
scientificResearch, scientificResearch,
TypicalCase,
}, },
data() { data() {
return { return {
...@@ -50,6 +52,10 @@ export default { ...@@ -50,6 +52,10 @@ export default {
name: "科学研究", name: "科学研究",
component: "scientificResearch", component: "scientificResearch",
}, },
{
name: "典型案例",
component: "TypicalCase",
},
], ],
} }
}, },
......
...@@ -1143,6 +1143,11 @@ ...@@ -1143,6 +1143,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
"@types/json-schema@^7.0.8":
version "7.0.11"
resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
"@types/liftoff@^2.5.0": "@types/liftoff@^2.5.0":
version "2.5.0" version "2.5.0"
resolved "https://registry.yarnpkg.com/@types/liftoff/-/liftoff-2.5.0.tgz#aa5f030ae0952d1b86225f3e9f27f6d5b69714aa" resolved "https://registry.yarnpkg.com/@types/liftoff/-/liftoff-2.5.0.tgz#aa5f030ae0952d1b86225f3e9f27f6d5b69714aa"
...@@ -1757,7 +1762,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: ...@@ -1757,7 +1762,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6" version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
...@@ -2162,6 +2167,11 @@ babel-plugin-polyfill-regenerator@^0.1.2: ...@@ -2162,6 +2167,11 @@ babel-plugin-polyfill-regenerator@^0.1.2:
dependencies: dependencies:
"@babel/helper-define-polyfill-provider" "^0.1.5" "@babel/helper-define-polyfill-provider" "^0.1.5"
babel-plugin-syntax-dynamic-import@^6.18.0:
version "6.18.0"
resolved "https://registry.npmmirror.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da"
integrity sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==
babel-runtime@6.x, babel-runtime@^6.9.2: babel-runtime@6.x, babel-runtime@^6.9.2:
version "6.26.0" version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
...@@ -6521,6 +6531,15 @@ loader-utils@^0.2.16: ...@@ -6521,6 +6531,15 @@ loader-utils@^0.2.16:
json5 "^0.5.0" json5 "^0.5.0"
object-assign "^4.0.1" object-assign "^4.0.1"
loader-utils@^1.0.0:
version "1.4.2"
resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3"
integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==
dependencies:
big.js "^5.2.2"
emojis-list "^3.0.0"
json5 "^1.0.1"
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
...@@ -7977,10 +7996,10 @@ pbkdf2@^3.0.3: ...@@ -7977,10 +7996,10 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
sha.js "^2.4.8" sha.js "^2.4.8"
pdfjs-dist@2.5.207: pdfjs-dist@2.6.347:
version "2.5.207" version "2.6.347"
resolved "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-2.5.207.tgz#b5e8c19627be64269cd3fb6df3eaaf45ddffe7b6" resolved "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz#f257ed66e83be900cd0fd28524a2187fb9e25cd5"
integrity sha512-xGDUhnCYPfHy+unMXCLCJtlpZaaZ17Ew3WIL0tnSgKFUZXHAPD49GO9xScyszSsQMoutNDgRb+rfBXIaX/lJbw== integrity sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ==
performance-now@^2.1.0: performance-now@^2.1.0:
version "2.1.0" version "2.1.0"
...@@ -8785,6 +8804,14 @@ raw-body@2.4.0: ...@@ -8785,6 +8804,14 @@ raw-body@2.4.0:
iconv-lite "0.4.24" iconv-lite "0.4.24"
unpipe "1.0.0" unpipe "1.0.0"
raw-loader@^4.0.2:
version "4.0.2"
resolved "https://registry.npmmirror.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6"
integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==
dependencies:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
raw-loader@~0.5.1: raw-loader@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
...@@ -9232,6 +9259,14 @@ sax@~1.2.4: ...@@ -9232,6 +9259,14 @@ sax@~1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
schema-utils@^0.4.0:
version "0.4.7"
resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
dependencies:
ajv "^6.1.0"
ajv-keywords "^3.1.0"
schema-utils@^1.0.0: schema-utils@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
...@@ -9250,6 +9285,15 @@ schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6 ...@@ -9250,6 +9285,15 @@ schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6
ajv "^6.12.4" ajv "^6.12.4"
ajv-keywords "^3.5.2" ajv-keywords "^3.5.2"
schema-utils@^3.0.0:
version "3.1.1"
resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
screenfull@^5.0.2: screenfull@^5.0.2:
version "5.1.0" version "5.1.0"
resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.1.0.tgz#85c13c70f4ead4c1b8a935c70010dfdcd2c0e5c8" resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.1.0.tgz#85c13c70f4ead4c1b8a935c70010dfdcd2c0e5c8"
...@@ -10840,6 +10884,23 @@ vue-observe-visibility@^0.4.4: ...@@ -10840,6 +10884,23 @@ vue-observe-visibility@^0.4.4:
resolved "https://registry.yarnpkg.com/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz#878cb8ebcf3078e40807af29774e97105ebd519e" resolved "https://registry.yarnpkg.com/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz#878cb8ebcf3078e40807af29774e97105ebd519e"
integrity sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q== integrity sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==
vue-pdf@^4.3.0:
version "4.3.0"
resolved "https://registry.npmmirror.com/vue-pdf/-/vue-pdf-4.3.0.tgz#d5f790ee7967e7b7aa9089b97b11ab168e19dbd0"
integrity sha512-zd3lJj6CbtrawgaaDDciTDjkJMUKiLWtbEmBg5CvFn9Noe9oAO/GNy/fc5c59qGuFCJ14ibIV1baw4S07e5bSQ==
dependencies:
babel-plugin-syntax-dynamic-import "^6.18.0"
loader-utils "^1.4.0"
pdfjs-dist "2.6.347"
raw-loader "^4.0.2"
vue-resize-sensor "^2.0.0"
worker-loader "^2.0.0"
vue-resize-sensor@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz#3a587fd6802e1688709cf2c5aadae7a0075952bf"
integrity sha512-W+y2EAI/BxS4Vlcca9scQv8ifeBFck56DRtSwWJ2H4Cw1GLNUYxiZxUHHkuzuI5JPW/cYtL1bPO5xPyEXx4LmQ==
vue-resize@^0.4.5: vue-resize@^0.4.5:
version "0.4.5" version "0.4.5"
resolved "https://registry.yarnpkg.com/vue-resize/-/vue-resize-0.4.5.tgz#4777a23042e3c05620d9cbda01c0b3cc5e32dcea" resolved "https://registry.yarnpkg.com/vue-resize/-/vue-resize-0.4.5.tgz#4777a23042e3c05620d9cbda01c0b3cc5e32dcea"
...@@ -11143,6 +11204,14 @@ worker-farm@^1.7.0: ...@@ -11143,6 +11204,14 @@ worker-farm@^1.7.0:
dependencies: dependencies:
errno "~0.1.7" errno "~0.1.7"
worker-loader@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac"
integrity sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==
dependencies:
loader-utils "^1.0.0"
schema-utils "^0.4.0"
wrap-ansi@^5.1.0: wrap-ansi@^5.1.0:
version "5.1.0" version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment