¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧æ --> |
| | | <div class="sidecolumn"> |
| | | <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"> |
| | | <!-- åºæ¬ä¿¡æ¯ --> |
| | | <div v-if="Editprogress == 1"> |
| | | <div class="leftvlue-jbxx">åºæ¬ä¿¡æ¯</div> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="éç¥åç±»" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.assortid" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option-group |
| | | v-for="group in sortlist" |
| | | :key="group.id" |
| | | :label="group.assortname" |
| | | > |
| | | <el-option |
| | | v-for="item in group.heLibraryAssortList" |
| | | :key="item.id" |
| | | :label="item.assortname" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </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" |
| | | placeholder="请è¾å
¥æ é¢" |
| | | ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥æè¿°" prop="preachcontent"> |
| | | <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"> |
| | | <div style="margin-bottom: 5px" v-for="item in variablelist"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-input |
| | | v-model="item.variatename" |
| | | placeholder="请è¾å
¥åéå" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="8" :offset="1"> |
| | | <el-input |
| | | v-model="item.variate" |
| | | placeholder="请è¾å
¥åéå
容" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="8" :offset="1"> |
| | | <el-button |
| | | type="success" |
| | | icon="el-icon-plus" |
| | | circle |
| | | @click="addvariable(item)" |
| | | ></el-button> |
| | | <el-button |
| | | v-if="!item.default" |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | circle |
| | | @click="delvariable(item)" |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æä»¶" prop="sickness"> |
| | | <div style="width: 40%"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-change="handleChange" |
| | | :file-list="fileList" |
| | | > |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip"> |
| | | åªè½ä¸ä¼ jpg/png/xslæä»¶ï¼ä¸ä¸è¶
è¿50mb |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ ç¾" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="tag.tagname" |
| | | type="success" |
| | | v-for="tag in dynamicTags" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosetag(tag)" |
| | | > |
| | | {{ tag.tagname }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | | v-if="inputVisible" |
| | | @change="handleInputConfirm" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | default-first-option |
| | | :remote-method="remoteMethodtag" |
| | | :loading="loading" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in optionstag" |
| | | :key="item.tagid" |
| | | :label="item.tagname" |
| | | :value="item.tagname" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | v-else |
| | | class="button-new-tag" |
| | | size="small" |
| | | @click="showInput" |
| | | >+ æ°å¢æ ç¾</el-button |
| | | > |
| | | </div> |
| | | </el-form-item> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="çæ¬å·" prop="name"> |
| | | <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 |
| | | v-model="ruleForm.isavailable" |
| | | size="medium" |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in usable" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="éç¥æ¹å¼" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.suitway" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in mode" |
| | | :key="item.label" |
| | | :label="item.label" |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="éç¨ç¾ç
" prop="region"> |
| | | <el-button type="warning" @click="$refs.child.handleAddpatient()" |
| | | >æ·»å ç¾ç
</el-button |
| | | > |
| | | </el-form-item> --> |
| | | <el-form-item label="éç¨é¢åº" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="è¯·éæ©åç±»" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in courtyardlist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éç¨ç§å®¤" prop="region"> |
| | | <el-cascader |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | | >ä¸ä¸æ¥</el-button |
| | | > |
| | | <el-button type="success" @click="Departmenttreatment('ruleForm')" |
| | | >ä¿å</el-button |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')">å
³é</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- éç¥å
容 --> |
| | | <div v-if="Editprogress == 2"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="4"><div class="leftvlue-jbxx">éç¥å
容</div></el-col> |
| | | </el-row> |
| | | |
| | | <div> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-row gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="èµæå½¢å¼" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.shape" |
| | | placeholder="è¯·éæ©å
容形å¼" |
| | | > |
| | | <el-option |
| | | v-for="item in xjxsoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div> |
| | | <el-button @click="laststep('ruleForm')">ä¸ä¸æ¥</el-button> |
| | | <el-button |
| | | type="success" |
| | | @click="Departmenttreatment('ruleForm')" |
| | | >ä¿å</el-button |
| | | > |
| | | <el-button |
| | | type="warning" |
| | | @click="Departmenttreatment('ruleForm')" |
| | | >å¦åæ°çæ¬</el-button |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')" |
| | | >å
³é</el-button |
| | | > |
| | | </div></el-col |
| | | > |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :action="uploadImgUrlword" |
| | | :on-success="uploadEditorSuccessword" |
| | | :on-error="uploadEditorErrorword" |
| | | :before-upload="beforeEditorUploadword" |
| | | :headers="headers" |
| | | > |
| | | <el-button size="small" type="primary">wordæä»¶ä¸ä¼ </el-button> |
| | | </el-upload> |
| | | <div id="quillEditorQiniu"> |
| | | <!-- åºäºelementUiçä¸ä¼ ç»ä»¶ el-upload begin--> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | :action="uploadImgUrl" |
| | | :accept="'image/*,video/*'" |
| | | :show-file-list="false" |
| | | :on-success="uploadEditorSuccess" |
| | | :on-error="uploadEditorError" |
| | | :before-upload="beforeEditorUpload" |
| | | :headers="headers" |
| | | > |
| | | </el-upload> |
| | | <!-- åºäºelementUiçä¸ä¼ ç»ä»¶ el-upload end--> |
| | | <quill-editor |
| | | class="editor" |
| | | v-model="content" |
| | | ref="customQuillEditor" |
| | | :options="editorOption" |
| | | @blur="onEditorBlur" |
| | | @focus="onEditorFocus" |
| | | @change="onEditorChange" |
| | | > |
| | | </quill-editor> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- æ·»å éç¨ç¾ç
çªå£ --> |
| | | <Optional-Form |
| | | ref="child" |
| | | :dialogVisiblepatient="dialogVisiblepatient" |
| | | :overallCase="illnesslist" |
| | | @addoption="dialogVisiblepatient = false" |
| | | @kkoption="dialogVisiblepatient = true" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { quillEditor } from "vue-quill-editor"; |
| | | import axios from "axios"; |
| | | |
| | | import { |
| | | getheLibraryAssort, |
| | | delheLibraryAssort, |
| | | addheLibraryAssort, |
| | | addtargetillness, |
| | | getlibrarylist, |
| | | dellibraryinfo, |
| | | deltargetillness, |
| | | compilelibrary, |
| | | addrichText, |
| | | getlibraryinfo, |
| | | getillnesslist, |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import OptionalForm from "@/components/OptionalForm"; //æ£åç»ä»¶ |
| | | |
| | | import { listDept } from "@/api/system/dept"; |
| | | // import * as Quill from "quill"; |
| | | import Quill from "quill"; |
| | | import { listtag } from "@/api/system/label"; |
| | | import store from "@/store"; |
| | | |
| | | // è¿éå¼å
¥ä¿®æ¹è¿çvideo模å并注å |
| | | import Video from "./video"; |
| | | Quill.register(Video, true); |
| | | //è·åç»å½tokenï¼å¼å
¥æä»¶ï¼å¦æåªæ¯ç®åæµè¯ï¼æ²¡æä¸ä¼ æä»¶æ¯å¦ç»å½çéå¶çè¯ï¼ |
| | | //è¿ä¸ªtokenå¯ä»¥ä¸ç¨è·åï¼æä»¶å¯ä»¥ä¸å¼å
¥ï¼æä¸é¢å¯¹åºçä¸ä¼ æä»¶æºå¸¦è¯·æ±å¤´ :headers="headers" è¿ä¸ªä»£ç å æå³å¯ |
| | | import { getToken } from "@/utils/auth"; |
| | | const toolbarOptions = [ |
| | | ["bold", "italic", "underline", "strike"], // toggled buttons |
| | | ["blockquote", "code-block"], |
| | | |
| | | [{ header: 1 }, { header: 2 }], // custom button values |
| | | [{ list: "ordered" }, { list: "bullet" }], |
| | | [{ script: "sub" }, { script: "super" }], // superscript/subscript |
| | | [{ indent: "-1" }, { indent: "+1" }], // outdent/indent |
| | | [{ direction: "rtl" }], // text direction |
| | | |
| | | [{ size: ["small", false, "large", "huge"] }], // custom dropdown |
| | | [{ header: [1, 2, 3, 4, 5, 6, false] }], |
| | | |
| | | [{ color: [] }, { background: [] }], // dropdown with defaults from theme |
| | | [{ font: [] }], |
| | | [{ align: [] }], |
| | | ["link", "image", "video"], |
| | | ["clean"], // remove formatting button |
| | | ]; |
| | | |
| | | export default { |
| | | components: { OptionalForm }, |
| | | data() { |
| | | return { |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow", |
| | | uploadUrlPath: "没ææä»¶ä¸ä¼ ", |
| | | quillUpdateImg: false, |
| | | fileList: [ |
| | | { |
| | | name: "food.jpeg", |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | { |
| | | name: "food2.jpeg", |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | ], |
| | | content: "", //æç»ä¿åçå
容 |
| | | fileName: "", //æä»¶å |
| | | dynamicTags: [], |
| | | inputVisible: false, |
| | | illnessVisible: false, |
| | | dialogVisiblepatient: false, //éç¨ç¾ç
çªå£ |
| | | inputValue: "", |
| | | // å¯ææ¬ |
| | | editorOption: { |
| | | placeholder: "ä½ æ³è¯´ä»ä¹ï¼", |
| | | modules: { |
| | | imageResize: { |
| | | displayStyles: { |
| | | backgroundColor: "black", |
| | | border: "none", |
| | | color: "white", |
| | | }, |
| | | modules: ["Resize", "DisplaySize", "Toolbar"], |
| | | }, |
| | | toolbar: { |
| | | container: toolbarOptions, // å·¥å
·æ |
| | | handlers: { |
| | | image: function (value) { |
| | | if (value) { |
| | | document |
| | | .querySelector("#quillEditorQiniu .avatar-uploader input") |
| | | .click(); |
| | | } else { |
| | | this.quill.format("image", false); |
| | | } |
| | | }, |
| | | video: function (value) { |
| | | if (value) { |
| | | document |
| | | .querySelector("#quillEditorQiniu .avatar-uploader input") |
| | | .click(); |
| | | } else { |
| | | this.quill.format("video", false); |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | |
| | | sidecolumnrabs: "left", //æ¹å |
| | | Editprogress: 1, //ç¼è¾è¿åº¦ |
| | | currentVersion: "1.2.3", //å½åçæ¬ |
| | | loading: false, // é®ç½©å± |
| | | drawer: false, //æ§å¶å±å¼ |
| | | radio: "false", //åéé¢éä¸ |
| | | radios: [], //å¤éé¢éä¸ |
| | | radioas: "", //填空é¢çæ¡ |
| | | // æ»æ¡æ° |
| | | total: 1, |
| | | hetype: "", |
| | | id: null, |
| | | ruleForm: { |
| | | campus: [], |
| | | heLibraryTagList: [], |
| | | tempDetpRelevances: [], |
| | | version: "1.0.1", |
| | | }, |
| | | rules: {}, |
| | | rulesa: {}, |
| | | mode: [], |
| | | editableTabs: [], |
| | | sortlist: [], |
| | | usable: [], |
| | | courtyardlist: [], |
| | | precedencetype: [], |
| | | optionsillness: [], |
| | | illnesslistapi: [], |
| | | illnesslist: [], |
| | | options: [], |
| | | optionstag: [], |
| | | deptList: [], |
| | | tempDetpRelevanceslist: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | xjxsoptions: [ |
| | | { |
| | | value: "1", |
| | | label: "徿", |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "è§é¢", |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "é³é¢", |
| | | }, |
| | | ], |
| | | valssu: [ |
| | | { |
| | | idd: 1, |
| | | wssd: "ä½ æè¿æä¹æ ·", |
| | | sdadd: ["sss", "ssccss", "ssaas", "ss"], |
| | | }, |
| | | ], |
| | | addvalue: "æ·»å é¢ç®", |
| | | |
| | | variablelist: [ |
| | | { variatename: "å§å", variate: "${name}", default: 1 }, |
| | | { variatename: "çµè¯", variate: "${phone}", default: 1 }, |
| | | { variatename: "ç
æ
", variate: "${illness}", default: 1 }, |
| | | ], |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | | created() { |
| | | this.gettabList(); |
| | | this.getList(); |
| | | this.illnessUpdate(); |
| | | this.mode = store.getters.mode; |
| | | this.editableTabs = store.getters.editableTabs; |
| | | this.usable = store.getters.usable; |
| | | this.precedencetype = store.getters.precedencetype; |
| | | this.courtyardlist = store.getters.courtyardlist; |
| | | }, |
| | | watch: { |
| | | content(newVal, oldVal) { |
| | | //this.$emit('input', newVal); |
| | | console.log(newVal, "A"); |
| | | console.log(oldVal, "B"); |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | processElement(element) { |
| | | return { ...element, isoperation: null }; |
| | | }, |
| | | // è·å页颿°æ® |
| | | getList() { |
| | | this.loading = true; |
| | | this.id = this.$route.query.id; |
| | | this.hetype = this.$route.query.hetype; |
| | | 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 |
| | | ); |
| | | this.Getmissioncontent(this.ruleForm.richText); |
| | | 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({ hetype: 2 }).then((res) => { |
| | | this.sortlist = res.rows; |
| | | console.log(this.sortlist); |
| | | }); |
| | | // é¨é¨ |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | this.loading = false; |
| | | }, |
| | | |
| | | submitForm(formName) { |
| | | let tgs = []; |
| | | this.dynamicTags.forEach((item) => { |
| | | tgs.push(item.tagname); |
| | | }); |
| | | this.ruleForm.campus = this.ruleForm.campus.join(","); |
| | | this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : ""; |
| | | this.ruleForm.otherdata = JSON.stringify(this.variablelist); |
| | | this.ruleForm.hetype = 2; |
| | | console.log(22); |
| | | this.ruleForm.suitway = |
| | | this.ruleForm.suitway.length != 0 |
| | | ? this.ruleForm.suitway.join(",") |
| | | : ""; |
| | | |
| | | addrichText({ |
| | | content: this.content, |
| | | fileName: this.fileName ? this.fileName : "æµè¯.html", |
| | | }).then((res) => { |
| | | this.ruleForm.richText = res.msg; |
| | | if (this.id) { |
| | | this.ruleForm.isoperation = 2; |
| | | compilelibrary(this.ruleForm).then((res) => { |
| | | this.$modal.msgSuccess("ç¼è¾æå"); |
| | | this.confirmillness(); |
| | | this.$router.go(-1); |
| | | }); |
| | | } else { |
| | | this.ruleForm.isoperation = 1; |
| | | compilelibrary(this.ruleForm).then((res) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.confirmillness(res.data); |
| | | this.$router.go(-1); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // ä¿åç¾ç
|
| | | confirmillness(guid) { |
| | | this.illnesslist.forEach((item, index) => { |
| | | if (guid) { |
| | | item.outid = guid; |
| | | } else { |
| | | console.log(this.ruleForm); |
| | | item.outid = this.ruleForm.id; |
| | | } |
| | | item.icd10name = item.icdname; |
| | | item.icd10code = item.icdcode; |
| | | item.type = 6; |
| | | if (!item.id) { |
| | | addtargetillness(item).then((res) => {}); |
| | | } |
| | | }); |
| | | this.illnessVisible = false; |
| | | this.$modal.msgSuccess("ç¼è¾æå"); |
| | | }, |
| | | getFileNameFromPath(path) { |
| | | const parts = path.split("/"); |
| | | return parts[parts.length - 1]; |
| | | }, |
| | | // ä¸ä¸æ¥ |
| | | nextstep() { |
| | | if (this.Editprogress <= 1) { |
| | | return this.Editprogress++; |
| | | } |
| | | }, |
| | | // ä¸ä¸æ¥ |
| | | laststep() { |
| | | this.Editprogress = this.Editprogress - 1; |
| | | }, |
| | | // å
³é |
| | | closeFm() { |
| | | this.$confirm("éåºä¸ä¼ä¿ç页é¢å
å®¹æ´æ¹, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$router.go(-1); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已忶", |
| | | }); |
| | | }); |
| | | }, |
| | | // ç§å®¤å¤ç |
| | | Departmenttreatment() { |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | | ); |
| | | // idæ°ç»æ¥æ°ç»å¯¹è±¡ |
| | | result.forEach((item) => { |
| | | const condition = this.ruleForm.tempDetpRelevances.some( |
| | | (obj) => obj.deptId === item |
| | | ); |
| | | if (!condition) { |
| | | listDept({ deptId: item }).then((res) => { |
| | | console.log("dept"); |
| | | res.data[0].type = 2; |
| | | this.ruleForm.tempDetpRelevances.push(res.data[0]); |
| | | }); |
| | | } |
| | | }); |
| | | // æ°ç»å¯¹è±¡æ¥idæ°ç» |
| | | this.ruleForm.tempDetpRelevances.forEach((item) => { |
| | | const condition = result.some((obj) => obj === item.deptId); |
| | | if (!condition) { |
| | | const index = this.ruleForm.tempDetpRelevances.indexOf(item); |
| | | this.ruleForm.tempDetpRelevances[index].delFlag = 1; |
| | | } |
| | | }); |
| | | setTimeout(() => { |
| | | this.submitForm(); |
| | | }, 1000); |
| | | // this.submitForm(); |
| | | }, |
| | | // ä¿åé¢ç®ä¿¡æ¯ |
| | | Saveproblem() {}, |
| | | /** æ¥è¯¢é¢ç®å表 */ |
| | | |
| | | // æ°å¢åé |
| | | addvariable() { |
| | | this.variablelist.push({ |
| | | variatename: "", |
| | | variate: "", |
| | | }); |
| | | }, |
| | | // å é¤åé |
| | | delvariable(item) { |
| | | const index = this.variablelist.indexOf(item); |
| | | if (index !== -1) { |
| | | this.variablelist.splice(index, 1); // ä»ç´¢å¼ä½ç½®å é¤ä¸ä¸ªå
ç´ |
| | | } else { |
| | | console.log("æªæ¾å°è¯¥å¯¹è±¡"); |
| | | } |
| | | }, |
| | | // æ§å¶æä»¶ |
| | | handleChange(file, fileList) { |
| | | this.fileList = fileList.slice(-3); |
| | | }, |
| | | // æ ç¾----------------- |
| | | gettabList() { |
| | | const tagqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 1000, |
| | | tagcategoryid: "0", |
| | | }; |
| | | listtag(tagqueryParams).then((response) => { |
| | | this.optionstag = response.rows; |
| | | }); |
| | | }, |
| | | handleClosetag(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; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | | let tagname = this.inputValue; |
| | | if (tagname) { |
| | | listtag({ |
| | | pageNum: 1, |
| | | pageSize: 1000, |
| | | tagcategoryid: "0", |
| | | tagname: tagname, |
| | | }).then((res) => { |
| | | if (res.rows[0]) { |
| | | tagvalue = res.rows[0]; |
| | | tagvalue.isoperation = 1; |
| | | } else { |
| | | tagvalue = { |
| | | tagname: tagname, |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | this.ruleForm.heLibraryTagList.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | }); |
| | | } |
| | | this.inputVisible = false; |
| | | this.inputValue = ""; |
| | | }, |
| | | remoteMethodtag(query) { |
| | | if (query !== "") { |
| | | this.loading = true; |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { |
| | | this.optionstag = res.rows; |
| | | }); |
| | | }, 200); |
| | | } else { |
| | | this.optionstag = []; |
| | | } |
| | | }, |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | }, |
| | | // ç¾ç
----------------------- |
| | | illnessUpdate() { |
| | | if (this.id) { |
| | | getillness({ outid: this.$route.query.id, type: 6 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | this.illnesslist.forEach((item) => { |
| | | item.icdname = item.icd10name; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // -------------------------- |
| | | |
| | | // é¢è§æ¨¡ç |
| | | PreviewTemplate() { |
| | | this.drawer = true; |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | |
| | | //ä¸ä¼ å¾çä¹åasync |
| | | beforeEditorUpload(res, file) { |
| | | //æ¾ç¤ºä¸ä¼ å¨ç» |
| | | this.quillUpdateImg = true; |
| | | // const res1 = await uploadImage() |
| | | // console.log(res1,'====='); |
| | | // this.$emit('before',res, file) |
| | | console.log(res); |
| | | console.log(file); |
| | | }, |
| | | // ä¸ä¼ å¾çæå |
| | | uploadEditorSuccess(res, file) { |
| | | console.log("ä¸ä¼ æå"); |
| | | // this.$emit('upload',res, file) |
| | | console.log(res, file); |
| | | //æ¼æ¥åºä¸ä¼ çå¾ç卿å¡å¨ç宿´å°å |
| | | let imgUrl = res.url; |
| | | let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); |
| | | console.log(type); |
| | | // è·å坿æ¬ç»ä»¶å®ä¾ |
| | | let quill = this.$refs.customQuillEditor.quill; |
| | | // è·åå
æ æå¨ä½ç½® |
| | | let length = quill.getSelection().index; |
| | | // æå
¥å¾ç||è§é¢ res.info为æå¡å¨è¿åçå¾çå°å |
| | | if (type == "mp4" || type == "MP4") { |
| | | window.jsValue = imgUrl; |
| | | quill.insertEmbed(length, "video", imgUrl); |
| | | } else { |
| | | quill.insertEmbed(length, "image", imgUrl); |
| | | } |
| | | // è°æ´å
æ å°æå |
| | | quill.setSelection(length + 1); |
| | | //åæ¶ä¸ä¼ å¨ç» |
| | | this.quillUpdateImg = false; |
| | | }, |
| | | // 失å»ç¦ç¹äºä»¶ |
| | | onEditorBlur(e) { |
| | | console.log("onEditorBlur: ", e); |
| | | }, |
| | | // è·å¾ç¦ç¹äºä»¶ |
| | | onEditorFocus(e) { |
| | | console.log("onEditorFocus: ", e); |
| | | }, |
| | | // å
容æ¹åäºä»¶ |
| | | onEditorChange(e) { |
| | | console.log("onEditorChange: ", e); |
| | | }, |
| | | // ä¸ä¼ (æä»¶)å¾ç失败 |
| | | uploadEditorError(res, file) { |
| | | console.log(res, "word"); |
| | | console.log(file, "word"); |
| | | //é¡µé¢æç¤º |
| | | this.$message.error("ä¸ä¼ å¾ç失败"); |
| | | //åæ¶ä¸ä¼ å¨ç» |
| | | this.quillUpdateImg = false; |
| | | }, |
| | | //ä¸ä¼ ç»ä»¶è¿åçç»æ |
| | | uploadResult: function (res) { |
| | | this.uploadUrlPath = res; |
| | | }, |
| | | // ä¸ä¼ (æä»¶)å¾ç失败 |
| | | uploadEditorErrorword(res, file) { |
| | | console.log(res); |
| | | console.log(file); |
| | | //é¡µé¢æç¤º |
| | | this.$message.error("ä¸ä¼ å¾ç失败"); |
| | | //åæ¶ä¸ä¼ å¨ç» |
| | | this.quillUpdateImg = false; |
| | | }, |
| | | //ä¸ä¼ å¾çä¹åasync |
| | | beforeEditorUploadword(res, file) { |
| | | //æ¾ç¤ºä¸ä¼ å¨ç» |
| | | this.quillUpdateImg = true; |
| | | // const res1 = await uploadImage() |
| | | // console.log(res1,'====='); |
| | | // this.$emit('before',res, file) |
| | | console.log(res); |
| | | console.log(file); |
| | | }, |
| | | // ä¸ä¼ å¾çæå |
| | | uploadEditorSuccessword(res, file) { |
| | | console.log("ä¸ä¼ æå"); |
| | | const data = null; |
| | | console.log(res, file, "word"); |
| | | axios |
| | | .get(res.url) |
| | | .then((response) => { |
| | | console.log(response.data, "æ°æ®"); // è¾åºè·åå°çæä»¶å
容 |
| | | this.content = response.data; |
| | | this.texturl = res.url; |
| | | this.fileName = this.getFileNameFromPath(res.url); |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Failed to fetch file:", error); |
| | | }); |
| | | }, |
| | | Getmissioncontent(url) { |
| | | axios |
| | | .get(url) |
| | | .then((response) => { |
| | | console.log(response.data, "æ°æ®"); // è¾åºè·åå°çæä»¶å
容 |
| | | this.content = response.data; |
| | | this.fileName = this.getFileNameFromPath(res.url); |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Failed to fetch file:", error); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | // width: 300px; |
| | | // min-height: 100vh; |
| | | // text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | 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; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | 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); |
| | | .mulsz { |
| | | font-size: 20px; |
| | | } |
| | | .leftvlue-jbxx { |
| | | margin-bottom: 50px; |
| | | font-size: 20px; |
| | | span { |
| | | position: absolute; |
| | | right: 80px; |
| | | } |
| | | } |
| | | .demo-cascader { |
| | | margin-right: 20px; |
| | | } |
| | | .PreviewTemplate { |
| | | color: #02a7f0; |
| | | cursor: pointer; |
| | | font-size: 20px; |
| | | margin: 0 20px; |
| | | } |
| | | } |
| | | .xinz-inf { |
| | | font-size: 18px; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | |
| | | line-height: 48px; |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | .button-new-tag { |
| | | margin-left: 10px; |
| | | height: 32px; |
| | | line-height: 30px; |
| | | padding-top: 0; |
| | | padding-bottom: 0; |
| | | } |
| | | .input-new-tag { |
| | | width: 90px; |
| | | margin-left: 10px; |
| | | vertical-align: bottom; |
| | | } |
| | | } |
| | | .preview-left { |
| | | margin: 20px; |
| | | // margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | 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); |
| | | .topic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | .addtopic { |
| | | margin-top: 30px; |
| | | } |
| | | .presentation { |
| | | margin: 20px 0; |
| | | display: flex; |
| | | .presentation-left { |
| | | width: 50%; |
| | | height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | | } |
| | | .button-textsc { |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .presentation-right { |
| | | width: 50%; |
| | | height: 500px; |
| | | padding: 20px; |
| | | font-size: 18px; |
| | | border: 1px solid #909091; |
| | | span { |
| | | padding: 0 35px; |
| | | margin-right: 10px; |
| | | border-bottom: 1px solid #909091; |
| | | } |
| | | .headline { |
| | | font-size: 20px; |
| | | border-left: 3px solid #41a1be; |
| | | padding-left: 5px; |
| | | margin: 15px 0; |
| | | } |
| | | } |
| | | } |
| | | ::v-deep .addtopic-input { |
| | | input { |
| | | background: #02a7f0; |
| | | color: #edf1f7; |
| | | width: 150px; |
| | | } |
| | | } |
| | | ::v-deep.el-step.is-vertical .el-step__title { |
| | | font-size: 25px; |
| | | } |
| | | ::v-deep.el-input--medium { |
| | | font-size: 18px !important; |
| | | } |
| | | ::v-deep.ruleFormaa.el-select { |
| | | display: inline-block; |
| | | position: relative; |
| | | width: 700px; |
| | | } |
| | | .el-select__tags { |
| | | font-size: 20px; |
| | | max-width: 888px !important; |
| | | } |
| | | ::v-deep.el-radio__inner { |
| | | width: 22px; |
| | | height: 22px; |
| | | } |
| | | // ::v-deep.topic-dev.el-radio__label { |
| | | // font-size: 24px; |
| | | // } |
| | | ::v-deep.el-radio-group { |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | ::v-deep.el-checkbox-group { |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | .editor { |
| | | line-height: normal !important; |
| | | height: 600px; |
| | | margin-bottom: 80px; |
| | | } |
| | | .ql-snow .ql-tooltip[data-mode="link"]::before { |
| | | content: "请è¾å
¥é¾æ¥å°å:"; |
| | | } |
| | | .ql-snow .ql-tooltip.ql-editing a.ql-action::after { |
| | | border-right: 0px; |
| | | content: "ä¿å"; |
| | | padding-right: 0px; |
| | | } |
| | | |
| | | .ql-snow .ql-tooltip[data-mode="video"]::before { |
| | | content: "请è¾å
¥è§é¢å°å:"; |
| | | } |
| | | |
| | | .ql-snow .ql-picker.ql-size .ql-picker-label::before, |
| | | .ql-snow .ql-picker.ql-size .ql-picker-item::before { |
| | | content: "14px"; |
| | | } |
| | | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before, |
| | | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { |
| | | content: "10px"; |
| | | } |
| | | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before, |
| | | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { |
| | | content: "18px"; |
| | | } |
| | | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before, |
| | | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { |
| | | content: "32px"; |
| | | } |
| | | |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item::before { |
| | | content: "ææ¬"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { |
| | | content: "æ é¢1"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { |
| | | content: "æ é¢2"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { |
| | | content: "æ é¢3"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { |
| | | content: "æ é¢4"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { |
| | | content: "æ é¢5"; |
| | | } |
| | | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, |
| | | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { |
| | | content: "æ é¢6"; |
| | | } |
| | | |
| | | .ql-snow .ql-picker.ql-font .ql-picker-label::before, |
| | | .ql-snow .ql-picker.ql-font .ql-picker-item::before { |
| | | content: "æ ååä½"; |
| | | } |
| | | .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before, |
| | | .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { |
| | | content: "衬线åä½"; |
| | | } |
| | | .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before, |
| | | .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { |
| | | content: "ç宽åä½"; |
| | | } |
| | | </style> |