| | |
| | | "cos-js-sdk-v5": "^1.4.18", |
| | | "dayjs": "^1.11.7", |
| | | "echarts": "^5.4.2", |
| | | "element-ui": "2.15.12", |
| | | "element-ui": "^2.15.4", |
| | | "file-saver": "^2.0.5", |
| | | "fuse.js": "6.4.3", |
| | | "highlight.js": "9.18.5", |
| | |
| | | </script> |
| | | <style scoped> |
| | | #app { |
| | | overflow: scroll; |
| | | overflow-y: scroll; |
| | | height: 100vh; |
| | | background: #f8fafd; |
| | | /* font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif, "宋体"; */ |
| | |
| | | let regex = ""; |
| | | let regexno = ""; |
| | | let hostregex = ""; |
| | | let hostregexno = ""; |
| | | |
| | | for (let i = 0; i < this.dynamiccruxs.length; i++) { |
| | | regex += `${this.dynamiccruxs[i]}|`; |
| | |
| | | regex = regex.slice(0, -1); |
| | | regexno = regexno.slice(0, -1); |
| | | |
| | | hostregex = "^(?!." + `${regexno}` + ")(.(" + `${regex}` + ")+.*)$"; |
| | | console.log(hostregex); |
| | | hostregex = "(?=.*(?:" + `${regex}` + ")).*$"; |
| | | hostregexno = "(?=.*(?:" + `${regexno}` + ")).*$"; |
| | | console.log(hostregex, "确定字匹配"); |
| | | console.log(hostregexno, "否定字匹配"); |
| | | }, |
| | | // 控制文件 |
| | | handleChange(file, fileList) { |
| | |
| | | width="50" |
| | | align="center" |
| | | /> |
| | | <el-table-column label="序号" align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | v-if="serialnumber" |
| | | label="序号" |
| | | align="center" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | v-for="(item, index) in tableLabel" |
| | | :key="index" |
| | |
| | | v-if="controlxz" |
| | | size="medium" |
| | | type="text" |
| | | @click.native="$emit('handleUpdate', scope.row)" |
| | | @click.native="$emit('selectfn', scope.row, typeinfo)" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-promotion"></i>选择</span |
| | | ></el-button |
| | |
| | | v-if="controlsc" |
| | | size="medium" |
| | | type="text" |
| | | @click.native="$emit('details', scope.row)" |
| | | @click.native="$emit('details', scope.row, typeinfo)" |
| | | ><span style="color: red" |
| | | ><i class="el-icon-delete"></i>删除</span |
| | | ></el-button |
| | |
| | | |
| | | <script> |
| | | import dayjs from "dayjs"; |
| | | import store from "@/store"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | serialnumber: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | // 1模版列表 2选中患者 3患者列表 |
| | | typeinfo: { |
| | | type: Number, |
| | | default: 1, |
| | | }, |
| | | }, |
| | | created() { |
| | | this.mode = store.getters.mode; |
| | |
| | | // min-height: 12vh; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div style="height: 200px"> |
| | | <el-steps direction="vertical" :active="Editprogress"> |
| | | <el-step title="基础信息设置"></el-step> |
| | | <el-step title="宣教内容"></el-step> |
| | | </el-steps> |
| | | </div> |
| | | <el-steps finish-status="success" :active="Editprogress" simple> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 1" |
| | | >基础信息设置</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >宣教内容</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | </el-steps> |
| | | </div> |
| | | <!-- 右侧数据 --> |
| | | <div class="leftvlue"> |
| | |
| | | </el-option-group> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="12"> </el-col> |
| | | <el-col :span="12"> </el-col> |
| | | </el-row> |
| | | <el-form-item label="宣教标题" prop="preachname"> |
| | | <div style="width: 30%"> |
| | | <el-input v-model="ruleForm.preachname"></el-input> |
| | | <el-input |
| | | v-model="ruleForm.preachname" |
| | | placeholder="请输入标题" |
| | | ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="宣教描述" prop="preachcontent"> |
| | | <div style="width: 30%"> |
| | | <el-input v-model="ruleForm.preachcontent"></el-input> |
| | | <div style="width: 60%"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | v-model="ruleForm.preachcontent" |
| | | placeholder="请输入描述" |
| | | ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="通知变量" prop="name"> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="版本号" prop="name"> |
| | | <el-input v-model="ruleForm.version"></el-input> </el-form-item |
| | | <el-input |
| | | v-model="ruleForm.version" |
| | | placeholder="默认1.0.1" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="9"> |
| | | <el-form-item label="可用状态" prop="region"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="适用疾病" prop="region"> |
| | | <div class="xinz-infs"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="item.icd10name" |
| | | type="warning" |
| | |
| | | <el-select |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | |
| | | radioas: "", //填空题答案 |
| | | // 总条数 |
| | | total: 1, |
| | | ruleForm: {}, |
| | | ruleForm: { |
| | | campus: [], |
| | | heLibraryTagList: [], |
| | | tempDetpRelevances: [], |
| | | version: "1.0.1", |
| | | }, |
| | | rules: {}, |
| | | rulesa: {}, |
| | | mode: [], |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | processElement(element) { |
| | | return { ...element, isoperation: null }; |
| | | }, |
| | | // 获取页面数据 |
| | | getList() { |
| | | this.loading = true; |
| | | this.id = this.$route.query.id; |
| | | getlibraryinfo({ id: this.id }).then((res) => { |
| | | this.ruleForm = res.data[0]; |
| | | if (this.id) { |
| | | getlibraryinfo({ id: this.id }).then((res) => { |
| | | this.ruleForm = res.data[0]; |
| | | this.ruleForm.campus = this.ruleForm.campus.split(","); |
| | | this.dynamicTags = res.data[0].heLibraryTagList.map( |
| | | this.processElement |
| | | ); |
| | | |
| | | if (this.ruleForm.deptNames) { |
| | | this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); |
| | | } |
| | | if (this.ruleForm.suitway) { |
| | | this.ruleForm.suitway = this.ruleForm.suitway.split(","); |
| | | } |
| | | this.variablelist = this.ruleForm.otherdata |
| | | ? JSON.parse(this.ruleForm.otherdata) |
| | | : this.variablelist; |
| | | }); |
| | | if (this.ruleForm.deptNames) { |
| | | this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); |
| | | } |
| | | if (this.ruleForm.suitway) { |
| | | this.ruleForm.suitway = this.ruleForm.suitway.split(","); |
| | | } |
| | | this.variablelist = this.ruleForm.otherdata |
| | | ? JSON.parse(this.ruleForm.otherdata) |
| | | : this.variablelist; |
| | | }); |
| | | } |
| | | // 宣教分类 |
| | | getheLibraryAssort({}).then((res) => { |
| | | this.sortlist = res.rows; |
| | | }); |
| | | // 部门 |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | |
| | | this.dynamicTags.forEach((item) => { |
| | | tgs.push(item.tagname); |
| | | }); |
| | | console.log(tgs.length, "tgs"); |
| | | |
| | | this.ruleForm.campus = this.ruleForm.campus.join(","); |
| | | this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : ""; |
| | | this.ruleForm.otherdata = JSON.stringify(this.variablelist); |
| | | console.log(22); |
| | |
| | | ); |
| | | if (!condition) { |
| | | listDept({ deptId: item }).then((res) => { |
| | | console.log("dept"); |
| | | res.data[0].type = 2; |
| | | this.ruleForm.tempDetpRelevances.push(res.data[0]); |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | handleClosetag(tag) { |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | console.log(tag); |
| | | const lindex = this.ruleForm.heLibraryTagList.findIndex( |
| | | (item) => item.tagname == tag.tagname |
| | | ); |
| | | console.log(lindex); |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.heLibraryTagList[lindex].isoperation = 3; |
| | | }, |
| | |
| | | this.illnesslist.push(opeavalue); |
| | | } |
| | | }); |
| | | console.log(this.illnesslist); |
| | | this.inputVisible = false; |
| | | console.log(this.illnesslist, "加"); |
| | | this.illnessVisible = false; |
| | | this.inputValue = ""; |
| | | }, |
| | | confirmillness() { |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | display: flex; |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | width: 300px; |
| | | min-height: 100vh; |
| | | text-align: center; |
| | | // width: 300px; |
| | | // min-height: 100vh; |
| | | // text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | |
| | | .leftvlue { |
| | | // display: flex; |
| | | // flex: 1; |
| | | width: 80%; |
| | | margin-top: 20px; |
| | | // margin: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree { |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #eff8fe; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | ::v-deep |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | background-color: #7799fb; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree { |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #eff8fe; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | ::v-deep |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | background-color: #7799fb; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | <div style="margin-left: 8%"> |
| | | <el-form-item label="问题分类"> |
| | | <el-select |
| | | v-model="topicobj.assortid" |
| | | v-model="topicobj.categoryid" |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div style="height: 400px"> |
| | | <el-steps direction="vertical" :active="Editprogress"> |
| | | <el-step title="基础信息"></el-step> |
| | | <el-step title="问卷题目"></el-step> |
| | | <el-step |
| | | title="问卷预览" |
| | | description="查看问卷预览,可导出PDF" |
| | | ></el-step> |
| | | <div> |
| | | <el-steps finish-status="success" :active="Editprogress" simple> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 1" |
| | | >基础信息</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >问卷题目</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step description="查看问卷预览,可导出PDF"> |
| | | <span slot="title" style="cursor: pointer" @click="Editprogress = 3" |
| | | >问卷预览</span |
| | | > |
| | | </el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | | ); |
| | | console.log(result); |
| | | console.log(result, "result"); |
| | | // id数组查数组对象 |
| | | result.forEach((item) => { |
| | | const condition = this.ruleForm.tempDetpRelevances.some( |
| | |
| | | this.ruleForm.tempDetpRelevances.forEach((item) => { |
| | | const condition = result.some((obj) => obj === item.deptId); |
| | | if (!condition) { |
| | | console.log(condition); |
| | | const index = this.ruleForm.tempDetpRelevances.indexOf(item); |
| | | this.ruleForm.tempDetpRelevances[index].delFlag = 1; |
| | | } |
| | |
| | | this.ruleForm.svyLibTopics.push(row); |
| | | }, |
| | | handleDelete(row) { |
| | | this.ruleForm.svyLibTopics.splice( |
| | | this.ruleForm.svyLibTopics.indexOf(row), |
| | | 1 |
| | | ); |
| | | let index = this.ruleForm.svyLibTopics.indexOf(row); |
| | | this.ruleForm.svyLibTopics[index].isoperation = 3; |
| | | this.sortFn(); |
| | | }, |
| | | handleUpdate(row) { |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | display: flex; |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | width: 300px; |
| | | min-height: 100vh; |
| | | text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | .leftvlue { |
| | | // display: flex; |
| | | // flex: 1; |
| | | width: 80%; |
| | | margin-top: 20px; |
| | | // margin: 20px; |
| | | // // display: flex; |
| | | // // flex: 1; |
| | | // width: 80%; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree { |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #eff8fe; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | ::v-deep |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | background-color: #7799fb; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | </el-form> |
| | | <!-- 底部 --> |
| | | <div class="el-login-footer"> |
| | | <span>Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span> |
| | | <span style="color: #568FBD; font-size: 25px;">Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100%; |
| | | overflow:hidden !important; |
| | | background-position: center center; |
| | | |
| | | /* 背景图不平铺 */ |
| | | background-repeat: no-repeat; |
| | | /* 当内容高度大于图片高度时,背景图像的位置相对于viewport固定 */ |
| | | background-attachment: fixed; |
| | | /* 让背景图基于容器大小伸缩 */ |
| | | background-size: cover; |
| | | /* 设置背景颜色,背景图加载过程中会显示背景色 */ |
| | | background-color: #464646; |
| | | background-image: url("../assets/images/login-background.jpg"); |
| | | background-size: cover; |
| | | } |
| | |
| | | }); |
| | | }, |
| | | processElement(element) { |
| | | return { ...element, isoperation: 0 }; |
| | | return { ...element, isoperation: null }; |
| | | }, |
| | | // 获取基础信息 |
| | | getuserinfo() { |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column fixed label="序号" align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | fixed |
| | | label="序号" |
| | | label="姓名" |
| | | fixed |
| | | align="center" |
| | | key="id" |
| | | prop="id" |
| | | key="name" |
| | | prop="name" |
| | | /> |
| | | <el-table-column label="姓名" fixed align="center" key="types" prop="types" /> |
| | | <el-table-column |
| | | label="病历号" |
| | | align="center" |
| | | sortable |
| | | key="userName" |
| | | prop="userName" |
| | | key="medicalRecordNo" |
| | | prop="medicalRecordNo" |
| | | width="120" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | <el-table-column |
| | | label="床号" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | |
| | | <el-table-column label="年龄" align="center" key="age" prop="age" /> |
| | | <el-table-column label="床号" align="center" key="badNo" prop="badNo" /> |
| | | <el-table-column |
| | | label="科室/病区" |
| | | align="center" |
| | | key="phonenumber" |
| | | prop="phonenumber" |
| | | key="dept" |
| | | prop="dept" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | |
| | | <el-table-column |
| | | label="疾病名称" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="icdName" |
| | | prop="icdName" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>轻度骨裂</div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column |
| | | label="宣教内容" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="heTask" |
| | | prop="heTask" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="宣教材料" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.heTask.preachname }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="宣教方式" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.heTask.preachform }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="宣教人员" |
| | | label="操作人员(默认登陆人可选)" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="就诊时间" |
| | | label="就诊时间(缺)" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="宣教时间" |
| | | label="宣教时间(缺)" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="回复时间" |
| | | label="接收时间(缺)" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="通知状态" |
| | | <el-table-column |
| | | label="通知状态(缺)" |
| | | fixed="right" |
| | | align="center" |
| | | key="topicnumber" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | fixed="right" |
| | | label="任务详情" |
| | | align="center" |
| | | width="200" |
| | |
| | | title="宣教对象" |
| | | description="在本部选择宣教病人" |
| | | ></el-step> |
| | | <el-step |
| | | icon="el-icon-user" |
| | | title="模版确认" |
| | | ></el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | <el-form ref="form" :model="form" label-width="105px"> |
| | | <el-form-item label="模版名称:"> |
| | | <el-input |
| | | :disabled="true" |
| | | style="width: 220px" |
| | | v-model="form.bt" |
| | | v-model="form.preachname" |
| | | placeholder="请在下方选择" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="发送时间:" v-if="currenttype != 2"> |
| | | <el-form-item label="发送设置:" v-if="currenttype != 2"> |
| | | <el-radio-group v-model="radio"> |
| | | <el-radio :label="1">时间段发送</el-radio> |
| | | <el-radio :label="2">时间点发送</el-radio> |
| | | <el-radio :label="3">即刻发送</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="发送时间点:" |
| | | v-if="currenttype != 2 && radio == 2" |
| | | > |
| | | <el-date-picker |
| | | v-model="form.name" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="form.sendTime" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | default-time="13:00:00" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="发送时间段:" v-if="currenttype != 2"> |
| | | <el-form-item |
| | | label="发送时间段:" |
| | | v-if="currenttype != 2 && radio == 1" |
| | | > |
| | | <el-checkbox-group v-model="checkList"> |
| | | <el-checkbox label="上午(8:30-11:30)"></el-checkbox> |
| | | <el-checkbox label="下午(14:30-16:30)"></el-checkbox> |
| | | <el-checkbox label="夜间(18:30-20:30)"></el-checkbox> |
| | | <el-checkbox label="不定时"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="服务形式"> |
| | |
| | | ></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="组织形式"> |
| | | <!-- <el-form-item label="组织形式"> |
| | | <el-radio-group v-model="form.radio"> |
| | | <el-radio :label="3">单人宣教</el-radio> |
| | | <el-radio :label="6">多人集中宣教</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="语音模版" prop="region"> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="语音模版" prop="region"> |
| | | <el-select v-model="form.region" placeholder="请选择模版"> |
| | | <el-option label="一号模版" value="shanghai"></el-option> |
| | | <el-option label="二号模版" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | |
| | | :tableLabel="tableLabel" |
| | | :controlsc="false" |
| | | :multiplechoice="false" |
| | | :typeinfo="1" |
| | | /> |
| | | <pagination |
| | | v-show="total > 0" |
| | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-select |
| | | v-model="tasktopic" |
| | | v-model="patientqueryParams.allhosp" |
| | | placeholder="请选择新增类型" |
| | | > |
| | | <el-option |
| | |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | :disabled="!tasktopic" |
| | | :disabled="!patientqueryParams.allhosp" |
| | | @click="handleAddpatient" |
| | | >新增</el-button |
| | | > |
| | |
| | | :currentList="sonuserList" |
| | | :tableLabel="tableLabelhz" |
| | | :controlxz="false" |
| | | :typeinfo="2" |
| | | /> |
| | | <pagination |
| | | v-show="total > 0" |
| | |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :currentList="patientuserList" |
| | | :tableLabel="tableLabelhz" |
| | | :serialnumber="false" |
| | | :controlsc="false" |
| | | :typeinfo="3" |
| | | /> |
| | | </el-row> |
| | | <pagination |
| | |
| | | |
| | | <script> |
| | | import { messagelistpatient } from "@/api/patient/homepage"; |
| | | import store from "@/store"; |
| | | import { |
| | | getTaskpatient, |
| | | getlibrarylist, |
| | |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | | dialogVisiblepatient: false, //添加患者弹框 |
| | | radio: 1, |
| | | checkboxlist: [], |
| | | tableLabel: [], |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | | { label: "患者名称", width: "", prop: "name" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | |
| | | this.Addsubtask(); |
| | | this.Getsubtask(); |
| | | this.Acquisitiontype(); |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | pageSize: 10, |
| | | isavailable: "", |
| | | }; |
| | | getTaskpatient({ allhosp: 1 }).then((res) => { |
| | | console.log(res); |
| | | }); |
| | | this.currenttype = this.$route.query.type; |
| | | console.log(this.currenttype); |
| | | console.log(this.currenttype, "1"); |
| | | if (this.currenttype == 1) { |
| | | this.title = "宣教内容列表"; |
| | | this.tableLabel = this.tableLabelxj; |
| | |
| | | }, |
| | | // 子任务二级弹框 |
| | | handleAddpatient(row) { |
| | | console.log(row, "子组件数据"); |
| | | messagelistpatient(this.patientqueryParams).then((response) => { |
| | | getTaskpatient(this.patientqueryParams).then((response) => { |
| | | console.log(response); |
| | | this.patientuserList = response.rows; |
| | | this.patienttotal = response.total; |
| | |
| | | // 查询子任务列表 |
| | | Getsubtask() { |
| | | this.topqueryParams.pguid = 2; |
| | | console.log(this.topqueryParams); |
| | | console.log(this.topqueryParams, "aa"); |
| | | messagelistpatient(this.topqueryParams).then((res) => { |
| | | this.userList = res.rows; |
| | | this.total = res.total; |
| | | console.log(this.userList); |
| | | console.log(this.userList, "ss"); |
| | | }); |
| | | }, |
| | | // 变量--------------- |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree { |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #eff8fe; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | ::v-deep |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | background-color: #7799fb; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | dynamicTags: [], |
| | | illnesslist: [], |
| | | illnesslistapi: [], |
| | | optionsillness: [], |
| | | optionsillness: [], |
| | | qyoptions: [], |
| | | mode: [], |
| | | optionstag: [], |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | phonenumber: undefined, |
| | | status: undefined, |
| | | deptId: undefined, |
| | | IDnumber: undefined, |
| | | }, |
| | | |
| | | // 表单校验 |
| | |
| | | watch: { |
| | | // 根据名称筛选部门树 |
| | | sidecolumnval(val) { |
| | | console.log(val); |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | // 初始化数据 |
| | | this.getList(); |
| | | this.gettabList(); |
| | | this.getDeptTree(); |
| | |
| | | this.languagelist = store.getters.languagelist; |
| | | this.qyoptions = store.getters.usable; |
| | | }, |
| | | |
| | | methods: { |
| | | /** 查询指标列表 */ |
| | | getList() { |
| | |
| | | }); |
| | | }, |
| | | |
| | | processElement(element) { |
| | | processElement(element) { |
| | | // 返回一个新的对象,将element对象的属性isoperation设置为1 |
| | | return { ...element, isoperation: 1 }; |
| | | }, |
| | | // 返回数组中指定元素的索引 |
| | | getIndexInArray(arr, obj) { |
| | | // 返回数组中指定元素的索引 |
| | | return arr.indexOf(obj); |
| | | }, |
| | | |
| | | //删除分类 |
| | | deletefenlei(row) { |
| | | if (this.deleteVisible) { |
| | |
| | | } |
| | | }, |
| | | remoteMethod(value) { |
| | | console.log(value); |
| | | const illnessqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.resetForm("queryForm"); |
| | | this.queryParams.deptId = undefined; |
| | | this.queryParams={ |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }; |
| | | this.$refs.tree.setCurrentKey(null); |
| | | this.handleQuery(); |
| | | }, |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree{ |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #EFF8FE; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | |
| | | } |
| | | ::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { |
| | | background-color: #7799FB ; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div style="height: 400px"> |
| | | <el-steps direction="vertical" :active="Editprogress"> |
| | | <el-step title="基础信息"></el-step> |
| | | <el-step title="随访模版题目"></el-step> |
| | | <el-step |
| | | title="随访模版预览" |
| | | description="查看随访模版预览,可导出PDF" |
| | | ></el-step> |
| | | <div> |
| | | <el-steps finish-status="success" :active="Editprogress" simple> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 1" |
| | | >基础信息</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >随访模版题目</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step description="查看随访模版预览,可导出PDF"> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 3" |
| | | >随访模版预览</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | }); |
| | | }, |
| | | addtopic(row) { |
| | | console.log(row); |
| | | getverbaltrick({ id: row.id }).then((res) => { |
| | | console.log(res); |
| | | }); |
| | | row.isoperation = 1; |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.push(row); |
| | | }, |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | display: flex; |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | width: 250px; |
| | | min-height: 100vh; |
| | | text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | |
| | | .leftvlue { |
| | | // display: flex; |
| | | // flex: 1; |
| | | width: 80%; |
| | | margin-top: 20px; |
| | | // margin: 20px; |
| | | // width: 80%; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | |
| | | // display: flex; |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | padding: 20px; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree{ |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #EFF8FE; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | |
| | | } |
| | | ::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { |
| | | background-color: #7799FB ; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column label="序号" fixed align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | label="序号" |
| | | fixed |
| | | align="center" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | label="问题主题" |
| | | fixed |
| | |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #edf1f7; |
| | | background: #fff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | } |
| | | ::v-deep .el-tree { |
| | | position: relative; |
| | | cursor: default; |
| | | border-radius: 5px; |
| | | background: #eff8fe; |
| | | color: #606266; |
| | | border: 1px solid #bbe1fa; |
| | | // border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | ::v-deep |
| | | .el-tree--highlight-current |
| | | .el-tree-node.is-current |
| | | > .el-tree-node__content { |
| | | background-color: #7799fb; |
| | | color: #fff; |
| | | } |
| | | ::v-deep .el-button--mini.is-circle { |
| | | padding: 7px; |
| | | margin: 0; |
| | |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div style="height: 300px"> |
| | | <el-steps direction="vertical" :active="Editprogress"> |
| | | <el-step title="问题库编辑"></el-step> |
| | | <el-step title="问题指标编辑"></el-step> |
| | | <div> |
| | | <el-steps finish-status="success" :active="Editprogress" simple> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 1" |
| | | >问题库编辑</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="nextstep" |
| | | >问题指标编辑</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option-group |
| | | v-for="group in questionclass" |
| | | :key="group.id" |
| | | :label="group.indexAssortName" |
| | | > |
| | | <el-option |
| | | v-for="item in group.ivrLibaScriptAssortList" |
| | | :key="item.id" |
| | | :label="item.indexAssortName" |
| | | :value="item.id" |
| | | <el-option-group |
| | | v-for="group in questionclass" |
| | | :key="group.id" |
| | | :label="group.indexAssortName" |
| | | > |
| | | </el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | <el-option |
| | | v-for="item in group.ivrLibaScriptAssortList" |
| | | :key="item.id" |
| | | :label="item.indexAssortName" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | |
| | | |
| | | // 下一步 |
| | | nextstep() { |
| | | if (this.Editprogress <= 1 && this.indexform.targetid) { |
| | | if (this.indexform.ivrLibaScriptTargetoptionList.length) { |
| | | if (this.Editprogress <= 1) { |
| | | if (this.indexform.targetid) { |
| | | return this.Editprogress++; |
| | | } else { |
| | | this.$message.warning("请先选择关联指标"); |
| | | } |
| | | |
| | | return this.Editprogress++; |
| | | } else { |
| | | this.$message.warning("请先选择关联指标"); |
| | | } |
| | | }, |
| | | // 上一步 |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | display: flex; |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | width: 300px; |
| | | min-height: 100vh; |
| | | text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | .leftvlue { |
| | | // display: flex; |
| | | // flex: 1; |
| | | width: 80%; |
| | | margin-top: 20px; |
| | | // margin: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |