From 96e692bbc9665d4740be16f75f092ff3005b9aa8 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期三, 22 十一月 2023 15:58:24 +0800 Subject: [PATCH] Merge branch 'wulong' of http://116.62.18.175:6699/r/~yxh/smartor-web into yxh01 --- src/views/patient/servefn/index.vue | 822 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 810 insertions(+), 12 deletions(-) diff --git a/src/views/patient/servefn/index.vue b/src/views/patient/servefn/index.vue index 92b4835..2f0b835 100644 --- a/src/views/patient/servefn/index.vue +++ b/src/views/patient/servefn/index.vue @@ -1,27 +1,825 @@ <template> - <div> -鎮h�呮湇鍔� + <div class="Questionnairemanagement"> + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div class="sidecolumn-top"> + <div class="top-wj">鎮h�呮潵婧�</div> + </div> + + <div class="bottom-fl"> + <el-tabs + tab-position="right" + v-model="activeName" + @tab-click="handleClick" + > + <el-tab-pane label="鍏ㄩ儴" name="first"></el-tab-pane> + <el-tab-pane label="浣忛櫌" name="bhospitalized"></el-tab-pane> + <el-tab-pane label="鍦ㄩ櫌" name="Inhospital"></el-tab-pane> + <el-tab-pane label="闂ㄨ瘖" name="outpatient"></el-tab-pane> + <el-tab-pane label="浣撴" name="physical"></el-tab-pane> + </el-tabs> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + <div class="leftvlue"> + <div> + <el-row :gutter="8"> + <el-col :span="2.5"> + <el-card shadow="hover"> + <div style="padding: 10px"> + <span>鎮h�呮�绘暟</span> + <div class="bottom clearfix">1232</div> + </div> + </el-card> + </el-col> + <el-col :span="2.5"> + <el-card shadow="hover"> 榧犳爣鎮诞鏃舵樉绀� </el-card> + </el-col> + <el-col :span="2.5"> + <el-card shadow="hover"> 浠庝笉鏄剧ず </el-card> + </el-col> + </el-row> + </div> + <div class="leftvlue-bg"> + <el-row :gutter="20"> + <!--鏍囩鏁版嵁--> + <el-col :span="24" :xs="24"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="鍖婚櫌" prop="userName"> + <el-select v-model="queryParams.value1" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑洪櫌鐥呭尯" prop="userName"> + <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="绠$悊鏂规" prop="userName"> + <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑洪櫌鏃ユ湡" prop="userName"> + <el-date-picker + v-model="queryParams.valuetime1" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptionsa" + > + </el-date-picker> + </el-form-item> + <el-form-item label="璁″垝闅忚鏃ユ湡" prop="userName"> + <el-date-picker + v-model="queryParams.valuetime2" + align="right" + type="date" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="pickerOptions" + > + </el-date-picker> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + @click="addladeltag" + v-hasPermi="['system:user:add']" + >鏂板</el-button + > + </el-col> + + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="medium" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</el-button + > + </div> + </div> + </el-col> + + <!-- <el-col :span="1.5"> </el-col> --> + </el-row> + <!-- <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + :columns="columns" + ></right-toolbar> --> + <el-table + v-loading="loading" + :data="userList" + :border="true" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <el-table-column + fixed + label="搴忓彿" + align="center" + key="tagid" + prop="tagid" + width="50" + /> + <el-table-column + fixed + label="鍑洪櫌鐥呭尯" + align="center" + key="tagname" + prop="tagname" + width="100" + :show-overflow-tooltip="true" + /> + <el-table-column + label="搴旈殢璁挎暟" + align="center" + key="updateTime" + prop="updateTime" + > + <template slot-scope="scope"> + <span + >{{ scope.row.updateBy }} + <p>{{ scope.row.updateTime }}</p></span + > + </template> + </el-table-column> + + <el-table-column + label="闅忚瀹屾垚鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="闅忚瀹屾垚鐜�" + align="center" + key="isupload" + prop="isupload" + > + </el-table-column> + <el-table-column + label="AI澶栧懠娆℃暟" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="AI闅忚瀹屾垚鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="AI闅忚瀹屾垚鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="寰俊鍙戦�佹鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="寰俊闅忚瀹屾垚鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="寰俊闅忚瀹屾垚鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鐭俊鍙戦�佹鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鐭俊闅忚瀹屾垚鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鐭俊闅忚瀹屾垚鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="浜哄伐闅忚娆℃暟" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="浜哄伐闅忚瀹屾垚鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="浜哄伐闅忚瀹屾垚鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="澶辫鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="澶辫鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="澶辫鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="寮傚父鎬绘暟" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鎬诲紓甯哥巼" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鍥炲寮傚父鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鍥炲寮傚父鍙婃椂澶勭悊鏁�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + <el-table-column + label="鍥炲寮傚父鍙婃椂澶勭悊鐜�" + align="center" + key="tagdescription" + prop="tagdescription" + > + </el-table-column> + + <!-- <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="handleUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-textxg" + ><i class="el-icon-edit"></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" + /> + </el-col> + </el-row> + </div> + </div> </div> </template> <script> -export default { - data () { - return { +import { + toamendtag, + addapitag, + detailstag, + deletetag, + changetagcategory, + toamendtagcategory, + addtagcategory, + deletetagcategory, + listtag, + tagclassifylist, +} from "@/api/system/label"; - } +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +const shortcuts = [ + { + text: "浠婂ぉ", + onClick(picker) { + picker.$emit("pick", new Date()); + }, }, - - created () { - + { + text: "鏄ㄥぉ", + onClick(picker) { + const date = new Date(); + date.setTime(date.getTime() - 3600 * 1000 * 24); + picker.$emit("pick", date); + }, + }, + { + text: "涓�鍛ㄥ墠", + onClick(picker) { + const date = new Date(); + date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit("pick", date); + }, + }, +]; +export default { + name: "questionnaire", + dicts: ["sys_normal_disable", "sys_user_sex"], + components: { Treeselect }, + data() { + return { + topactiveName: "Local", //椤堕儴閫夋嫨 + activeName: "first", //渚ц竟閫夋嫨 + // 閬僵灞� + loading: false, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + idds: "", //鍒嗙被id + // 鎬绘潯鏁� + total: 0, + amendtag: false, //鏄惁淇敼绫诲埆 + lstamendtag: false, //鏄惁淇敼鏍囩 + scavisible: false, //鍒犻櫎寮规 + deleteVisible: false, //鍒嗙被鍒犻櫎寮规 + deletefenl: "楂樿鍘�", //鍒犻櫎椤� + //淇敼娣诲姞鏍囩寮规鏁版嵁 + tagform: { + isupload: "", + tagname: "", + tagcategoryid: "", + tagdescription: "", + }, + classifyform: { + categoryname: "", + }, + // 鏍囩琛ㄦ牸鏁版嵁 + userList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + // 瑙掕壊閫夐」 + roleOptions: [], + // 琛ㄥ崟鍙傛暟 + form: {}, + forms: { + name: "", + }, + numberlb: 22, + dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� + lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� + goQRCodeVisible: false, //浜岀淮鐮佸脊妗� + sidecolumnval: "", //绫诲埆鎼滅储 + propss: { multiple: true }, + topqueryParams: {}, //瀵煎嚭绛涢�夋潯浠� + options: [ + { + value: 1, + label: "涓滃崡", + }, + { + value: 2, + label: "瑗垮寳", + }, + { + value: 3, + label: "浠ㄤ花浠�", + }, + { + value: 4, + label: "鍏椋掗", + }, + ], + pickerOptions: { + disabledDate(time) { + return time.getTime() < Date.now() - 3600 * 1000 * 24; + }, + shortcuts: shortcuts, + }, + pickerOptionsa: { + disabledDate(time) { + return time.getTime() > Date.now(); + }, + shortcuts: shortcuts, + }, + // 鏌ヨ鏍囩鍒楄〃鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + tagname: undefined, + tagdescription: undefined, + }, + // 鍒椾俊鎭� + columns: [ + { key: 0, label: `鏍囩缂栧彿`, visible: true }, + { key: 1, label: `鏍囩鍚嶇О`, visible: true }, + { key: 2, label: `鏍囩鏄电О`, visible: true }, + { key: 3, label: `閮ㄩ棬`, visible: true }, + { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, + { key: 5, label: `鐘舵�乣, visible: true }, + { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, + ], + }; + }, + watch: {}, + created() { + this.getList(); + this.gitclasify(); }, methods: { + /** 鏌ヨ鏍囩鍒楄〃 */ + getList() { + listtag(this.addDateRange(this.queryParams)).then((response) => { + console.log(response); + this.total = response.total; + this.userList = response.rows; + }); + }, + /** 淇敼鏍囩 */ + handleUpdate(row) { + console.log(row, "淇敼鏍囩"); + this.lstamendtagVisible = true; + this.lstamendtag = true; + this.tagform = { + isupload: row.isupload, + tagname: row.tagname, + tagcategoryid: row.tagcategoryid, + tagdescription: row.tagdescription, + tagid: row.tagid, + }; + }, + addladeltag() { + this.lstamendtagVisible = true; + this.lstamendtag = false; + this.tagform = { + isupload: "", + tagname: "", + tagcategoryid: "", + tagdescription: "", + tagid: "", + }; + }, + // 娣诲姞/淇敼鏍囩 + Maintenancetag() { + if (this.lstamendtag) { + toamendtag(this.addDateRange(this.tagform)).then((response) => { + console.log(response); + this.getList(); + }); + } else { + addapitag(this.addDateRange(this.tagform)).then((response) => { + console.log(response); + this.getList(); + }); + } + this.tagform = { + isupload: "", + tagname: "", + tagcategoryid: "", + tagdescription: "", + tagid: "", + }; + }, - } -} + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + userId: undefined, + deptId: undefined, + userName: undefined, + nickName: undefined, + password: undefined, + phonenumber: undefined, + email: undefined, + sex: undefined, + status: "0", + remark: undefined, + postIds: [], + roleIds: [], + }; + this.resetForm("form"); + }, + // 鏍囩鐘舵�佷慨鏀� + handleStatusChange(row) { + console.log(row.isupload); + let text = row.isupload === "0" ? "鍚敤" : "鍋滅敤"; + this.$modal + .confirm('纭瑕�"' + text + '""' + row.tagname + '"鏍囩鍚楋紵') + .then(function () { + return changetagcategory(row.tagid, row.isupload); + }) + .then(() => { + this.$modal.msgSuccess(text + "鎴愬姛"); + }) + .catch(function () { + row.isupload = row.isupload === "0" ? "1" : "0"; + }); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.queryParams.tagname = ""; + this.$refs.tree.setCurrentKey(null); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.tagid); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + console.log(row, "鍒犻櫎寮圭獥"); + const tagids = row.tagid || this.ids; + console.log(tagids); + const tagname = row.tagname; + this.$modal + .confirm( + tagname + ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + tagname + '"鐨勬暟鎹」锛�' + : "鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�" + ) + .then(function () { + return deletetag(tagids); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + "base/tag/export", + { + ...this.topqueryParams, + }, + `user_${new Date().getTime()}.xlsx` + ); + }, + }, +}; </script> -<style lang='scss' scoped> +<style lang="scss" scoped> +.Questionnairemanagement { + display: flex; +} +.sidecolumn { + width: 180px; + min-height: 100vh; + text-align: center; + // display: flex; + margin-top: 20px; + margin: 20px; + padding: 30px; + 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); + .sidecolumn-top { + display: flex; + justify-content: space-between; + .top-wj { + font-size: 20px; + } + .top-tj { + font-size: 18px; + color: rgb(0, 89, 255); + cursor: pointer; + } + } + .center-ss { + margin-top: 30px; + .input-with-select { + height: 40px !important; + } + } + .bottom-fl { + margin-top: 30px; + display: center !important; + } +} +.qrcode-dialo { + text-align: center; + // display: flex; + margin: 20px; + padding: 30px; + 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); + .qrcode-text { + font-size: 20px; + span { + margin-left: 20px; + } + } + .qrcode-img { + width: 300px; + height: 400px; + } +} +::v-deep.el-tabs--left, +.el-tabs--right { + overflow: hidden; + align-items: center; + display: flex; +} +::v-deep.el-input--medium .el-input__inner { + height: 40px !important; +} +::v-deep.el-tabs--right .el-tabs__active-bar.is-right { + height: 40px; + width: 5px; + left: 0; +} +::v-deep.el-tabs--right .el-tabs__item.is-right { + display: block; + text-align: left; + font-size: 20px; +} + +.leftvlue-bg { + // display: flex; + // flex: 1; + width: 80%; + margin-top: 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; + } +} + +.document { + width: 100px; + height: 50px; +} +.documentf { + display: flex; + justify-content: flex-end; +} +.button-text { + color: rgb(70, 204, 238); +} +.button-textck { + color: rgb(39, 167, 67); +} +.button-textxg { + color: rgb(35, 81, 233); +} +.button-textsc { + color: rgb(235, 23, 23); +} </style> -- Gitblit v1.9.3