|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <!-- 基本信息 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 1"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | 基本信息<span>当前版本:{{ currentVersion }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">基本信息</div> | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="ruleForm" | 
|---|
|  |  |  | :rules="rules" | 
|---|
|  |  |  | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | class="demo-ruleForm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="宣教名称" prop="name"> | 
|---|
|  |  |  | <el-input v-model="ruleForm.name"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="宣教形式" prop="name"> | 
|---|
|  |  |  | <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-form-item label="宣教分类" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="ruleForm.classify" | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | allow-create | 
|---|
|  |  |  | 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-radio-group v-model="ruleForm.isAvailable"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in usable" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | >{{ item.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </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 options" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | v-for="item in mode" | 
|---|
|  |  |  | :key="item.label" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | :value="item.label" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="适用疾病" prop="sickness"> | 
|---|
|  |  |  | <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.sickness" | 
|---|
|  |  |  | v-model="ruleForm.campus" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | placeholder="请选择分类" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in sicknessoptions" | 
|---|
|  |  |  | 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="desc"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | :rows="4" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | v-model="ruleForm.desc" | 
|---|
|  |  |  | maxlength="400" | 
|---|
|  |  |  | show-word-limit | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | <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="submitForm('ruleForm')" | 
|---|
|  |  |  | <el-button type="success" @click="nextstep('ruleForm')" | 
|---|
|  |  |  | >下一步</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button @click="resetForm('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"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">宣教内容</div> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="ruleForm" | 
|---|
|  |  |  | :rules="rules" | 
|---|
|  |  |  | ref="ruleForm" | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | class="demo-ruleForm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="宣教介绍" prop="desc"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | class="demo-cascader" | 
|---|
|  |  |  | v-model="ruleForm.templatevalue" | 
|---|
|  |  |  | :options="asoptions" | 
|---|
|  |  |  | :props="{ expandTrigger: 'hover' }" | 
|---|
|  |  |  | ></el-cascader> | 
|---|
|  |  |  | <el-select v-model="ruleForm.data2" placeholder="提交提示"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in asoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | <div style="display: flex; margin-top: 20px"> | 
|---|
|  |  |  | <div class="PreviewTemplate" @click="PreviewTemplate()"> | 
|---|
|  |  |  | 预览模版 | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-button type="primary">确认引用</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="活动形式" prop="desc"> | 
|---|
|  |  |  | <el-input type="textarea" v-model="ruleForm.desc"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="活动形式" prop="desc"> | 
|---|
|  |  |  | <el-input type="textarea" v-model="ruleForm.desc"></el-input> | 
|---|
|  |  |  | <div class="addtopic"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="addvalue" | 
|---|
|  |  |  | @change="changeaddtopic" | 
|---|
|  |  |  | class="addtopic-input" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in options" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class="presentation"> | 
|---|
|  |  |  | <div class="presentation-left"> | 
|---|
|  |  |  | <el-table v-loading="loading" :data="userList"> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="序号" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="userid" | 
|---|
|  |  |  | prop="userid" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="题目" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="userName" | 
|---|
|  |  |  | prop="userName" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="操作" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | width="300" | 
|---|
|  |  |  | class-name="small-padding fixed-width" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <!-- <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="goQRCode(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span class="button-text" | 
|---|
|  |  |  | ><i class="el-icon-edit"></i>二维码</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="ViewQuestionnaire(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | ><span class="button-textck" | 
|---|
|  |  |  | ><i class="el-icon-edit"></i>查看</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > --> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="handleUpdate(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | ><span class="button-textxg" | 
|---|
|  |  |  | ><i class="el-icon-scissors"></i>修改</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="handleDelete(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:remove']" | 
|---|
|  |  |  | ><span class="button-textsc" | 
|---|
|  |  |  | ><i class="el-icon-delete"></i>删除</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <pagination | 
|---|
|  |  |  | v-show="total > 0" | 
|---|
|  |  |  | :total="total" | 
|---|
|  |  |  | :page.sync="queryParams.pageNum" | 
|---|
|  |  |  | :limit.sync="queryParams.pageSize" | 
|---|
|  |  |  | @pagination="getList" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="presentation-right"> | 
|---|
|  |  |  | <div class="headline">题目设置详情</div> | 
|---|
|  |  |  | <div>题目标题:<span>这家机构怎么样</span></div> | 
|---|
|  |  |  | <div>是否必答:<span>是</span> 是否隐藏:<span>否</span></div> | 
|---|
|  |  |  | <div class="headline">选项设置</div> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <p>选项1:<span>医疗机构</span></p> | 
|---|
|  |  |  | <p> | 
|---|
|  |  |  | 填写明细:<span>无</span> 异常选项:<span>无</span> | 
|---|
|  |  |  | 分值:<span>3</span> | 
|---|
|  |  |  | </p> | 
|---|
|  |  |  | <p>选中提示:<span>这个题有点难请注意</span></p> | 
|---|
|  |  |  | <p>选中跳转:<span>无</span></p> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item> | 
|---|
|  |  |  | <el-button type="success" @click="submitForm('ruleForm')" | 
|---|
|  |  |  | >立即创建</el-button | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="4"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">宣教内容</div> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :offset="16" :span="4"> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="upload-demo" | 
|---|
|  |  |  | :action="uploadImgUrlword" | 
|---|
|  |  |  | :on-success="uploadEditorSuccessword" | 
|---|
|  |  |  | :on-error="uploadEditorErrorword" | 
|---|
|  |  |  | :before-upload="beforeEditorUploadword" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button type="primary" @click="laststep()">上一步</el-button> | 
|---|
|  |  |  | <el-button @click="resetForm('ruleForm')">重置</el-button> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <el-button size="small" type="primary">word文件上传</el-button> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | </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"> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- </el-col> | 
|---|
|  |  |  | </el-row> --> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- <div> | 
|---|
|  |  |  | <div id="quillEditorQiniu"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | <quill-editor | 
|---|
|  |  |  | class="editor" | 
|---|
|  |  |  | v-model="content" | 
|---|
|  |  |  | ref="customQuillEditor" | 
|---|
|  |  |  | :options="editorOption" | 
|---|
|  |  |  | @blur="onEditorBlur" | 
|---|
|  |  |  | @focus="onEditorFocus" | 
|---|
|  |  |  | @change="onEditorChange" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </quill-editor> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | <!-- 新组件 --> | 
|---|
|  |  |  | <div style="border: 1px solid #ccc; margin: 10px"> | 
|---|
|  |  |  | <Toolbar | 
|---|
|  |  |  | style="border-bottom: 1px solid #ccc" | 
|---|
|  |  |  | :editor="editor" | 
|---|
|  |  |  | :defaultConfig="toolbarConfig" | 
|---|
|  |  |  | :mode="modes" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <Editor | 
|---|
|  |  |  | style="height: 500px; overflow-y: hidden" | 
|---|
|  |  |  | v-model="content" | 
|---|
|  |  |  | :defaultConfig="editorConfig" | 
|---|
|  |  |  | :mode="modes" | 
|---|
|  |  |  | @onCreated="onCreated" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </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 { Editor, Toolbar } from "@wangeditor/editor-for-vue"; | 
|---|
|  |  |  | 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 { | 
|---|
|  |  |  | name: "aEducationinfo", | 
|---|
|  |  |  | components: { OptionalForm, Editor, Toolbar }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | editor: null, | 
|---|
|  |  |  | content: "<p>hello</p>", | 
|---|
|  |  |  | toolbarConfig: {}, | 
|---|
|  |  |  | editorConfig: { | 
|---|
|  |  |  | placeholder: "请输入内容...", | 
|---|
|  |  |  | menus: [ | 
|---|
|  |  |  | "head", | 
|---|
|  |  |  | "bold", | 
|---|
|  |  |  | "italic", | 
|---|
|  |  |  | "underline", | 
|---|
|  |  |  | "image", | 
|---|
|  |  |  | "link", | 
|---|
|  |  |  | "list", | 
|---|
|  |  |  | "undo", | 
|---|
|  |  |  | "redo", | 
|---|
|  |  |  | "file", // 添加自定义文件上传菜单 | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | uploadImgServer: process.env.VUE_APP_BASE_API + "/common/uploadSort", // 图片上传接口 | 
|---|
|  |  |  | uploadImgHeaders: { | 
|---|
|  |  |  | Authorization: "Bearer " + getToken(), | 
|---|
|  |  |  | }, // 自定义上传的 headers | 
|---|
|  |  |  | uploadImgParams: { key: "value" }, // 自定义上传的参数 | 
|---|
|  |  |  | uploadImgMaxSize: 2 * 1024 * 1024, // 图片最大大小,单位 Byte | 
|---|
|  |  |  | uploadImgMaxLength: 1, // 一次最多上传图片数量 | 
|---|
|  |  |  | uploadImgTimeout: 3 * 60 * 1000, // 超时时间,单位 ms | 
|---|
|  |  |  | uploadImgHooks: { | 
|---|
|  |  |  | customInsert: (insertImgFn, result) => { | 
|---|
|  |  |  | const url = result.url; // 获取图片地址 | 
|---|
|  |  |  | insertImgFn(url); // 插入图片 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | customMenus: { | 
|---|
|  |  |  | file: { | 
|---|
|  |  |  | tip: "上传文件", | 
|---|
|  |  |  | click: (editor) => { | 
|---|
|  |  |  | const input = document.createElement("input"); | 
|---|
|  |  |  | input.type = "file"; | 
|---|
|  |  |  | input.accept = | 
|---|
|  |  |  | "application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // 支持的文件类型 | 
|---|
|  |  |  | input.onchange = (e) => { | 
|---|
|  |  |  | const file = e.target.files[0]; | 
|---|
|  |  |  | if (!file) return; | 
|---|
|  |  |  | const formData = new FormData(); | 
|---|
|  |  |  | formData.append("file", file); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 确保 process.env.VUE_APP_BASE_API 是正确的 | 
|---|
|  |  |  | const uploadUrl = | 
|---|
|  |  |  | process.env.VUE_APP_BASE_API + "/common/uploadSort"; | 
|---|
|  |  |  | axios | 
|---|
|  |  |  | .post(uploadUrl, formData, { | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | Authorization: "Bearer " + getToken(), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then((res) => { | 
|---|
|  |  |  | const url = res.data.url; // 获取文件地址 | 
|---|
|  |  |  | // 插入文件链接作为普通文本 | 
|---|
|  |  |  | editor.txt.append(url + " "); | 
|---|
|  |  |  | // 或者插入文件链接作为超链接 | 
|---|
|  |  |  | // editor.cmd.do('insertLink', { name: '文件链接', url: url }); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch((err) => { | 
|---|
|  |  |  | console.error("文件上传失败", err); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | input.click(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | modes: "default", // or 'simple' | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | Authorization: "Bearer " + getToken(), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", | 
|---|
|  |  |  | 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: `<p>测试</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/营养泵操作规范.mp4"></video><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/注射器推注.mp4"></video><p>321</p>"`, //最终保存的内容 | 
|---|
|  |  |  | 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", //当前版本 | 
|---|
|  |  |  | 
|---|
|  |  |  | radioas: "", //填空题答案 | 
|---|
|  |  |  | // 总条数 | 
|---|
|  |  |  | total: 1, | 
|---|
|  |  |  | hetype: "", | 
|---|
|  |  |  | id: null, | 
|---|
|  |  |  | ruleForm: { | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | shape: "", | 
|---|
|  |  |  | classify: "", | 
|---|
|  |  |  | region: "", | 
|---|
|  |  |  | date1: "", | 
|---|
|  |  |  | date2: "", | 
|---|
|  |  |  | delivery: false, | 
|---|
|  |  |  | type: [], | 
|---|
|  |  |  | resource: "", | 
|---|
|  |  |  | desc: "", | 
|---|
|  |  |  | templatevalue: "", | 
|---|
|  |  |  | data2: "", | 
|---|
|  |  |  | campus: [], | 
|---|
|  |  |  | heLibraryTagList: [], | 
|---|
|  |  |  | tempDetpRelevances: [], | 
|---|
|  |  |  | version: "1.0.1", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rules: {}, | 
|---|
|  |  |  | rulesa: { | 
|---|
|  |  |  | name: [ | 
|---|
|  |  |  | { required: true, message: "请输入活动名称", trigger: "blur" }, | 
|---|
|  |  |  | { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | region: [ | 
|---|
|  |  |  | { required: true, message: "请选择活动区域", trigger: "change" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | date1: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | type: "date", | 
|---|
|  |  |  | required: true, | 
|---|
|  |  |  | message: "请选择日期", | 
|---|
|  |  |  | trigger: "change", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | date2: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | type: "date", | 
|---|
|  |  |  | required: true, | 
|---|
|  |  |  | message: "请选择时间", | 
|---|
|  |  |  | trigger: "change", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | type: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | type: "array", | 
|---|
|  |  |  | required: true, | 
|---|
|  |  |  | message: "请至少选择一个活动性质", | 
|---|
|  |  |  | trigger: "change", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | resource: [ | 
|---|
|  |  |  | { required: true, message: "请选择活动资源", trigger: "change" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | options: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项1", | 
|---|
|  |  |  | label: "疾病宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项2", | 
|---|
|  |  |  | label: "入院宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项3", | 
|---|
|  |  |  | label: "手术宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项4", | 
|---|
|  |  |  | label: "护理宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | rulesa: {}, | 
|---|
|  |  |  | mode: [], | 
|---|
|  |  |  | editableTabs: [], | 
|---|
|  |  |  | sortlist: [], | 
|---|
|  |  |  | usable: [], | 
|---|
|  |  |  | courtyardlist: [], | 
|---|
|  |  |  | precedencetype: [], | 
|---|
|  |  |  | optionsillness: [], | 
|---|
|  |  |  | illnesslistapi: [], | 
|---|
|  |  |  | illnesslist: [], | 
|---|
|  |  |  | options: [], | 
|---|
|  |  |  | optionstag: [], | 
|---|
|  |  |  | deptList: [], | 
|---|
|  |  |  | tempDetpRelevanceslist: [], | 
|---|
|  |  |  | props: { multiple: true, value: "deptId", label: "deptName" }, | 
|---|
|  |  |  | // 内网的部分(文件) | 
|---|
|  |  |  | oldPattern: "http://192.168.191.181:8095/profile/upload", | 
|---|
|  |  |  | // 内网的部分(文件) | 
|---|
|  |  |  | oldPatternhtml: "/http:\/\/192\.168\.191\.181:8095\/profile\/upload\//g", | 
|---|
|  |  |  | // 外网部分(文件) | 
|---|
|  |  |  | newPattern: "http://218.108.11.22:8093/profile-api/upload", | 
|---|
|  |  |  |  | 
|---|
|  |  |  | xjxsoptions: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项1", | 
|---|
|  |  |  | value: "1", | 
|---|
|  |  |  | label: "图文", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项2", | 
|---|
|  |  |  | value: "2", | 
|---|
|  |  |  | label: "视频", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "选项3", | 
|---|
|  |  |  | value: "3", | 
|---|
|  |  |  | label: "音频", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | sicknessoptions: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "高血压", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "心脏病", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "糖尿病", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 4, | 
|---|
|  |  |  | label: "脊椎炎", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | asoptions: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "zhinan", | 
|---|
|  |  |  | label: "指南", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "shejiyuanze", | 
|---|
|  |  |  | label: "设计原则", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "yizhi", | 
|---|
|  |  |  | label: "一致", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "fankui", | 
|---|
|  |  |  | label: "反馈", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "xiaolv", | 
|---|
|  |  |  | label: "效率", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "kekong", | 
|---|
|  |  |  | label: "可控", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "daohang", | 
|---|
|  |  |  | label: "导航", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "cexiangdaohang", | 
|---|
|  |  |  | label: "侧向导航", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "dingbudaohang", | 
|---|
|  |  |  | label: "顶部导航", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "zujian", | 
|---|
|  |  |  | label: "组件", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "basic", | 
|---|
|  |  |  | label: "Basic", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "layout", | 
|---|
|  |  |  | label: "Layout 布局", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "color", | 
|---|
|  |  |  | label: "Color 色彩", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "typography", | 
|---|
|  |  |  | label: "Typography 字体", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "icon", | 
|---|
|  |  |  | label: "Icon 图标", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "button", | 
|---|
|  |  |  | label: "Button 按钮", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "form", | 
|---|
|  |  |  | label: "Form", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "radio", | 
|---|
|  |  |  | label: "Radio 单选框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "checkbox", | 
|---|
|  |  |  | label: "Checkbox 多选框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "input", | 
|---|
|  |  |  | label: "Input 输入框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "input-number", | 
|---|
|  |  |  | label: "InputNumber 计数器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "select", | 
|---|
|  |  |  | label: "Select 选择器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "cascader", | 
|---|
|  |  |  | label: "Cascader 级联选择器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "switch", | 
|---|
|  |  |  | label: "Switch 开关", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "slider", | 
|---|
|  |  |  | label: "Slider 滑块", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "time-picker", | 
|---|
|  |  |  | label: "TimePicker 时间选择器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "date-picker", | 
|---|
|  |  |  | label: "DatePicker 日期选择器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "datetime-picker", | 
|---|
|  |  |  | label: "DateTimePicker 日期时间选择器", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "upload", | 
|---|
|  |  |  | label: "Upload 上传", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "rate", | 
|---|
|  |  |  | label: "Rate 评分", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "form", | 
|---|
|  |  |  | label: "Form 表单", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "data", | 
|---|
|  |  |  | label: "Data", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "table", | 
|---|
|  |  |  | label: "Table 表格", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "tag", | 
|---|
|  |  |  | label: "Tag 标签", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "progress", | 
|---|
|  |  |  | label: "Progress 进度条", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "tree", | 
|---|
|  |  |  | label: "Tree 树形控件", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "pagination", | 
|---|
|  |  |  | label: "Pagination 分页", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "badge", | 
|---|
|  |  |  | label: "Badge 标记", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "notice", | 
|---|
|  |  |  | label: "Notice", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "alert", | 
|---|
|  |  |  | label: "Alert 警告", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "loading", | 
|---|
|  |  |  | label: "Loading 加载", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "message", | 
|---|
|  |  |  | label: "Message 消息提示", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "message-box", | 
|---|
|  |  |  | label: "MessageBox 弹框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "notification", | 
|---|
|  |  |  | label: "Notification 通知", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "navigation", | 
|---|
|  |  |  | label: "Navigation", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "menu", | 
|---|
|  |  |  | label: "NavMenu 导航菜单", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "tabs", | 
|---|
|  |  |  | label: "Tabs 标签页", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "breadcrumb", | 
|---|
|  |  |  | label: "Breadcrumb 面包屑", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "dropdown", | 
|---|
|  |  |  | label: "Dropdown 下拉菜单", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "steps", | 
|---|
|  |  |  | label: "Steps 步骤条", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "others", | 
|---|
|  |  |  | label: "Others", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "dialog", | 
|---|
|  |  |  | label: "Dialog 对话框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "tooltip", | 
|---|
|  |  |  | label: "Tooltip 文字提示", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "popover", | 
|---|
|  |  |  | label: "Popover 弹出框", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "card", | 
|---|
|  |  |  | label: "Card 卡片", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "carousel", | 
|---|
|  |  |  | label: "Carousel 走马灯", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "collapse", | 
|---|
|  |  |  | label: "Collapse 折叠面板", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "ziyuan", | 
|---|
|  |  |  | label: "资源", | 
|---|
|  |  |  | children: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "axure", | 
|---|
|  |  |  | label: "Axure Components", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "sketch", | 
|---|
|  |  |  | label: "Sketch Templates", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "jiaohu", | 
|---|
|  |  |  | label: "组件交互文档", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | valssu: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | addvalue: "添加题目", | 
|---|
|  |  |  | // 题目表格数据 | 
|---|
|  |  |  | userList: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: "1", | 
|---|
|  |  |  | userName: "一号宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: "2", | 
|---|
|  |  |  | userName: "二号宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: "3", | 
|---|
|  |  |  | userName: "三号宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: "4", | 
|---|
|  |  |  | userName: "四号宣教", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | variablelist: [ | 
|---|
|  |  |  | { variatename: "姓名", variate: "${name}", default: 1 }, | 
|---|
|  |  |  | { variatename: "电话", variate: "${phone}", default: 1 }, | 
|---|
|  |  |  | { variatename: "病情", variate: "${illness}", default: 1 }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // 查询参数 | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | IDnumber: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | activated() { | 
|---|
|  |  |  | if (this.id != this.$route.query.id) { | 
|---|
|  |  |  | this.gettabList(); | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.illnessUpdate(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | created() {}, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | beforeDestroy() { | 
|---|
|  |  |  | const editor = this.editor; | 
|---|
|  |  |  | if (editor == null) return; | 
|---|
|  |  |  | editor.destroy(); // 组件销毁时,及时销毁编辑器 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | submitForm(formName) { | 
|---|
|  |  |  | if (this.Editprogress <= 3) { | 
|---|
|  |  |  | return this.Editprogress++; | 
|---|
|  |  |  | onCreated(editor) { | 
|---|
|  |  |  | this.editor = Object.seal(editor); // 一定要用 Object.seal(),否则会报错 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // --------------------------------- | 
|---|
|  |  |  | 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]; | 
|---|
|  |  |  | if (this.ruleForm.campus) | 
|---|
|  |  |  | this.ruleForm.campus = this.ruleForm.campus.split(","); | 
|---|
|  |  |  | this.dynamicTags = res.data[0].heLibraryTagList.map( | 
|---|
|  |  |  | this.processElement | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if (this.ruleForm.htmlRichText) { | 
|---|
|  |  |  | this.Getmissioncontent(this.ruleForm.htmlRichText); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.rules = this.rulesa; | 
|---|
|  |  |  | //   提交 | 
|---|
|  |  |  | this.$refs[formName].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | alert("submit!"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | console.log("error submit!!"); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | // 宣教分类 | 
|---|
|  |  |  | getheLibraryAssort({ hetype: 1 }).then((res) => { | 
|---|
|  |  |  | this.sortlist = res.rows; | 
|---|
|  |  |  | console.log(this.sortlist); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 部门 | 
|---|
|  |  |  | listDept(this.queryParams).then((response) => { | 
|---|
|  |  |  | this.deptList = this.handleTree(response.data, "deptId"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ------------------ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // let html = | 
|---|
|  |  |  | //   '<p>测试</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/营养泵介绍.mp4"></video><p>测试111</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/注射器推注.mp4"></video><p><br></p>'; | 
|---|
|  |  |  | // // html = html.parserdom(this.oldPattern, this.newPattern); | 
|---|
|  |  |  | // html = this.parserdom(html); | 
|---|
|  |  |  | // console.log(html, "html"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // this.loading = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // parser | 
|---|
|  |  |  | parserdom(html) { | 
|---|
|  |  |  | // 创建一个新的DOM解析器 | 
|---|
|  |  |  | var parser = new DOMParser(); | 
|---|
|  |  |  | // 将字符串解析为文档对象 | 
|---|
|  |  |  | var doc = parser.parseFromString(html, "text/html"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 定义要替换的新旧URL | 
|---|
|  |  |  | var oldUrlBase = "http://192.168.191.181:8095/profile/upload"; | 
|---|
|  |  |  | var newUrlBase = "http://218.108.11.22:8093/profile-api/upload"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取所有的video元素 | 
|---|
|  |  |  | var videos = doc.querySelectorAll("video"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 遍历所有的video元素并替换src属性 | 
|---|
|  |  |  | videos.forEach(function (video) { | 
|---|
|  |  |  | var src = video.getAttribute("src"); | 
|---|
|  |  |  | if (src.startsWith(oldUrlBase)) { | 
|---|
|  |  |  | video.setAttribute("src", src.replace(oldUrlBase, newUrlBase)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 将修改后的文档转换回字符串 | 
|---|
|  |  |  | var newContent = doc.body.innerHTML; | 
|---|
|  |  |  | return newContent; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 查询题目列表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | //   this.loading = true; | 
|---|
|  |  |  | listUser().then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | // this.userList = response.data; | 
|---|
|  |  |  | // this.total = response.total; | 
|---|
|  |  |  | // this.loading = false; | 
|---|
|  |  |  | console.log(this.userList); | 
|---|
|  |  |  | submitForm(formName) { | 
|---|
|  |  |  | let tgs = []; | 
|---|
|  |  |  | this.dynamicTags.forEach((item) => { | 
|---|
|  |  |  | tgs.push(item.tagname); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | //   const { rows } = await listUser(); | 
|---|
|  |  |  | //   console.log(rows); | 
|---|
|  |  |  | //   this.list = rows; | 
|---|
|  |  |  | if (this.ruleForm.campus) { | 
|---|
|  |  |  | 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 = 1; | 
|---|
|  |  |  | console.log(22); | 
|---|
|  |  |  | this.ruleForm.suitway = | 
|---|
|  |  |  | this.ruleForm.suitway.length != 0 | 
|---|
|  |  |  | ? this.ruleForm.suitway.join(",") | 
|---|
|  |  |  | : ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | addrichText({ | 
|---|
|  |  |  | content: this.parserdom(this.content), | 
|---|
|  |  |  | fileName: this.generateRandomHtmlFilename(), | 
|---|
|  |  |  | }).then((res) => { | 
|---|
|  |  |  | this.ruleForm.richText = res.msg; | 
|---|
|  |  |  | console.log(this.ruleForm.richText, "this.ruleForm.richText"); | 
|---|
|  |  |  | // 处理内网html | 
|---|
|  |  |  | addrichText({ | 
|---|
|  |  |  | content: this.content, | 
|---|
|  |  |  | fileName: this.generateRandomHtmlFilename(), | 
|---|
|  |  |  | }).then((resf) => { | 
|---|
|  |  |  | this.ruleForm.htmlRichText = resf.msg.replace( | 
|---|
|  |  |  | this.newPattern, | 
|---|
|  |  |  | this.oldPattern | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | console.log(this.ruleForm.htmlRichText, "this.ruleForm.htmlRichText"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.id) { | 
|---|
|  |  |  | this.ruleForm.isoperation = 2; | 
|---|
|  |  |  | compilelibrary(this.ruleForm).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("编辑成功"); | 
|---|
|  |  |  | this.confirmillness(); | 
|---|
|  |  |  | this.$router.go(-1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.ruleForm.isoperation = 1; | 
|---|
|  |  |  | compilelibrary(this.ruleForm).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("新增成功"); | 
|---|
|  |  |  | this.confirmillness(res.data); | 
|---|
|  |  |  | this.$router.go(-1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeaddtopic(val) { | 
|---|
|  |  |  | console.log(11); | 
|---|
|  |  |  | console.log(val); | 
|---|
|  |  |  | this.addvalue = "添加题目"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | generateRandomHtmlFilename() { | 
|---|
|  |  |  | // 生成一个0到1之间的随机数,并将其转换为字符串 | 
|---|
|  |  |  | let randomNumber = Math.random().toString(); | 
|---|
|  |  |  | // 移除前面的0和小数点 | 
|---|
|  |  |  | randomNumber = randomNumber.substring(6); | 
|---|
|  |  |  | // 确保生成的随机数是一定长度的,例如8位 | 
|---|
|  |  |  | while (randomNumber.length < 8) { | 
|---|
|  |  |  | randomNumber = "0" + randomNumber; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 拼接上.html后缀 | 
|---|
|  |  |  | return randomNumber + ".html"; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 预览模版 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 保存疾病 | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | laststep() { | 
|---|
|  |  |  | this.Editprogress--; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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("上传成功"); | 
|---|
|  |  |  | //拼接出上传的图片在服务器的完整地址 | 
|---|
|  |  |  | let imgUrl = res.url; | 
|---|
|  |  |  | console.log(res.url); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | imgUrl = imgUrl.replace(this.newPattern, this.oldPattern); | 
|---|
|  |  |  | console.log(imgUrl, "imgUrl"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); | 
|---|
|  |  |  | this.fileName = this.getFileNameFromPath(res.url); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取富文本组件实例 | 
|---|
|  |  |  | let quill = this.$refs.customQuillEditor.quill; | 
|---|
|  |  |  | // 获取光标所在位置 | 
|---|
|  |  |  | let length = quill.getSelection().index; | 
|---|
|  |  |  | // 插入图片||视频  res.info为服务器返回的图片地址 | 
|---|
|  |  |  | if (type == "mp4" || type == "MP4" || type == "avi" || type == "AVI") { | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 上传word成功 | 
|---|
|  |  |  | uploadEditorSuccessword(res, file) { | 
|---|
|  |  |  | console.log("上传word文件成功"); | 
|---|
|  |  |  | console.log(res, file, "word"); | 
|---|
|  |  |  | let fileurl = res.url.replace(this.newPattern, this.oldPattern); | 
|---|
|  |  |  | axios | 
|---|
|  |  |  | .get(fileurl) | 
|---|
|  |  |  | .then((response) => { | 
|---|
|  |  |  | console.log(response.data, "数据"); // 输出获取到的文件内容 | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.content = response.data; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.fileName = this.getFileNameFromPath(response.url); | 
|---|
|  |  |  | console.log(this.fileName, "this.fileName"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .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(response.url); | 
|---|
|  |  |  | console.log(this.fileName, "this.fileName"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch((error) => { | 
|---|
|  |  |  | console.error("Failed to fetch file:", error); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 处理url | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style src="@wangeditor/editor/dist/css/style.css"></style> | 
|---|
|  |  |  | <style src="@/assets/styles/global.css"></style> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .Questionnairemanagement { | 
|---|
|  |  |  | 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), | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | -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; | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | height: 30px; | 
|---|
|  |  |  | border-left: 3px solid #41a1be; | 
|---|
|  |  |  | padding-left: 3px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: 80px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .demo-cascader { | 
|---|
|  |  |  | margin-right: 20px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .PreviewTemplate { | 
|---|
|  |  |  | color: #02a7f0; | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep .addtopic-input { | 
|---|
|  |  |  | input { | 
|---|
|  |  |  | background: #02a7f0; | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 150px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep.el-step.is-vertical .el-step__title { | 
|---|
|  |  |  | font-size: 25px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep.el-input--medium { | 
|---|
|  |  |  | font-size: 24px !important; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep.el-checkbox-group { | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // ::v-deep.el-form-item--medium .el-form-item__content { | 
|---|
|  |  |  | //   line-height: 36px; | 
|---|
|  |  |  | //   display: flex; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | </style> | 
|---|