| | |
| | | éé访: "need-follow-card", |
| | | å¾
é访: "pending-card", |
| | | 已宿: "completed-card", |
| | | ä½é¢æ»é: "total-card", |
| | | é¨è¯æ»é: "total-card", |
| | | åéä»»å¡é: "need-follow-card", |
| | | å¾
宿: "pending-card", |
| | | 宿ç: "completed-card", |
| | | å¼å¸¸: "error-card", |
| | | è¦å: "warning-card", |
| | | }; |
| | |
| | | éé访: "éé访 = å¾
é访 + 已宿", |
| | | å¾
é访: "å¾
é访ï¼çå¾
è¿è¡éè®¿çæ£è
æ°é", |
| | | 已宿: "已宿ï¼å·²å®æéè®¿çæ£è
æ°é", |
| | | ä½é¢æ»é: "ä½é¢æ»¡æåº¦æ£è
æ»é", |
| | | é¨è¯æ»é: "é¨è¯æ»¡æåº¦æ£è
æ»é", |
| | | åéä»»å¡é: "åéä»»å¡é = æ£è
æå¡æ»é", |
| | | å¾
宿: "å¾
宿ï¼å¾
éè®¿çæ£è
æ°é", |
| | | 宿ç: "宿ç = 已宿 ÷ (å¾
宿 + 已宿)", |
| | | å¼å¸¸: "å¼å¸¸æ°æ®ç»è®¡", |
| | | è¦å: "è¦åæ°æ®ç»è®¡", |
| | | }; |
| | |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: 20, |
| | | label: "æ£è
å¼å¸¸æ¥å", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | ], |
| | | }; |
| | | |
| | |
| | | localStorage.setItem("deptCode", ""); |
| | | localStorage.setItem("YongHuID", "1540295571200282624"); |
| | | localStorage.setItem("YongHuXM", "LSDERMYY"); |
| | | }else if (orgid == "1") { |
| | | localStorage.setItem("orgname", "æµæ±çæ°åå»é¢"); |
| | | localStorage.setItem("ZuHuID", ""); |
| | | localStorage.setItem("deptCode", ""); |
| | | localStorage.setItem("YongHuID", ""); |
| | | localStorage.setItem("YongHuXM", ""); |
| | | } |
| | | resolve(); |
| | | }) |
| | |
| | | </div> |
| | | <div class="info-item"> |
| | | <span class="label">å¤ç说æï¼</span> |
| | | <span class="value">{{ row.handledesc }}</span> |
| | | <span class="value">{{ formatHandledesc(row.handledesc) }}</span> |
| | | </div> |
| | | </div> |
| | | <span v-else class="no-data">æªå¤ç</span> |
| | |
| | | size="small" |
| | | icon="el-icon-edit" |
| | | @click="handleProcess(row)" |
| | | :disabled="row.handleFlag === '1'" |
| | | :disabled="row.handleresult === 'resolved'" |
| | | > |
| | | å¤ç |
| | | </el-button> |
| | |
| | | <el-dialog |
| | | title="å¤çå¼å¸¸åé¦" |
| | | :visible.sync="processDialogVisible" |
| | | width="600px" |
| | | width="60%" |
| | | top="6vh" |
| | | center |
| | | > |
| | | <div class="flow-dialog-body"> |
| | | <!-- å·¦åé¨åï¼å¤çä¿¡æ¯ --> |
| | | <div class="flow-left"> |
| | | <el-form |
| | | :model="processForm" |
| | | :rules="processRules" |
| | |
| | | label-width="100px" |
| | | size="medium" |
| | | > |
| | | <el-form-item label="æ¯å¦æµè½¬" prop="isFlow"> |
| | | <el-switch |
| | | v-model="processForm.isFlow" |
| | | active-value="1" |
| | | inactive-value="0" |
| | | active-text="æµè½¬" |
| | | inactive-text="䏿µè½¬" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="å¤çç¶æ" prop="handleFlag"> |
| | | <el-select |
| | | v-model="processForm.handleFlag" |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- å³åé¨åï¼æµè½¬æ¶é´çº¿ï¼é䏿µè½¬åå±å¼ï¼ --> |
| | | <div class="flow-right" v-if="processForm.isFlow === '1'"> |
| | | <el-timeline> |
| | | <el-timeline-item type="primary" placement="top" color="#5788fe"> |
| | | <div class="flow-step-title">ç¬¬ä¸æ¥ · æµè½¬åèµ·</div> |
| | | <el-form label-width="90px" size="small" class="flow-step-form"> |
| | | <el-form-item label="æµè½¬äºº"> |
| | | <el-input |
| | | v-model="processForm.flowPerson" |
| | | placeholder="æµè½¬äººï¼é»è®¤å½åç¨æ·ï¼" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æµè½¬äººç¼å·"> |
| | | <el-input |
| | | v-model="processForm.flowPersonCode" |
| | | placeholder="æµè½¬äººç¼å·ï¼é»è®¤å½åç¨æ·å·¥å·ï¼" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æµè½¬æ¶é´"> |
| | | <el-date-picker |
| | | v-model="processForm.flowTime" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="æµè½¬æ¶é´" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æµè½¬è¯´æ"> |
| | | <el-input |
| | | v-model="processForm.flowDesc" |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请è¾å
¥æµè½¬è¯´æ" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æµè½¬ç§å®¤"> |
| | | <el-select |
| | | v-model="processForm.flowDepts" |
| | | multiple |
| | | filterable |
| | | collapse-tags |
| | | placeholder="è¯·éæ©æµè½¬ç§å®¤" |
| | | style="width: 100%" |
| | | @change="onFlowDeptChange" |
| | | > |
| | | <el-option |
| | | v-for="dept in deptList" |
| | | :key="dept.deptCode" |
| | | :label="dept.label" |
| | | :value="dept.deptCode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æµè½¬ç§å®¤code"> |
| | | <el-select |
| | | v-model="processForm.flowDeptCodes" |
| | | multiple |
| | | disabled |
| | | placeholder="éæ©ç§å®¤åèªå¨çæ" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="code in processForm.flowDeptCodes" |
| | | :key="code" |
| | | :label="code" |
| | | :value="code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¨éè´è´£äºº"> |
| | | <el-select |
| | | v-model="processForm.pushUsers" |
| | | multiple |
| | | filterable |
| | | collapse-tags |
| | | placeholder="è¯·éæ©æ¨éè´è´£äºº" |
| | | style="width: 100%" |
| | | @change="onPushUserChange" |
| | | > |
| | | <el-option |
| | | v-for="u in userList" |
| | | :key="u.userId" |
| | | :label="u.nickName || u.userName" |
| | | :value="u.userId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-timeline-item> |
| | | |
| | | <el-timeline-item type="primary" placement="top" color="#e6a23c"> |
| | | <div class="flow-step-title">ç¬¬äºæ¥ · ç§å®¤åé¦</div> |
| | | <el-table |
| | | :data="processForm.flowFeedbacks" |
| | | border |
| | | size="mini" |
| | | v-if="processForm.flowFeedbacks.length > 0" |
| | | > |
| | | <el-table-column |
| | | label="ç§å®¤" |
| | | prop="deptName" |
| | | width="120" |
| | | align="center" |
| | | /> |
| | | <el-table-column label="æ¯å¦åæ" width="130" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-select |
| | | v-model="scope.row.agree" |
| | | placeholder="è¯·éæ©" |
| | | size="mini" |
| | | > |
| | | <el-option label="åæ" value="1" /> |
| | | <el-option label="ä¸åæ" value="0" /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å
·ä½è¯´æ" min-width="200" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.desc" |
| | | placeholder="请è¾å
¥å
·ä½è¯´æ" |
| | | size="mini" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div v-else class="flow-empty-tip"> |
| | | 请å
å¨ç¬¬ä¸æ¥éæ©æµè½¬ç§å®¤ |
| | | </div> |
| | | </el-timeline-item> |
| | | |
| | | <el-timeline-item type="primary" placement="top" color="#67c23a"> |
| | | <div class="flow-step-title">ç¬¬ä¸æ¥ · å¤çç»æ</div> |
| | | <el-form label-width="90px" size="small" class="flow-step-form"> |
| | | <el-form-item label="å¤ç人"> |
| | | <el-input |
| | | v-model="processForm.handleBy" |
| | | placeholder="å¤ç人" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="å¤çæ¶é´"> |
| | | <el-date-picker |
| | | v-model="processForm.handleTime" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="å¤çæ¶é´" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="processDialogVisible = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="submitProcess" :loading="processing"> |
| | |
| | | import DetailsAnomaly from "./components/DetailsAnomaly.vue"; |
| | | import { tracelist, traceedit } from "@/api/AiCentre/index"; |
| | | import dayjs from "dayjs"; |
| | | import { deptTreeSelect } from "@/api/system/user"; |
| | | import { deptTreeSelect, listUser } from "@/api/system/user"; |
| | | |
| | | export default { |
| | | name: "BatchProcess", |
| | |
| | | |
| | | // ç§å®¤å表 |
| | | deptList: [], |
| | | // ç¨æ·åè¡¨ï¼æµè½¬è´è´£äººåéï¼ |
| | | userList: [], |
| | | |
| | | // å¼å¸¸åè¡¨æ°æ® |
| | | exceptionList: [], |
| | |
| | | handleresult: "", |
| | | handledesc: "", |
| | | finaloption: "", |
| | | // æµè½¬ç¸å
³ |
| | | isFlow: "0", |
| | | flowPerson: "", |
| | | flowPersonCode: "", |
| | | flowTime: "", |
| | | flowDesc: "", |
| | | flowDepts: [], |
| | | flowDeptNames: [], |
| | | flowDeptCodes: [], |
| | | pushUsers: [], |
| | | pushUserNames: [], |
| | | pushUserNos: [], |
| | | flowFeedbacks: [], |
| | | handleBy: "", |
| | | handleTime: "", |
| | | }, |
| | | batchProgress: { |
| | | visible: false, |
| | |
| | | mounted() { |
| | | this.loadExceptionList(); |
| | | this.getDeptOptions(); |
| | | this.getUserOptions(); |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | .catch((error) => { |
| | | console.error("è·åç§å®¤å表失败:", error); |
| | | this.$message.error("è·åç§å®¤å表失败"); |
| | | }); |
| | | }, |
| | | /** æ¥è¯¢ç¨æ·åè¡¨ï¼æµè½¬è´è´£äººåéï¼ */ |
| | | getUserOptions() { |
| | | listUser({ pageNum: 1, pageSize: 999 }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.userList = res.rows || []; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("è·åç¨æ·å表失败:", error); |
| | | this.$message.error("è·åç¨æ·å表失败"); |
| | | }); |
| | | }, |
| | | flattenArray(multiArray) { |
| | |
| | | handleProcess(row) { |
| | | this.currentExceptionId = row.id; |
| | | |
| | | const nickName = this.$store.state.user.nickName || ""; |
| | | const now = dayjs().format("YYYY-MM-DD HH:mm:ss"); |
| | | |
| | | // æ¯å¦æµè½¬ï¼å端 circulationStatusï¼0 䏿µè½¬ / 1 æµè½¬ï¼ |
| | | const isFlow = String(row.circulationStatus) === "1" ? "1" : "0"; |
| | | |
| | | // æ¥å¤ç§å®¤ï¼å
¼å®¹æ°ç»æéå·åéåç¬¦ä¸²ï¼ |
| | | const ccdepts = Array.isArray(row.ccdepts) |
| | | ? row.ccdepts |
| | | : row.ccdepts |
| | | ? row.ccdepts.split(",") |
| | | : []; |
| | | |
| | | // æµè½¬ç§å®¤ code / åç§° |
| | | const flowDeptCodes = row.circulationDeptCode |
| | | ? row.circulationDeptCode.split(",") |
| | | : []; |
| | | const flowDeptNames = row.circulationDeptName |
| | | ? row.circulationDeptName.split(",") |
| | | : []; |
| | | |
| | | // æ¨éè´è´£äººï¼å端åå·¥å·(userName)ï¼ä¸æ value ç¨ userIdï¼éåæ |
| | | const pushUserNos = row.circulationDeptPersonCode |
| | | ? row.circulationDeptPersonCode.split(",") |
| | | : []; |
| | | const pushUserNames = row.circulationDeptPersonName |
| | | ? row.circulationDeptPersonName.split(",") |
| | | : []; |
| | | const pushUsers = pushUserNos.map((no) => { |
| | | const u = this.userList.find((item) => item.userName === no); |
| | | return u ? u.userId : no; |
| | | }); |
| | | |
| | | // ç§å®¤åé¦ï¼ä» handledesc JSON ä¸è¿å |
| | | let flowFeedbacks = []; |
| | | try { |
| | | const parsed = |
| | | typeof row.handledesc === "string" && |
| | | row.handledesc.trim().startsWith("{") |
| | | ? JSON.parse(row.handledesc) |
| | | : null; |
| | | if (parsed && parsed.flow && Array.isArray(parsed.flow.feedbacks)) { |
| | | flowFeedbacks = parsed.flow.feedbacks; |
| | | } |
| | | } catch (e) { |
| | | // handledesc é JSONï¼å¿½ç¥ |
| | | } |
| | | |
| | | // æµè½¬æ¶é´ï¼å端 Date åæ®µï¼ç»ä¸è½¬æ yyyy-MM-dd HH:mm:ss 便¥æéæ©å¨åæ¾ |
| | | let flowTime = now; |
| | | if (row.circulationTime) { |
| | | const d = new Date( |
| | | typeof row.circulationTime === "number" |
| | | ? row.circulationTime |
| | | : String(row.circulationTime).replace(" ", "T") |
| | | ); |
| | | if (!isNaN(d.getTime())) { |
| | | const pad = (n) => String(n).padStart(2, "0"); |
| | | flowTime = |
| | | d.getFullYear() + |
| | | "-" + |
| | | pad(d.getMonth() + 1) + |
| | | "-" + |
| | | pad(d.getDate()) + |
| | | " " + |
| | | pad(d.getHours()) + |
| | | ":" + |
| | | pad(d.getMinutes()) + |
| | | ":" + |
| | | pad(d.getSeconds()); |
| | | } |
| | | } |
| | | |
| | | // åå§åè¡¨åæ°æ® |
| | | this.processForm = { |
| | | handleFlag: row.handleFlag === "0" ? "1" : "0", |
| | | ccdepts: row.ccdepts ? row.ccdepts.split(",") : [], |
| | | handleFlag: "1", |
| | | ccdepts, |
| | | handleresult: row.handleresult || "", |
| | | handledesc: row.handledesc || "", |
| | | handledesc: this.formatHandledesc(row.handledesc), |
| | | finaloption: row.finaloption || "", |
| | | // æµè½¬ç¸å
³ |
| | | isFlow, |
| | | flowPerson: row.circulationPersonName || nickName, |
| | | flowPersonCode: |
| | | row.circulationPersonCode || this.$store.state.user.userName || "", |
| | | flowTime, |
| | | flowDesc: row.circulationExplain || "", |
| | | flowDepts: [...flowDeptCodes], |
| | | flowDeptNames: [...flowDeptNames], |
| | | flowDeptCodes: [...flowDeptCodes], |
| | | pushUsers, |
| | | pushUserNames: [...pushUserNames], |
| | | pushUserNos: [...pushUserNos], |
| | | flowFeedbacks, |
| | | handleBy: nickName, |
| | | handleTime: now, |
| | | }; |
| | | |
| | | this.processDialogVisible = true; |
| | | }, |
| | | |
| | | // æµè½¬ç§å®¤ååï¼åæ¥ç§å®¤åç§°ãç§å®¤codeï¼å¹¶çæåé¦è¡¨æ ¼ |
| | | onFlowDeptChange(codes) { |
| | | this.processForm.flowDeptCodes = [...codes]; |
| | | this.processForm.flowDeptNames = codes.map((code) => { |
| | | const dept = this.deptList.find((item) => item.deptCode === code); |
| | | return dept ? dept.label : code; |
| | | }); |
| | | // çæ/ç»´æ¤ç¬¬äºæ¥åé¦è¡¨æ ¼ï¼ä¿ç已填åçåé¦ï¼ |
| | | this.processForm.flowFeedbacks = codes.map((code) => { |
| | | const existing = this.processForm.flowFeedbacks.find( |
| | | (item) => item.deptCode === code |
| | | ); |
| | | if (existing) return existing; |
| | | const dept = this.deptList.find((item) => item.deptCode === code); |
| | | return { |
| | | deptCode: code, |
| | | deptName: dept ? dept.label : code, |
| | | agree: "", |
| | | desc: "", |
| | | }; |
| | | }); |
| | | }, |
| | | |
| | | // æ¨éè´è´£äººååï¼åæ¥è´è´£äººæµç§°ãå·¥å· |
| | | onPushUserChange(ids) { |
| | | this.processForm.pushUserNames = ids.map((id) => { |
| | | const user = this.userList.find((u) => String(u.userId) === String(id)); |
| | | return user ? user.nickName || user.userName : ""; |
| | | }); |
| | | this.processForm.pushUserNos = ids.map((id) => { |
| | | const user = this.userList.find((u) => String(u.userId) === String(id)); |
| | | return user ? user.userName || "" : ""; |
| | | }); |
| | | }, |
| | | |
| | | // ç»è£
handledescï¼æµè½¬æ¶ä»¥ JSON å½¢å¼ä¿ååå¤ç说æä¸æµè½¬è¯´æãç§å®¤åé¦ |
| | | buildHandledesc() { |
| | | if (this.processForm.isFlow !== "1") { |
| | | return this.processForm.handledesc; |
| | | } |
| | | const flow = { |
| | | feedbacks: this.processForm.flowFeedbacks.map((f) => ({ |
| | | deptCode: f.deptCode, |
| | | deptName: f.deptName, |
| | | agree: f.agree, |
| | | desc: f.desc, |
| | | })), |
| | | }; |
| | | return JSON.stringify({ |
| | | desc: this.processForm.handledesc, |
| | | flow, |
| | | }); |
| | | }, |
| | | |
| | | // è§£æ handledescï¼è¥æ¯æµè½¬ JSON ååå
¶ä¸çå¤ç说æï¼å¦ååæ ·è¿å |
| | | formatHandledesc(val) { |
| | | if (!val) return ""; |
| | | if (typeof val !== "string") return val; |
| | | const trimmed = val.trim(); |
| | | if (trimmed.startsWith("{")) { |
| | | try { |
| | | const obj = JSON.parse(trimmed); |
| | | if (obj && obj.desc != null) return obj.desc; |
| | | } catch (e) { |
| | | // 䏿¯åæ³ JSONï¼æåææ¬è¿å |
| | | } |
| | | } |
| | | return val; |
| | | }, |
| | | |
| | | // æµè½¬æ¶é´è½¬ä¸ºå¸¦æ¶åºç ISO æ ¼å¼ï¼ä¾å端 Date ç±»ååæ®µååºåå |
| | | toISODateTime(str) { |
| | | if (!str) return null; |
| | | const d = new Date(String(str).replace(" ", "T")); |
| | | if (isNaN(d.getTime())) return null; |
| | | const pad = (n) => String(n).padStart(2, "0"); |
| | | const offset = -d.getTimezoneOffset(); |
| | | const sign = offset >= 0 ? "+" : "-"; |
| | | const abs = Math.abs(offset); |
| | | const tz = sign + pad(Math.floor(abs / 60)) + ":" + pad(abs % 60); |
| | | return ( |
| | | d.getFullYear() + |
| | | "-" + pad(d.getMonth() + 1) + |
| | | "-" + pad(d.getDate()) + |
| | | "T" + pad(d.getHours()) + |
| | | ":" + pad(d.getMinutes()) + |
| | | ":" + pad(d.getSeconds()) + |
| | | "." + String(d.getMilliseconds()).padStart(3, "0") + |
| | | tz |
| | | ); |
| | | }, |
| | | |
| | | // æäº¤å¤ç |
| | | async submitProcess() { |
| | | this.$refs.processForm.validate(async (valid) => { |
| | | if (!valid) { |
| | | return; |
| | | } |
| | | |
| | | // æµè½¬æ¶æ ¡éªå¿
须鿩æµè½¬ç§å®¤ |
| | | if ( |
| | | this.processForm.isFlow === "1" && |
| | | (!this.processForm.flowDepts || this.processForm.flowDepts.length === 0) |
| | | ) { |
| | | this.$message.warning("请å
éæ©æµè½¬ç§å®¤"); |
| | | return; |
| | | } |
| | | |
| | |
| | | id: this.currentExceptionId, |
| | | handleFlag: this.processForm.handleFlag, |
| | | handleresult: this.processForm.handleresult, |
| | | handledesc: this.processForm.handledesc, |
| | | handledesc: this.buildHandledesc(), |
| | | finaloption: this.processForm.finaloption, |
| | | handleBy: this.$store.state.user.nickName, |
| | | handleTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | handleBy: |
| | | this.processForm.handleBy || this.$store.state.user.nickName, |
| | | handleTime: |
| | | this.processForm.handleTime || |
| | | dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | // å°æ°ç»è½¬æ¢ä¸ºéå·åéçå符串 |
| | | ccdepts: Array.isArray(this.processForm.ccdepts) |
| | | ? this.processForm.ccdepts.join(",") |
| | | : this.processForm.ccdepts, |
| | | // æµè½¬ç¸å
³ä¸»è¡¨å段ï¼å端已å®ç¨¿ï¼ |
| | | circulationPersonName: this.processForm.flowPerson, |
| | | circulationPersonCode: |
| | | this.processForm.flowPersonCode || |
| | | this.$store.state.user.userName || |
| | | "", |
| | | circulationStatus: this.processForm.isFlow, |
| | | circulationDeptName: this.processForm.flowDeptNames.join(","), |
| | | circulationDeptCode: this.processForm.flowDeptCodes.join(","), |
| | | circulationDeptPersonName: this.processForm.pushUserNames.join(","), |
| | | circulationDeptPersonCode: this.processForm.pushUserNos.join(","), |
| | | circulationExplain: this.processForm.flowDesc, |
| | | circulationTime: this.toISODateTime(this.processForm.flowTime), |
| | | }; |
| | | // TODO: è¿ééè¦è°ç¨å®é
çå¤çæ¥å£ |
| | | await traceedit(submitData); |
| | |
| | | } |
| | | } |
| | | |
| | | // å¤çå¼¹æ¡å·¦å³å¸å± |
| | | .flow-dialog-body { |
| | | display: flex; |
| | | align-items: stretch; |
| | | |
| | | .flow-left { |
| | | flex: 1; |
| | | min-width: 320px; |
| | | padding-right: 24px; |
| | | border-right: 1px solid #ebeef5; |
| | | } |
| | | |
| | | .flow-right { |
| | | flex: 1; |
| | | min-width: 320px; |
| | | padding-left: 24px; |
| | | max-height: 60vh; |
| | | overflow-y: auto; |
| | | |
| | | .flow-step-title { |
| | | font-weight: 600; |
| | | color: #303133; |
| | | margin-bottom: 12px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .flow-step-form { |
| | | ::v-deep .el-form-item { |
| | | margin-bottom: 12px; |
| | | } |
| | | } |
| | | |
| | | .flow-empty-tip { |
| | | padding: 20px; |
| | | text-align: center; |
| | | color: #909399; |
| | | font-size: 13px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @media (max-width: 768px) { |
| | | .batch-process { |
| | | padding: 10px; |
| | |
| | | </div> |
| | | |
| | | <!-- é®å·/è¯é³è¯¦æ
--> |
| | | <div class="content-container" v-if="templateData.length > 0"> |
| | | <div |
| | | class="content-container" |
| | | v-if="currentRecord.templateType" |
| | | v-loading="contentLoading" |
| | | element-loading-text="详æ
å è½½ä¸..." |
| | | > |
| | | <el-tabs v-model="activeName" type="border-card"> |
| | | <!-- é®å·é访详æ
--> |
| | | <el-tab-pane name="wj" v-if="currentRecord.templateType === 2"> |
| | |
| | | |
| | | // å è½½ç¶æ |
| | | loading: false, |
| | | // é®å·/è¯é³è¯¦æ
å è½½ç¶æ |
| | | contentLoading: false, |
| | | |
| | | // æéæ§å¶ |
| | | hasQualityPermission: false |
| | |
| | | |
| | | // å è½½é®å·æ°æ® |
| | | async loadQuestionnaireData() { |
| | | this.contentLoading = true; |
| | | try { |
| | | // è¿ééè¦æ ¹æ®å®é
æ
åµè°ç¨æ¥å£è·åé®å·æ°æ® |
| | | // 妿recordDataä¸å·²ç»å
å«äºé®å·æ°æ®ï¼å¯ä»¥ç´æ¥ä½¿ç¨ |
| | |
| | | } |
| | | } catch (error) { |
| | | console.error('å è½½é®å·æ°æ®å¤±è´¥:', error); |
| | | } finally { |
| | | this.contentLoading = false; |
| | | } |
| | | }, |
| | | |
| | |
| | | |
| | | // å è½½è¯é³æ°æ® |
| | | async loadVoiceData() { |
| | | this.contentLoading = true; |
| | | try { |
| | | if (this.currentRecord.taskid && this.currentRecord.patid) { |
| | | const params = { |
| | |
| | | } |
| | | } catch (error) { |
| | | console.error('å è½½è¯é³æ°æ®å¤±è´¥:', error); |
| | | } finally { |
| | | this.contentLoading = false; |
| | | } |
| | | }, |
| | | |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | jgvalue: "", |
| | | ycvalue: 0, |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | flex-shrink: 0; |
| | | margin-top: 2px; |
| | | } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | zcform: {}, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | }, |
| | | value: [], |
| | | list: [], |
| | | jgvalue: 0, |
| | | |
| | | sourcetype: [ |
| | | { |
| | |
| | | zcform: {}, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | }, |
| | | amendtag: false, |
| | | errtype: "", |
| | | jgvalue: 0, |
| | | leavehospitaldistrictcode: "", |
| | | serviceState: [], |
| | | checkboxlist: [], |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | jgvalue: "", |
| | | ycvalue: 0, |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | jgvalue: 0, |
| | | |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: 0, |
| | | jgvalue: "", |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | v-if="orgname == 'æµæ±çæ°åå»é¢'" |
| | | label="ä»»å¡ç¶æ" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | :content="scope.row.remark" |
| | | placement="top-start" |
| | | > |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表åå·²é¢å</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >å¾
é访</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表åå·²åé</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">䏿§è¡</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >åé失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >已宿</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false">è¶
æ¶</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="éè®¿ç¶æ" |
| | | align="center" |
| | |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | v-if="orgname != 'æµæ±çæ°åå»é¢'" |
| | | label="ä»»å¡ç¶æ" |
| | | align="center" |
| | | key="sendstate" |
| | |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: 0, |
| | | jgvalue: "", |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | visitCount: 1, |
| | | scopetype: [], |
| | | managementDoctor: |
| | | localStorage.getItem("orgname") == "ç¼äºå¿äººæ°å»é¢"||localStorage.getItem("orgname") == "丽水å¸ä¸å»é¢" |
| | | localStorage.getItem("orgname") == "ç¼äºå¿äººæ°å»é¢" || |
| | | localStorage.getItem("orgname") == "丽水å¸ä¸å»é¢" |
| | | ? store.getters.nickName |
| | | : "", |
| | | leaveldeptcodes: [], |
| | |
| | | if (hasDept && hasWard) { |
| | | if (this.lastScopeType == 1) { |
| | | // 䏿¬¡éäºç§å®¤ï¼è¿æ¬¡æ°å¢ç
åº â ä¿çç
åº |
| | | this.topqueryParams.scopetype = value.filter( |
| | | (item) => item[0] === 2 |
| | | ); |
| | | this.topqueryParams.scopetype = value.filter((item) => item[0] === 2); |
| | | this.lastScopeType = 2; |
| | | this.$message.warning("ç§å®¤åç
åºä¸è½åæ¶éæ©ï¼å·²åæ¢ä¸ºç
åº"); |
| | | } else { |
| | | // 䏿¬¡éäºç
åºï¼è¿æ¬¡æ°å¢ç§å®¤ â ä¿çç§å®¤ |
| | | this.topqueryParams.scopetype = value.filter( |
| | | (item) => item[0] === 1 |
| | | ); |
| | | this.topqueryParams.scopetype = value.filter((item) => item[0] === 1); |
| | | this.lastScopeType = 1; |
| | | this.$message.warning("ç§å®¤åç
åºä¸è½åæ¶éæ©ï¼å·²åæ¢ä¸ºç§å®¤"); |
| | | } |
| | |
| | | if (val && val.length) { |
| | | this.transferForm.leavelDeptCode = val[val.length - 1]; |
| | | // ä»é项æ 䏿¥æ¾å¯¹åºåç§° |
| | | const node = this.findCascaderNode(this.deptOptionsks, this.transferForm.leavelDeptCode); |
| | | this.transferForm.leavelDeptName = node ? node.label : ''; |
| | | const node = this.findCascaderNode( |
| | | this.deptOptionsks, |
| | | this.transferForm.leavelDeptCode |
| | | ); |
| | | this.transferForm.leavelDeptName = node ? node.label : ""; |
| | | } else { |
| | | this.transferForm.leavelDeptCode = ''; |
| | | this.transferForm.leavelDeptName = ''; |
| | | this.transferForm.leavelDeptCode = ""; |
| | | this.transferForm.leavelDeptName = ""; |
| | | } |
| | | }, |
| | | handleWardCascaderChange(val) { |
| | | if (val && val.length) { |
| | | this.transferForm.leavehospitaldistrictcode = val[val.length - 1]; |
| | | const node = this.findCascaderNode(this.deptOptionsbq, this.transferForm.leavehospitaldistrictcode); |
| | | this.transferForm.leavehospitaldistrictname = node ? node.label : ''; |
| | | const node = this.findCascaderNode( |
| | | this.deptOptionsbq, |
| | | this.transferForm.leavehospitaldistrictcode |
| | | ); |
| | | this.transferForm.leavehospitaldistrictname = node ? node.label : ""; |
| | | } else { |
| | | this.transferForm.leavehospitaldistrictcode = ''; |
| | | this.transferForm.leavehospitaldistrictname = ''; |
| | | this.transferForm.leavehospitaldistrictcode = ""; |
| | | this.transferForm.leavehospitaldistrictname = ""; |
| | | } |
| | | }, |
| | | findCascaderNode(options, code) { |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: 0, |
| | | jgvalue: "", |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | placeholder="请è¾å
¥é访人å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="主治å»ç" prop="drname"> |
| | | <el-input |
| | | v-model="topqueryParams.drname" |
| | | placeholder="请è¾å
¥ä¸»æ²»å»ç" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ£è
èå´" prop="status"> |
| | | <el-cascader |
| | |
| | | total: 0, |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | | userList: null, |
| | | jgvalue: 0, |
| | | |
| | | // å¼¹åºå±æ é¢ |
| | | title: "æ°å¢å½±åé访", |
| | | // æ¯å¦æ¾ç¤ºä¿®æ¹ãæ·»å å¼¹åºå± |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | flex-shrink: 0; |
| | | margin-top: 2px; |
| | | } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | <div class="app-container"> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == 'çç«åå¾·ç¿ èé¢åº'" |
| | | :show-extra="false" |
| | | :show-warning-condition="false" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--ç¨æ·æ°æ®--> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="ä»»å¡åç§°"> |
| | | <el-input |
| | | v-model="topqueryParams.taskName" |
| | | placeholder="è¯·éæ©ä»»å¡åç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="åºé¢æ¶é´"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | |
| | | placeholder="请è¾å
¥æ£è
å§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¯æåç§°" prop="leavediagname"> |
| | | <el-input |
| | | v-model="topqueryParams.leavediagname" |
| | | placeholder="请è¾å
¥è¯æåç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é访人å" prop="updateBy"> |
| | | <el-form-item label="å¤ç人å" prop="updateBy"> |
| | | <el-input |
| | | v-model="topqueryParams.updateBy" |
| | | placeholder="请è¾å
¥é访人å" |
| | | placeholder="请è¾å
¥å¤ç人å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="主治å»ç" prop="drname"> |
| | | <el-form-item label="æ¥è¯å»ç" prop="drname"> |
| | | <el-input |
| | | v-model="topqueryParams.drname" |
| | | placeholder="请è¾å
¥ä¸»æ²»å»ç" |
| | | placeholder="请è¾å
¥æ¥è¯å»ç" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç®¡å»ç" prop="managementDoctor"> |
| | | <el-input |
| | | v-model="topqueryParams.managementDoctor" |
| | | placeholder="请è¾å
¥ä¸»æ²»å»ç" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ£è
èå´" prop="status"> |
| | | <el-cascader |
| | | v-model="topqueryParams.scopetype" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="éè®¿ç¶æ" prop="status"> |
| | | <el-form-item label="å¤çç¶æ" prop="status"> |
| | | <el-cascader |
| | | v-model="serviceStatusValue" |
| | | placeholder="è¯·éæ©" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="ä»»å¡åç§°" |
| | | fixed |
| | | width="150" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | key="taskName" |
| | | prop="taskName" |
| | | /> |
| | | <!-- <el-table-column label="åºå·" fixed align="center" key="id" prop="id" /> --> |
| | | <el-table-column |
| | | label="å§å" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="éè®¿ç¶æ" |
| | | label="å¤çç¶æ" |
| | | align="center" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="主治å»ç" |
| | | label="æ¥è¯å»ç" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="ç»ç®¡å»ç" |
| | | align="center" |
| | | key="managementDoctor" |
| | | prop="managementDoctor" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="åºé¢å¤©æ°" |
| | | width="120" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="è¯æåç§°" |
| | | align="center" |
| | | key="leavediagname" |
| | | prop="leavediagname" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="é访人å" |
| | | label="å¤ç人å" |
| | | align="center" |
| | | key="updateBy" |
| | | prop="updateBy" |
| | |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | jgvalue: 0, |
| | | |
| | | dialogFormVisible: false, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | loading: false, |
| | | cardlist: [ |
| | | { |
| | | name: "æ£è
æå¡æ»é", |
| | | value: 0, |
| | | }, |
| | | |
| | | { |
| | | name: "æ éé访", |
| | | name: "é¨è¯æ»é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "éé访", |
| | | name: "åéä»»å¡é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "å¾
é访", |
| | | name: "å¾
宿", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已宿", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "宿ç", |
| | | value: "0%", |
| | | }, |
| | | ], |
| | | zcrules: { |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname: "", |
| | | |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | // é¨è¯æ»éï¼ææ åæ®µï¼ä¿æ 0 |
| | | // åéä»»å¡é = æ£è
æå¡æ»éï¼æ éé访 + ééè®¿ï¼ |
| | | this.cardlist[1].value = |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | // this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[1].value = response.rows[0].wxsf || 0; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[2].value = response.rows[0].xsf || 0; |
| | | this.cardlist[3].value = response.rows[0].dsf || 0; |
| | | this.cardlist[4].value = response.rows[0].ywc || 0; |
| | | this.cardlist[2].value = response.rows[0].dsf || 0; // å¾
宿 = å¾
é访 |
| | | this.cardlist[3].value = response.rows[0].ywc || 0; // 已宿 = å·²é访 |
| | | // 宿ç = 已宿 / (å¾
宿 + 已宿) |
| | | const dsf = Number(response.rows[0].dsf) || 0; |
| | | const ywc = Number(response.rows[0].ywc) || 0; |
| | | const doneTotal = dsf + ywc; |
| | | this.cardlist[4].value = |
| | | doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%"; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.options = []; |
| | | } |
| | | }, |
| | | // å½±åéè®¿ç¶æä¿®æ¹ |
| | | // å½±åå¤çç¶æä¿®æ¹ |
| | | handleStatusChange(row) { |
| | | let text = row.status === "0" ? "å¯ç¨" : "åç¨"; |
| | | this.$modal |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | flex-shrink: 0; |
| | | margin-top: 2px; |
| | | } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | dialogFormVisible: false, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | jgvalue: 0, |
| | | |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | | userList: null, |
| | | // å¼¹åºå±æ é¢ |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | jgvalue: "", |
| | | ycvalue: 0, |
| | | jgvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | jgvalue: 0, |
| | | orgname: "", |
| | | |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | // æ»æ¡æ° |
| | |
| | | }, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | |
| | | (orgname == 'åå大å¦éå±ç¬¬ä¸å»é¢' || |
| | | orgname == '丽水å¸ç¬¬äºäººæ°å»é¢' || |
| | | orgname == 'ç¼äºå¿äººæ°å»é¢'|| |
| | | orgname == '丽水å¸å¦å¹¼ä¿å¥é¢'|| |
| | | orgname == 'æ¾é³å¿ä¸å»å»é¢') && |
| | | !Voicetype |
| | | " |
| | |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | jgvalue: 0, |
| | | |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | dialogFormVisible: false, |
| | |
| | | zcform: {}, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | dialogFormVisible: false, |
| | | jgvalue: 0, |
| | | |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | |
| | | zcform: {}, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | dialogFormVisible: false, |
| | | jgvalue: 0, |
| | | |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | <div class="app-container"> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == 'çç«åå¾·ç¿ èé¢åº'" |
| | | :show-extra="false" |
| | | :show-warning-condition="false" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--ç¨æ·æ°æ®--> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="ä»»å¡åç§°"> |
| | | <el-input |
| | | v-model="topqueryParams.taskName" |
| | | placeholder="è¯·éæ©ä»»å¡åç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="åºé¢æ¶é´"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | |
| | | placeholder="请è¾å
¥æ£è
å§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¯æåç§°" prop="leavediagname"> |
| | | <el-input |
| | | v-model="topqueryParams.leavediagname" |
| | | placeholder="请è¾å
¥è¯æåç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é访人å" prop="updateBy"> |
| | | <el-form-item label="å¤ç人å" prop="updateBy"> |
| | | <el-input |
| | | v-model="topqueryParams.updateBy" |
| | | placeholder="请è¾å
¥é访人å" |
| | | placeholder="请è¾å
¥å¤ç人å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="主治å»ç" prop="drname"> |
| | | <el-form-item label="æ¥è¯å»ç" prop="drname"> |
| | | <el-input |
| | | v-model="topqueryParams.drname" |
| | | placeholder="请è¾å
¥ä¸»æ²»å»ç" |
| | | placeholder="请è¾å
¥æ¥è¯å»ç" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç®¡å»ç" prop="managementDoctor"> |
| | | <el-input |
| | | v-model="topqueryParams.managementDoctor" |
| | | placeholder="请è¾å
¥ä¸»æ²»å»ç" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ£è
èå´" prop="status"> |
| | | <el-cascader |
| | | v-model="topqueryParams.scopetype" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="éè®¿ç¶æ" prop="status"> |
| | | <el-form-item label="å¤çç¶æ" prop="status"> |
| | | <el-cascader |
| | | v-model="serviceStatusValue" |
| | | placeholder="è¯·éæ©" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="ä»»å¡åç§°" |
| | | fixed |
| | | width="150" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | key="taskName" |
| | | prop="taskName" |
| | | /> |
| | | <!-- <el-table-column label="åºå·" fixed align="center" key="id" prop="id" /> --> |
| | | <el-table-column |
| | | label="å§å" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="éè®¿ç¶æ" |
| | | label="å¤çç¶æ" |
| | | align="center" |
| | | key="sendstateView" |
| | | prop="sendstateView" |
| | |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="主治å»ç" |
| | | label="æ¥è¯å»ç" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="ç»ç®¡å»ç" |
| | | align="center" |
| | | key="managementDoctor" |
| | | prop="managementDoctor" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="åºé¢å¤©æ°" |
| | | width="120" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="è¯æåç§°" |
| | | align="center" |
| | | key="leavediagname" |
| | | prop="leavediagname" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="é访人å" |
| | | label="å¤ç人å" |
| | | align="center" |
| | | key="updateBy" |
| | | prop="updateBy" |
| | |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | jgvalue: 0, |
| | | |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | Labelchange: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | loading: false, |
| | | cardlist: [ |
| | | { |
| | | name: "æ£è
æå¡æ»é", |
| | | value: 0, |
| | | }, |
| | | |
| | | { |
| | | name: "æ éé访", |
| | | name: "ä½é¢æ»é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "éé访", |
| | | name: "åéä»»å¡é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "å¾
é访", |
| | | name: "å¾
宿", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已宿", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "宿ç", |
| | | value: "0%", |
| | | }, |
| | | ], |
| | | // 级èéæ©å¨ç»å®å¼ |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | orgname: "", |
| | | |
| | | amendtag: false, |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | // ä½é¢æ»éï¼ææ åæ®µï¼ä¿æ 0 |
| | | // åéä»»å¡é = æ£è
æå¡æ»éï¼æ éé访 + ééè®¿ï¼ |
| | | this.cardlist[1].value = |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | // this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[1].value = response.rows[0].wxsf || 0; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[2].value = response.rows[0].xsf || 0; |
| | | this.cardlist[3].value = response.rows[0].dsf || 0; |
| | | this.cardlist[4].value = response.rows[0].ywc || 0; |
| | | this.cardlist[2].value = response.rows[0].dsf || 0; // å¾
宿 = å¾
é访 |
| | | this.cardlist[3].value = response.rows[0].ywc || 0; // 已宿 = å·²é访 |
| | | // 宿ç = 已宿 / (å¾
宿 + 已宿) |
| | | const dsf = Number(response.rows[0].dsf) || 0; |
| | | const ywc = Number(response.rows[0].ywc) || 0; |
| | | const doneTotal = dsf + ywc; |
| | | this.cardlist[4].value = |
| | | doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%"; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | |
| | | this.options = []; |
| | | } |
| | | }, |
| | | // å½±åéè®¿ç¶æä¿®æ¹ |
| | | // å½±åå¤çç¶æä¿®æ¹ |
| | | handleStatusChange(row) { |
| | | let text = row.status === "0" ? "å¯ç¨" : "åç¨"; |
| | | this.$modal |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | // font-size: 24px; |
| | | // } |
| | | // } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | editorRef: null, |
| | | |
| | | // ç¼è¾å¨å
容 |
| | | content: "<p>æµè¯</p>", |
| | | content: "", |
| | | |
| | | // ç¼è¾å¨æ¨¡å¼ |
| | | mode: "default", |
| | |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | jgvalue: 0, |
| | | orgname: "", |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | // æ»æ¡æ° |
| | |
| | | }, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | |
| | | </div> |
| | | <el-tag |
| | | v-for="tag in diagglist" |
| | | @close="removediagg(tag.icd10code)" |
| | | @close="removediagg(tag)" |
| | | type="warning" |
| | | closable |
| | | :disable-transitions="false" |
| | |
| | | if (res.code == 200) { |
| | | let arr = res.rows; |
| | | arr.forEach((item) => { |
| | | getillnesslist({ |
| | | icdcode: item.icd10code, |
| | | }).then((res) => { |
| | | if (localStorage.getItem("orgname") == "åå大å¦éå±ç¬¬ä¸å»é¢") { |
| | | item.icdname = item.icd10name; |
| | | this.diagglist.push(item); |
| | | } else { |
| | | getillnesslist({ icdcode: item.icd10code }).then((res) => { |
| | | item.icdname = res.rows[0].icdname; |
| | | this.diagglist.push(item); |
| | | }); |
| | | } |
| | | this.illnesscodes.push(item.icd10code); |
| | | }); |
| | | } |
| | |
| | | } |
| | | }, |
| | | // ç¾ç
å é¤è§¦å |
| | | removediagg(row) { |
| | | console.log(row, "row"); |
| | | console.log(this.diagglist, "this.diagglist"); |
| | | removediagg(tag) { |
| | | // ä»»å¡ç»ï¼æ¬å°å é¤å³å¯ï¼å端ä¿åæ¶ç»ä¸æ´æ° |
| | | if (this.form.appltype == 5) { |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | return; |
| | | } |
| | | |
| | | let result = this.diagglist |
| | | .filter((item) => item.icd10code == row) |
| | | .map((item) => item.id); |
| | | if (result.length) { |
| | | taskdiaghospgetsondel(result).then((res) => { |
| | | // æ®éç¾ç
å
³èï¼å¤ææ¯å¦æ idï¼å·²ä¿åçè®°å½ææ idï¼ |
| | | if (tag.id) { |
| | | // id åå¨ï¼è°å端æ¥å£å é¤ |
| | | taskdiaghospgetsondel([tag.id]).then((res) => { |
| | | if (res.code) { |
| | | this.diagglist = this.diagglist.filter( |
| | | (item) => item.icd10code != row |
| | | ); |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }); |
| | | } else { |
| | | // id ä¸åå¨ï¼æªä¿åçæ°è®°å½ï¼ï¼ç´æ¥æ¬å°å é¤ |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }, |
| | | /** 导å
¥æé®æä½ */ |
| | |
| | | </div> |
| | | <el-tag |
| | | v-for="tag in diagglist" |
| | | @close="removediagg(tag.icd10code)" |
| | | @close="removediagg(tag)" |
| | | type="warning" |
| | | closable |
| | | :disable-transitions="false" |
| | |
| | | </div> |
| | | <el-tag |
| | | v-for="tag in diagglist" |
| | | @close="removediagg(tag.icd10code)" |
| | | @close="removediagg(tag)" |
| | | type="warning" |
| | | closable |
| | | :disable-transitions="false" |
| | |
| | | this.form.serviceType == 8 || |
| | | this.form.serviceType == 12 || |
| | | this.form.serviceType == 13 || |
| | | this.form.serviceType == 20 || |
| | | this.form.serviceType == 9 |
| | | ) { |
| | | this.checkboxlist = [ |
| | |
| | | ...item, |
| | | itemCode: code, |
| | | itemName: item.itemName || item.medicalName, |
| | | manufacturerName: item.manufacturerName || item.medicalCompany |
| | | manufacturerName: item.manufacturerName || item.medicalCompany, |
| | | }); |
| | | }); |
| | | } |
| | |
| | | item.icdname = item.icd10name; |
| | | this.diagglist.push(item); |
| | | } else { |
| | | getillnesslist({ icdname: item.icd10name }).then((res) => { |
| | | getillnesslist({ icdcode: item.icd10code }).then((res) => { |
| | | item.icdname = res.rows[0].icdname; |
| | | this.diagglist.push(item); |
| | | }); |
| | |
| | | }); |
| | | } |
| | | }, |
| | | removediagg(row) { |
| | | removediagg(tag) { |
| | | // ä»»å¡ç»ï¼æ¬å°å é¤å³å¯ï¼å端ä¿åæ¶ç»ä¸æ´æ° |
| | | if (this.form.appltype == 5) { |
| | | this.diagglist = this.diagglist.filter((item) => item.icd10code != row); |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | return; |
| | | } |
| | | // æ®éç¾ç
å
³èï¼è°å端æ¥å£éæ¡å é¤ |
| | | let result = this.diagglist |
| | | .filter((item) => item.icd10code == row) |
| | | .map((item) => item.id); |
| | | if (result.length) { |
| | | taskdiaghospgetsondel(result).then((res) => { |
| | | |
| | | // æ®éç¾ç
å
³èï¼å¤ææ¯å¦æ idï¼å·²ä¿åçè®°å½ææ idï¼ |
| | | if (tag.id) { |
| | | // id åå¨ï¼è°å端æ¥å£å é¤ |
| | | taskdiaghospgetsondel([tag.id]).then((res) => { |
| | | if (res.code) { |
| | | this.diagglist = this.diagglist.filter( |
| | | (item) => item.icd10code != row |
| | | ); |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }); |
| | | } else { |
| | | // id ä¸åå¨ï¼æªä¿åçæ°è®°å½ï¼ï¼ç´æ¥æ¬å°å é¤ |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }, |
| | | remoteopcode(name) { |
| | |
| | | }, |
| | | // å é¤å·²éè¯åï¼åç¬æ¥å£ï¼ |
| | | removeMedical(code) { |
| | | taskmedicaldel({ medicalCode: code, taskId: this.form.taskid }).then((res) => { |
| | | taskmedicaldel({ medicalCode: code, taskId: this.form.taskid }).then( |
| | | (res) => { |
| | | if (res.code == 200) { |
| | | this.medicalCodes = this.medicalCodes.filter((c) => c !== code); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | |
| | | // ---------- æ£è
éæ© ---------- |
| | |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="ä»»å¡ç»æè®°å½" |
| | | width="120" |
| | | align="center" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="å®£ææ¶é´" |
| | | sortable |
| | | align="center" |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finishtime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="æä½" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | icon="el-icon-view" |
| | | @click="previewTemplate(scope.row)" |
| | | >é¢è§</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <!-- å®£ææ¨¡æ¿é¢è§ --> |
| | | <el-dialog title="模æ¿é¢è§" :visible.sync="previewtf" width="60%"> |
| | | <div v-html="htmlRichText"></div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist } from "@/api/AiCentre/index"; |
| | | import { getTaskservelist, getlibrarylist } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | import axios from "axios"; |
| | | |
| | | export default { |
| | | name: "Discharge", |
| | |
| | | inputVisible: false, |
| | | inputValue: "", |
| | | previewVisible: false, //é¨è¯å®£æé¢è§å¼¹æ¡ |
| | | previewtf: false, //å®£ææ¨¡æ¿é¢è§å¼¹æ¡ |
| | | htmlRichText: "", //å®£ææ¨¡æ¿é¢è§å¯ææ¬ |
| | | radio: "", |
| | | radios: [], |
| | | previewtype: 2, //é¢è§é¨è¯å®£æç±»å |
| | |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | this.loading = true; |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes,'123'); |
| | | console.log(this.topqueryParams.leaveldeptcodes,'344'); |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes, "123"); |
| | | console.log(this.topqueryParams.leaveldeptcodes, "344"); |
| | | |
| | | if ( |
| | | this.topqueryParams.leavehospitaldistrictcodes[0] && |
| | |
| | | // æ¥çé¨è¯å®£æè¯¦æ
|
| | | Referencequestion(row) { |
| | | this.previewVisible = true; |
| | | }, |
| | | // é¢è§å®£ææ¨¡æ¿ï¼éè¿ libtemplateid æ¥è¯¢æ¨¡æ¿ä¿¡æ¯ï¼ |
| | | previewTemplate(row) { |
| | | if (!row.libtemplateid) { |
| | | this.$message.warning("è¯¥ä»»å¡æªå
³èå®£ææ¨¡æ¿"); |
| | | return; |
| | | } |
| | | this.htmlRichText = null; |
| | | this.previewtf = true; |
| | | getlibrarylist({ id: row.libtemplateid }) |
| | | .then((res) => { |
| | | const tpl = (res.rows && res.rows[0]) || null; |
| | | if (!tpl || !tpl.htmlRichText) { |
| | | this.$message.warning("è¯¥æ¨¡æ¿ææ é¢è§å
容"); |
| | | return; |
| | | } |
| | | axios |
| | | .get(tpl.htmlRichText) |
| | | .then((response) => { |
| | | this.htmlRichText = response.data; |
| | | this.htmlRichText = this.addStyleToImages(this.htmlRichText); |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("è·å模æ¿å
容失败"); |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("æ¥è¯¢æ¨¡æ¿ä¿¡æ¯å¤±è´¥"); |
| | | }); |
| | | }, |
| | | // ä¿®å¤å¯ææ¬å¾çè·¯å¾ä¸æ ·å¼ |
| | | addStyleToImages(html) { |
| | | if (!html) return html; |
| | | let processedHtml = html.replace( |
| | | /\/aifollowup\/aifollowup\//g, |
| | | "/aifollowup/" |
| | | ); |
| | | processedHtml = processedHtml.replace( |
| | | /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g, |
| | | '<img$1style="width:100%;height:auto;"$3>' |
| | | ); |
| | | return processedHtml; |
| | | }, |
| | | // æ·»å å¼¹æ¡æç´¢ |
| | | remoteMethod(query) { |
| | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | |
| | | .document { |
| | |
| | | // font-size: 24px; |
| | | // } |
| | | // } |
| | | /* ================= æ¸
æ°é«çº§ç®çº¦é£ ================= */ |
| | | .app-container { |
| | | background: #f5f7fb; |
| | | border-radius: 14px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | /* æ¥è¯¢è¡¨åï¼ç½è²åè§å¡ç */ |
| | | ::v-deep .el-form--inline { |
| | | background: #ffffff; |
| | | border-radius: 14px; |
| | | padding: 22px 22px 8px; |
| | | margin-bottom: 18px; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | |
| | | /* éèåå²çº¿ */ |
| | | ::v-deep .el-divider { |
| | | display: none; |
| | | } |
| | | |
| | | /* å·¥å
·æ åºé¨é´è· */ |
| | | .mb8 { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | /* æé®ï¼åè§ + æåè¿æ¸¡ */ |
| | | ::v-deep .el-button { |
| | | border-radius: 8px; |
| | | font-weight: 500; |
| | | transition: all 0.25s ease; |
| | | } |
| | | |
| | | /* 主æé®ï¼æ¸
æ°éè */ |
| | | ::v-deep .el-button--primary:not(.is-plain) { |
| | | background: #5b7cfa; |
| | | border-color: #5b7cfa; |
| | | } |
| | | ::v-deep .el-button--primary:not(.is-plain):hover, |
| | | ::v-deep .el-button--primary:not(.is-plain):focus { |
| | | background: #7593fb; |
| | | border-color: #7593fb; |
| | | } |
| | | |
| | | /* è¡¨æ ¼ï¼ç½è²åè§å¡ç + æå表头 */ |
| | | ::v-deep .el-table { |
| | | border-radius: 14px; |
| | | overflow: hidden; |
| | | box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05); |
| | | } |
| | | ::v-deep .el-table::before { |
| | | display: none; |
| | | } |
| | | ::v-deep .el-table th { |
| | | background: #f7f9fd !important; |
| | | color: #3f4d63; |
| | | font-weight: 600; |
| | | } |
| | | ::v-deep .el-table td { |
| | | padding: 12px 0; |
| | | } |
| | | |
| | | /* æ ç¾åè§ */ |
| | | ::v-deep .el-tag { |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | /* å页é´è· */ |
| | | ::v-deep .pagination-container { |
| | | padding-top: 18px; |
| | | } |
| | | </style> |
| | |
| | | <el-option |
| | | v-for="item in medicalOptions" |
| | | :key="item.id" |
| | | :label="item.itemName + ' (' + item.manufacturerName + ')'" |
| | | :label=" |
| | | item.itemName + ' (' + item.manufacturerName + ')' |
| | | " |
| | | :value="item.itemCode" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-tag |
| | | v-for="tag in diagglist" |
| | | :key="tag.icdcode" |
| | | @close="removediagg(tag.icd10code)" |
| | | @close="removediagg(tag)" |
| | | type="warning" |
| | | closable |
| | | :disable-transitions="false" |
| | |
| | | </div> |
| | | <el-tag |
| | | v-for="tag in diagglist" |
| | | @close="removediagg(tag.icd10code)" |
| | | @close="removediagg(tag)" |
| | | type="warning" |
| | | closable |
| | | :disable-transitions="false" |
| | |
| | | this.form.serviceType == 9 || |
| | | this.form.serviceType == 11 || |
| | | this.form.serviceType == 12 || |
| | | this.form.serviceType == 20 || |
| | | this.form.serviceType == 10 |
| | | ) { |
| | | this.checkboxlist = [ |
| | |
| | | item.icdname = item.icd10name; |
| | | this.diagglist.push(item); |
| | | } else { |
| | | getillnesslist({ icdname: item.icd10name }).then((res) => { |
| | | |
| | | getillnesslist({ icdcode: item.icd10code }).then((res) => { |
| | | item.icdname = res.rows[0].icdname; |
| | | this.diagglist.push(item); |
| | | }); |
| | |
| | | ...item, |
| | | itemCode: code, |
| | | itemName: item.itemName || item.medicalName, |
| | | manufacturerName: item.manufacturerName || item.medicalCompany |
| | | manufacturerName: item.manufacturerName || item.medicalCompany, |
| | | }); |
| | | }); |
| | | } |
| | |
| | | }); |
| | | } |
| | | }, |
| | | removediagg(row) { |
| | | removediagg(tag) { |
| | | // ä»»å¡ç»ï¼æ¬å°å é¤å³å¯ï¼å端ä¿åæ¶ç»ä¸æ´æ° |
| | | if (this.form.appltype == 5) { |
| | | this.diagglist = this.diagglist.filter((item) => item.icd10code != row); |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | return; |
| | | } |
| | | // æ®éç¾ç
å
³èï¼è°å端æ¥å£éæ¡å é¤ |
| | | let result = this.diagglist |
| | | .filter((item) => item.icd10code == row) |
| | | .map((item) => item.id); |
| | | if (result.length) { |
| | | taskdiaghospgetsondel(result).then((res) => { |
| | | |
| | | // æ®éç¾ç
å
³èï¼å¤ææ¯å¦æ idï¼å·²ä¿åçè®°å½ææ idï¼ |
| | | if (tag.id) { |
| | | // id åå¨ï¼è°å端æ¥å£å é¤ |
| | | taskdiaghospgetsondel([tag.id]).then((res) => { |
| | | if (res.code) { |
| | | this.diagglist = this.diagglist.filter( |
| | | (item) => item.icd10code != row |
| | | ); |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }); |
| | | } else { |
| | | // id ä¸åå¨ï¼æªä¿åçæ°è®°å½ï¼ï¼ç´æ¥æ¬å°å é¤ |
| | | this.diagglist = this.diagglist.filter((item) => item != tag); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }, |
| | | remoteopcode(name) { |
| | | // å ä½ |
| | | }, |
| | | remoteSearchMedical(query) { |
| | | if (!query) { this.medicalOptions = []; return; } |
| | | listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then((res) => { |
| | | if (!query) { |
| | | this.medicalOptions = []; |
| | | return; |
| | | } |
| | | listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then( |
| | | (res) => { |
| | | this.medicalOptions = res.rows || []; |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | removeMedical(code) { |
| | | taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then((res) => { |
| | | taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then( |
| | | (res) => { |
| | | if (res.code == 200) { |
| | | this.medicalCodes = this.medicalCodes.filter((c) => c !== code); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | } |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | |
| | | // ---------- æ£è
éæ© ---------- |
| | |
| | | // å°ä¸»å¯¹è±¡æ¾å
¥ form æäº¤ |
| | | } |
| | | if (this.form.appltype == 5) { |
| | | console.log(this.form,'è¿å
¥ä»»å¡ç»é
ç½®'); |
| | | console.log(this.form, "è¿å
¥ä»»å¡ç»é
ç½®"); |
| | | |
| | | this.form.serviceTaskScheduleVO.icd10codes = this.form.icd10code; |
| | | this.form.serviceTaskScheduleVO.wardCodes = |
| | |
| | | ); |
| | | this.form.medicalCode = this.medicalCodes.join(","); |
| | | this.form.medicalName = selectedMeds.map((m) => m.itemName).join(","); |
| | | this.form.medicalCompany = selectedMeds.map((m) => m.manufacturerName).join(","); |
| | | this.form.medicalCompany = selectedMeds |
| | | .map((m) => m.manufacturerName) |
| | | .join(","); |
| | | } |
| | | |
| | | this.form.serviceType = this.serviceType; |
| | |
| | | .map((item) => item.icdname) |
| | | .join(","); |
| | | // ç¾ç
/ææ¯/è¯åå
³èçç§å®¤/ç
åºæ ¡éª |
| | | if (this.form.appltype == 3 || this.form.appltype == 4 || this.form.appltype == 6) { |
| | | if ( |
| | | this.form.appltype == 3 || |
| | | this.form.appltype == 4 || |
| | | this.form.appltype == 6 |
| | | ) { |
| | | const hasDept = this.diseaseDept?.deptCode; |
| | | const hasWard = this.diseaseWard?.districtCode; |
| | | if (!hasDept && !hasWard) { |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="leftvlue" style="margin-bottom: 20px"> |
| | | <!-- <div class="leftvlue" style="margin-bottom: 20px"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> |
| | | <el-card |
| | |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> --> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == 'çç«åå¾·ç¿ èé¢åº'" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--ç¨æ·æ°æ®--> |
| | | <el-form |
| | |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import StatisticsCards from "@/components/StatisticsCards"; |
| | | |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | | export default { |
| | | name: "Discharge", |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | | components: { Treeselect }, |
| | | components: { Treeselect, StatisticsCards }, |
| | | data() { |
| | | return { |
| | | // é®ç½©å± |
| | |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | jgvalue: 0, |
| | | |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | |
| | | }, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | }, |
| | | value: [], |
| | | list: [], |
| | | orgname: "", |
| | | |
| | | sourcetype: [ |
| | | { |
| | |
| | | ], |
| | | cardlist: [ |
| | | { |
| | | name: "æ£è
æå¡æ»é", |
| | | name: "åºé¢æå¡æ»é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "æ£è
è¿æ»¤", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "åºé访", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "å¼å¸¸", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "æ éé访", |
| | | name: "åé失败", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "éé访", |
| | | name: "å¾
æ§è¡", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "å¾
é访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已宿", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "å·²åé", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表åå·²åé", |
| | | // value: 0, |
| | | // }, |
| | | ], |
| | | |
| | | // 表ååæ° |
| | |
| | | }, |
| | | ], |
| | | errtype: "", |
| | | ycvalue: 0, |
| | | jgvalue: 0, |
| | | |
| | | leavehospitaldistrictcode: "", |
| | | serviceState: [], |
| | | checkboxlist: [], |
| | |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | | return { |
| | | label: dept.deptName, |
| | |
| | | }, |
| | | methods: { |
| | | /** æ¥è¯¢é¨è¯é访æå¡å表 */ |
| | | getList(refresh) { |
| | | async getList(refresh) { |
| | | // é»è®¤å
¨é¨ |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | this.applyDeptWardScope(); |
| | | if (this.endOut == 0) { |
| | | this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS( |
| | | this.getEndOfDay() |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | |
| | | // æ¥åå¼å¸¸è·³è½¬ |
| | | if (this.errtype) { |
| | | this.topqueryParams.leavehospitaldistrictcodes.push( |
| | | this.leavehospitaldistrictcode |
| | | ); |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); |
| | | } |
| | | |
| | | this.loading = true; |
| | | if (this.topqueryParams.leavehospitaldistrictcodes[0]&&this.topqueryParams.leaveldeptcodes[0]) { |
| | | |
| | | if ( |
| | | this.topqueryParams.leavehospitaldistrictcodes[0] && |
| | | this.topqueryParams.leaveldeptcodes[0] |
| | | ) { |
| | | this.topqueryParams.deptOrDistrict=2; |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | this.loading = false; |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | |
| | | try { |
| | | const response = await getTaskservelist(this.topqueryParams); |
| | | |
| | | // â
ç¬¬ä¸æ¥ï¼å
é宿¢å¤ç¶æ |
| | | this.isRestoring = true; |
| | | |
| | | // â
ç¬¬äºæ¥ï¼åæ´æ°æ°æ®ï¼è¿ä¼è§¦å selection-changeï¼ä½è¢«éä½äºï¼ |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | |
| | | // â
ç¬¬ä¸æ¥ï¼æ¢å¤éä¸ç¶æ |
| | | // this.restoreSelection(); |
| | | this.$nextTick(() => { |
| | | this.restoreSelection(); |
| | | }); |
| | | |
| | | // â
ç¬¬åæ¥ï¼å¤çå
¶ä»æ°æ® |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0; |
| | | // this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[1].value = response.rows[0].wxsf || 0; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.ycvalue = Number(response.rows[0].yc) || 0; |
| | | this.jgvalue = response.rows[0].jg; |
| | | this.cardlist[2].value = response.rows[0].xsf || 0; |
| | | this.cardlist[3].value = response.rows[0].dsf || 0; |
| | | this.cardlist[4].value = response.rows[0].ywc || 0; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | | |
| | | // â
ç¬¬äºæ¥ï¼å¤ç preachform çå
¶ä»æ°æ® |
| | | this.userList.forEach((item) => { |
| | | let idArray = null; |
| | | if (item.endtime) { |
| | |
| | | } |
| | | |
| | | if (item.preachform) { |
| | | if (item.endtime) { |
| | | item.preachformson = item.preachform; |
| | | idArray = item.preachform.split(","); |
| | | } |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | // æ¥æ¾id对åºç对象 |
| | | const item = this.checkboxlist.find( |
| | | (item) => item.value == value |
| | | ); |
| | | // 妿æ¾å°å¯¹åºçidï¼è¿ålabelå¼ï¼å¦åè¿ånull |
| | | return item ? item.label : null; |
| | | }); |
| | | } |
| | | if (item.currentPreachform) { |
| | | item.currentPreachform = this.checkboxlist.find( |
| | | (item) => item.value == item.currentPreachform |
| | | )?.value; |
| | | console.log(item.currentPreachform, "mi"); |
| | | } |
| | | }); |
| | | |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | |
| | | // â
第å
æ¥ï¼è§£é |
| | | this.$nextTick(() => { |
| | | this.isRestoring = false; |
| | | }); |
| | | } catch (error) { |
| | | console.error("è·åå表失败:", error); |
| | | this.loading = false; |
| | | this.isRestoring = false; |
| | | } |
| | | }, |
| | | // æ¥çå½±åé访详æ
|
| | | Referencequestion(row) { |
| | |
| | | } |
| | | } |
| | | ::v-deep.leftvlue .el-card__body { |
| | | background: #F2F8FF; |
| | | color: #324A9B; |
| | | background: #f2f8ff; |
| | | color: #324a9b; |
| | | } |
| | | ::v-deep.leftvlue .el-card__body:hover { |
| | | background: #3664D9; |
| | | background: #3664d9; |
| | | color: #fff; |
| | | cursor: pointer; /* é¼ æ æ¬æµ®æ¶å为æå½¢ */ |
| | | } |
| | |
| | | }, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | jgvalue: 0, |
| | | orgname: "", |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | |
| | | }, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | ycvalue: 0, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <statistics-cards |
| | | :cardlist="cardlist" |
| | | :ycvalue="ycvalue" |
| | | :jgvalue="jgvalue" |
| | | :show-warning-condition="orgname == 'çç«åå¾·ç¿ èé¢åº'" |
| | | /> |
| | | <el-row :gutter="20"> |
| | | <!--ç¨æ·æ°æ®--> |
| | | <el-form |
| | | :model="topqueryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="ä»»å¡åç§°"> |
| | | <el-input |
| | | v-model="topqueryParams.taskName" |
| | | placeholder="è¯·éæ©ä»»å¡åç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="åºé¢æ¶é´"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px" |
| | | value-format="yyyy-MM-dd" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ£è
å§å" prop="sendname"> |
| | | <el-input |
| | | v-model="topqueryParams.sendname" |
| | | placeholder="请è¾å
¥æ£è
å§å" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ£è
èå´" prop="status"> |
| | | <el-cascader |
| | | v-model="topqueryParams.scopetype" |
| | | placeholder="é»è®¤å
¨é¨" |
| | | :options="sourcetype" |
| | | :props="{ expandTrigger: 'hover' }" |
| | | @change="handleChange" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="ä»»å¡ç¶æ" prop="status"> |
| | | <el-select v-model="topqueryParams.sendstate" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery(1)" |
| | | >æç´¢</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | | >éç½®</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | @click="handleAdd" |
| | | >æ°å¢</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="medium" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:user:export']" |
| | | >导åº</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-warning-outline" |
| | | size="medium" |
| | | @click="toleadExport(1)" |
| | | >æ§è¡å¤±è´¥</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-warning" |
| | | size="medium" |
| | | @click="toleadExport(2)" |
| | | >ç»æå¼å¸¸</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | | height="660" |
| | | :row-class-name="tableRowClassName" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="ä»»å¡åç§°" |
| | | fixed |
| | | align="center" |
| | | key="taskName" |
| | | prop="taskName" |
| | | width="180" |
| | | /> |
| | | <!-- <el-table-column label="åºå·" fixed align="center" key="id" prop="id" /> --> |
| | | <el-table-column |
| | | label="å§å" |
| | | fixed |
| | | align="center" |
| | | key="sendname" |
| | | prop="sendname" |
| | | /> |
| | | <el-table-column |
| | | label="ä»»å¡ç¶æ" |
| | | align="center" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >表åå·²é¢å</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 2"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >å¾
æ§è¡</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 3"> |
| | | <el-tag type="success" :disable-transitions="false" |
| | | >表åå·²åé</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 4"> |
| | | <el-tag type="info" :disable-transitions="false">䏿§è¡</el-tag> |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 5"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >åé失败</el-tag |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="danger" :disable-transitions="false">已宿</el-tag> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="ä»»å¡å¼å¸¸è¯´æ" |
| | | width="120" |
| | | align="center" |
| | | key="remark" |
| | | prop="remark" --> |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="人工å¤çæè§" |
| | | align="center" |
| | | key="suggest" |
| | | prop="suggest" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_suggest" |
| | | :value="scope.row.suggest" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="é访人å" |
| | | align="center" |
| | | key="createBy" |
| | | prop="createBy" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="é访æ¶é´" |
| | | sortable |
| | | align="center" |
| | | prop="finishtime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.finishtime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="åºé¢æ¥æ" |
| | | width="200" |
| | | align="center" |
| | | key="endtime" |
| | | prop="endtime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.endtime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="åºéè®¿æ¥æ" |
| | | width="200" |
| | | align="center" |
| | | key="longSendTime" |
| | | prop="longSendTime" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.longSendTime) }}</span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column |
| | | label="åºé¢å¤©æ°" |
| | | width="120" |
| | | align="center" |
| | | key="endDay" |
| | | prop="endDay" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.endDay ? scope.row.endDay + "天" : "" }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="身份è¯å·ç " |
| | | width="200" |
| | | align="center" |
| | | key="sfzh" |
| | | prop="sfzh" |
| | | /> |
| | | <el-table-column |
| | | label="èç³»çµè¯" |
| | | width="200" |
| | | align="center" |
| | | key="phone" |
| | | prop="phone" |
| | | /> |
| | | <el-table-column |
| | | label="责任æ¤å£«" |
| | | width="120" |
| | | align="center" |
| | | key="nurseName" |
| | | prop="nurseName" |
| | | /> |
| | | <el-table-column |
| | | label="主治å»ç" |
| | | width="120" |
| | | align="center" |
| | | key="drname" |
| | | prop="drname" |
| | | /> |
| | | |
| | | <!-- <el-table-column |
| | | label="ç
åå·" |
| | | align="center" |
| | | sortable |
| | | key="medicalRecordNo" |
| | | prop="medicalRecordNo" |
| | | width="120" |
| | | /> --> |
| | | |
| | | <!-- <el-table-column label="å¹´é¾" align="center" key="age" prop="age" /> --> |
| | | <!-- <el-table-column label="æ§å«" align="center" key="sex" prop="sex" /> --> |
| | | <!-- <el-table-column label="åºå·" align="center" key="badNo" prop="badNo" /> --> |
| | | <el-table-column |
| | | label="ç§å®¤" |
| | | align="center" |
| | | key="deptname" |
| | | prop="deptname" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="ç
åº" |
| | | align="center" |
| | | key="leavehospitaldistrictname" |
| | | prop="leavehospitaldistrictname" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column |
| | | label="ç¾ç
åç§°" |
| | | align="center" |
| | | key="icdName" |
| | | prop="icdName" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column |
| | | label="åºé¢é访模æ¿åç§°" |
| | | align="center" |
| | | key="templatename" |
| | | prop="templatename" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | label="任塿§è¡æ¹å¼" |
| | | align="center" |
| | | key="preachform" |
| | | prop="preachform" |
| | | width="160" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.preachform">{{ item }}ã </span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="ä»»å¡åéæµç¨" |
| | | align="center" |
| | | key="serviceSubtaskRecordList" |
| | | prop="serviceSubtaskRecordList" |
| | | width="160" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.serviceSubtaskRecordList" |
| | | >{{ item.remark }}ã |
| | | </span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | label="ä»»å¡ç»æè¯´æ" |
| | | width="200" |
| | | align="center" |
| | | key="remark" |
| | | prop="remark" |
| | | > |
| | | <template slot-scope="scope" v-if="scope.row.remark"> |
| | | <el-tag |
| | | type="warning" |
| | | v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" |
| | | >{{ scope.row.remark }}</el-tag |
| | | > |
| | | <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æä½" |
| | | align="center" |
| | | fixed="right" |
| | | width="200" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="éæ°é访" |
| | | placement="top" |
| | | > |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="followupvisit(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-bb" |
| | | ><i class="el-icon-s-promotion"></i></span |
| | | ></el-button> |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="忢" |
| | | placement="top" |
| | | > |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="handlestop(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-sc"><i class="el-icon-delete"></i></span |
| | | ></el-button> |
| | | </el-tooltip> --> |
| | | <el-button size="medium" type="text" @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>æ¥ç详æ
</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="topqueryParams.pageNum" |
| | | :limit.sync="topqueryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </el-row> |
| | | <!-- æ·»å æä¿®æ¹é¨è¯éè®¿å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="addalteropen" |
| | | width="700px" |
| | | append-to-body |
| | | > |
| | | <el-form ref="form" :model="form" label-width="100px"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="ä»»å¡åç§°"> |
| | | <el-input v-model="form.name"></el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24" |
| | | ><el-form-item label="æå±ç§å®¤"> |
| | | <el-select v-model="form.region" placeholder="è¯·éæ©ç§å®¤"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> </el-form-item></el-col |
| | | ></el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24" |
| | | ><el-form-item label="é访类å"> |
| | | <el-select v-model="form.region" placeholder="è¯·éæ©é访类å"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="æå¡æ¨¡å"> |
| | | <el-select v-model="form.region" placeholder="è¯·éæ©æ¨¡å"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="é¨è¯éè®¿è¦æ±"> |
| | | <el-input type="textarea" v-model="form.desc"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">æ 交</el-button> |
| | | <el-button @click="cancel">è¿ å</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- ä¿®æ¹åéæ¶é´å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | title="åéæ¶é´è®¾ç½®" |
| | | :visible.sync="modificationVisible" |
| | | width="45%" |
| | | > |
| | | <div style="margin-bottom: 20px; color: red"> |
| | | ç»ä¸ä¿®æ¹å½å¤©æªåéç任塿¶é´ |
| | | </div> |
| | | |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="120px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="å鿥æ"> |
| | | <el-date-picker |
| | | v-model="ruleForm.value1" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ¶é´æ®µ" prop="type"> |
| | | <el-checkbox-group v-model="ruleForm.type"> |
| | | <el-checkbox label="ä¸å" name="type"></el-checkbox> |
| | | <el-checkbox label="ä¸å" name="type"></el-checkbox> |
| | | <el-checkbox label="æä¸" name="type"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ¶é´åºé´" required> |
| | | <el-time-picker |
| | | is-range |
| | | v-model="ruleForm.value2" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´" |
| | | placeholder="éæ©æ¶é´èå´" |
| | | > |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ¶é´åºé´" required> |
| | | <el-time-picker |
| | | is-range |
| | | v-model="ruleForm.value3" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´" |
| | | placeholder="éæ©æ¶é´èå´" |
| | | > |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æä¸æ¶é´åºé´" required> |
| | | <el-time-picker |
| | | is-range |
| | | v-model="ruleForm.value4" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´" |
| | | placeholder="éæ©æ¶é´èå´" |
| | | > |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="modificationVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="modificationVisible = false" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | listUser, |
| | | getUser, |
| | | delUser, |
| | | addUser, |
| | | updateUser, |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | import StatisticsCards from "@/components/StatisticsCards"; |
| | | |
| | | export default { |
| | | name: "Discharge", |
| | | dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], |
| | | components: { Treeselect, StatisticsCards }, |
| | | data() { |
| | | return { |
| | | // é®ç½©å± |
| | | loading: true, |
| | | // é䏿°ç» |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | jgvalue: 0, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç¨æ·è¡¨æ ¼æ°æ® |
| | | userList: null, |
| | | // å¼¹åºå±æ é¢ |
| | | title: "æ°å¢é¨è¯é访", |
| | | // æ¯å¦æ¾ç¤ºä¿®æ¹ãæ·»å å¼¹åºå± |
| | | addalteropen: false, |
| | | // ä¿®æ¹åéæ¶é´å¯¹è¯æ¡ |
| | | modificationVisible: false, |
| | | // é¨é¨åç§° |
| | | deptName: undefined, |
| | | // é»è®¤å¯ç |
| | | initPassword: undefined, |
| | | // æ¥æèå´ |
| | | dateRange: [], |
| | | // å²ä½é项 |
| | | postOptions: [], |
| | | ruleForm: { |
| | | type: [], |
| | | }, |
| | | ycvalue: 0, |
| | | jgvalue: 0, |
| | | dynamicTags: ["é项ä¸", "é项äº", "é项ä¸"], //é项 |
| | | inputVisible: false, |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | | previewVisible: false, //é¨è¯é访é¢è§å¼¹æ¡ |
| | | radio: "", |
| | | radios: [], |
| | | previewtype: 2, //é¢è§é¨è¯é访类å |
| | | total: 0, // æ»æ¡æ° |
| | | ImportQuantity: 999, //导é¨è¯é访æ°é |
| | | //é¢è§é¨è¯éè®¿ä¿¡æ¯ |
| | | previewvalue: { |
| | | username: "è¿ä¸ªå»çå¯¹ä½ æä¹æ ·", |
| | | }, |
| | | value: [], |
| | | list: [], |
| | | orgname: "", |
| | | |
| | | sourcetype: [ |
| | | { |
| | | value: 1, |
| | | label: "ç§å®¤", |
| | | children: [], |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "ç
åº", |
| | | children: [], |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "å
¨é¨", |
| | | }, |
| | | ], |
| | | loading: false, |
| | | cardlist: [ |
| | | { |
| | | name: "åºé¢æå¡æ»é", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "æ£è
è¿æ»¤", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "åºé访", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "å¼å¸¸", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "åé失败", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "å¾
æ§è¡", |
| | | value: 0, |
| | | }, |
| | | // { |
| | | // name: "å·²åé", |
| | | // value: 0, |
| | | // }, |
| | | |
| | | // { |
| | | // name: "表åå·²åé", |
| | | // value: 0, |
| | | // }, |
| | | ], |
| | | |
| | | // 表ååæ° |
| | | form: { |
| | | phonenumber: "", |
| | | totagid: "", |
| | | types: "", |
| | | nickName: "", |
| | | qystatus: "", |
| | | btstatus: "", |
| | | }, |
| | | // æ¥è¯¢åæ° |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 20, |
| | | searchscope: 3, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | | |
| | | topicoptions: [ |
| | | { |
| | | value: 1, |
| | | label: "表åå·²é¢å", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "å¾
æ§è¡", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "表åå·²åé", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "䏿§è¡", |
| | | }, |
| | | { |
| | | value: 5, |
| | | label: "åé失败", |
| | | }, |
| | | { |
| | | value: 6, |
| | | label: "已宿", |
| | | }, |
| | | ], |
| | | topicoptionsyj: [ |
| | | { |
| | | value: 1, |
| | | label: "å¼å¸¸", |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "æ£å¸¸", |
| | | }, |
| | | ], |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | | serviceState: [], |
| | | checkboxlist: [], |
| | | // è¡¨åæ ¡éª |
| | | rules: {}, |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | | return { |
| | | label: dept.deptName, |
| | | value: dept.deptCode, |
| | | }; |
| | | }); |
| | | this.sourcetype[1].children = store.getters.belongWards.map((dept) => { |
| | | return { |
| | | label: dept.districtName, |
| | | value: dept.districtCode, |
| | | }; |
| | | }); |
| | | if (this.errtype) { |
| | | this.toleadExport(2); |
| | | } else { |
| | | this.getList(1); |
| | | } |
| | | this.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | | }); |
| | | }, |
| | | activated() { |
| | | this.getList(1); |
| | | }, |
| | | methods: { |
| | | /** æ¥è¯¢é¨è¯é访æå¡å表 */ |
| | | getList(refresh) { |
| | | // é»è®¤å
¨é¨ |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | // æ¥åå¼å¸¸è·³è½¬ |
| | | if (this.errtype) { |
| | | this.topqueryParams.leavehospitaldistrictcodes.push( |
| | | this.leavehospitaldistrictcode |
| | | ); |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); |
| | | } |
| | | this.loading = true; |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[2].value = response.rows[0].ysf; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dsf; |
| | | // this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | | this.userList.forEach((item) => { |
| | | let idArray = null; |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | |
| | | if (item.preachform) { |
| | | if (item.endtime) { |
| | | item.preachformson = item.preachform; |
| | | idArray = item.preachform.split(","); |
| | | } |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | // æ¥æ¾id对åºç对象 |
| | | const item = this.checkboxlist.find( |
| | | (item) => item.value == value |
| | | ); |
| | | // 妿æ¾å°å¯¹åºçidï¼è¿ålabelå¼ï¼å¦åè¿ånull |
| | | return item ? item.label : null; |
| | | }); |
| | | } |
| | | }); |
| | | this.total = response.total; |
| | | }); |
| | | }, |
| | | // æ¥çé¨è¯é访详æ
|
| | | Referencequestion(row) { |
| | | this.previewVisible = true; |
| | | }, |
| | | // æ·»å å¼¹æ¡æç´¢ |
| | | remoteMethod(query) { |
| | | if (query !== "") { |
| | | this.loading = true; |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | this.options = this.list.filter((item) => { |
| | | return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; |
| | | }); |
| | | }, 200); |
| | | } else { |
| | | this.options = []; |
| | | } |
| | | }, |
| | | // é¨è¯éè®¿ç¶æä¿®æ¹ |
| | | handleStatusChange(row) { |
| | | let text = row.status === "0" ? "å¯ç¨" : "åç¨"; |
| | | this.$modal |
| | | .confirm('确认è¦"' + text + '""' + row.userName + '"ç¨æ·åï¼') |
| | | .then(function () { |
| | | return changeUserStatus(row.userId, row.status); |
| | | }) |
| | | .then(() => { |
| | | this.$modal.msgSuccess(text + "æå"); |
| | | }) |
| | | .catch(function () { |
| | | row.status = row.status === "0" ? "1" : "0"; |
| | | }); |
| | | }, |
| | | // åæ¶æé® |
| | | cancel() { |
| | | this.addalteropen = false; |
| | | this.reset(); |
| | | }, |
| | | // 表åéç½® |
| | | 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"); |
| | | }, |
| | | /** æç´¢æé®æä½ */ |
| | | handleQuery(refresh) { |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | this.topqueryParams.pageNum = 1; |
| | | this.topqueryParams.startOutHospTime = this.dateRange[0]; |
| | | this.topqueryParams.endOutHospTime = this.dateRange[1]; |
| | | |
| | | this.getList(refresh); |
| | | }, |
| | | // æ£è
èå´å¤ç |
| | | handleChange(value) { |
| | | let type = value[0]; |
| | | let code = value.slice(-1)[0]; |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | | this.topqueryParams.leaveldeptcodes = []; |
| | | |
| | | if (type == 1) { |
| | | this.topqueryParams.leaveldeptcodes.push(code); |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | | this.topqueryParams.searchscope = 1; |
| | | } else if (type == 2) { |
| | | this.topqueryParams.leavehospitaldistrictcodes.push(code); |
| | | this.topqueryParams.leaveldeptcodes = []; |
| | | this.topqueryParams.searchscope = 2; |
| | | } else { |
| | | this.topqueryParams.searchscope = 3; |
| | | } |
| | | }, |
| | | /** éç½®æé®æä½ */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.topqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 20, |
| | | searchscope: 2, |
| | | }; |
| | | this.handleQuery(1); |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.userId); |
| | | this.single = selection.length != 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | //å é¤é项 |
| | | handleClose(tag) { |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | }, |
| | | //è§¦åæ°å¢è¾å
¥ |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | this.$nextTick((_) => { |
| | | this.$refs.saveTagInput.$refs.input.focus(); |
| | | }); |
| | | }, |
| | | //è·å失å»ç¦ç¹è§¦å |
| | | handleInputConfirm() { |
| | | let inputValue = this.inputValue; |
| | | if (inputValue) { |
| | | this.dynamicTags.push(inputValue); |
| | | } |
| | | this.inputVisible = false; |
| | | this.inputValue = ""; |
| | | }, |
| | | /** æ°å¢æé®æä½ */ |
| | | handleAdd() { |
| | | this.$router.push({ |
| | | path: "/followvisit/QuestionnaireTask", |
| | | query: { |
| | | type: 2, |
| | | serviceType: 20, |
| | | }, |
| | | }); |
| | | }, |
| | | |
| | | /** éç½®å¯ç æé®æä½ */ |
| | | handleResetPwd(row) { |
| | | this.$prompt('请è¾å
¥"' + row.userName + '"çæ°å¯ç ', "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | closeOnClickModal: false, |
| | | inputPattern: /^.{5,20}$/, |
| | | inputErrorMessage: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´", |
| | | }) |
| | | .then(({ value }) => { |
| | | resetUserPwd(row.userId, value).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æåï¼æ°å¯ç æ¯ï¼" + value); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** æäº¤æé® */ |
| | | submitForm: function () { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.userId != undefined) { |
| | | updateUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(1); |
| | | }); |
| | | } else { |
| | | addUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(1); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | const userIds = row.userId || this.ids; |
| | | this.$modal |
| | | .confirm('æ¯å¦ç¡®è®¤å é¤ç¨æ·ç¼å·ä¸º"' + userIds + '"çæ°æ®é¡¹ï¼') |
| | | .then(function () { |
| | | return delUser(userIds); |
| | | }) |
| | | .then(() => { |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // å
¨é¨åæ¢ |
| | | AllStop() { |
| | | this.$modal |
| | | .confirm("æ¯å¦åæ¢å
¨é¨ä»»å¡ï¼") |
| | | .then(function () { |
| | | return console.log("忢æå"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(1); |
| | | this.$modal.msgWarning("忢æå"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // å
¨é¨å¼å§ |
| | | AllStarted() { |
| | | this.$modal |
| | | .confirm("æ¯å¦å¼å¯å
¨é¨ä»»å¡ï¼") |
| | | .then(function () { |
| | | return console.log("å¼å¯æå"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("å¼å¯æå"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // ä»»å¡éç½® |
| | | TaskReset() { |
| | | this.$modal |
| | | .confirm("æ¯å¦éç½®éä¸çä»»å¡é¡¹ï¼") |
| | | .then(function () { |
| | | return console.log("é䏿å"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("éç½®æå"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 设置åéæ¶é´ |
| | | Sendtimesetting() { |
| | | this.modificationVisible = true; |
| | | }, |
| | | // 跳转详æ
页 |
| | | Seedetails(row) { |
| | | let type = ""; |
| | | console.log(row, "rwo"); |
| | | if (row.preachformson) { |
| | | if (row.preachformson.includes("3")) { |
| | | type = 1; |
| | | console.log(type, "rwo"); |
| | | } |
| | | } |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { |
| | | taskid: row.taskid, |
| | | patid: row.patid, |
| | | id: row.id, |
| | | Voicetype: type, |
| | | }, |
| | | }); |
| | | }, |
| | | // ä¾¿æ·æé® |
| | | toleadExport(too) { |
| | | if (too == 1) { |
| | | this.topqueryParams.sendstate = 4; |
| | | this.topqueryParams.excep = null; |
| | | } else if (too == 2) { |
| | | this.topqueryParams.excep = 1; |
| | | } |
| | | this.handleQuery(); |
| | | }, |
| | | /** å¯¼åºæé®æä½ */ |
| | | handleExport() { |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | "smartor/serviceSubtask/export", |
| | | { |
| | | ...this.topqueryParams, |
| | | }, |
| | | `user_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | // å¼å¸¸å渲æ |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (row.excep == 1) { |
| | | return "warning-row"; |
| | | } |
| | | return ""; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-button--primary.is-plain { |
| | | color: #ffffff; |
| | | background: #409eff; |
| | | border-color: #4fabe9; |
| | | } |
| | | |
| | | .document { |
| | | // width: 100px; |
| | | height: 50px; |
| | | } |
| | | ::v-deep.el-table .warning-row { |
| | | background: #eec4c4; |
| | | } |
| | | |
| | | .documentf { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | .download { |
| | | text-align: center; |
| | | |
| | | .el-upload__tip { |
| | | font-size: 23px; |
| | | } |
| | | |
| | | .el-upload__text { |
| | | font-size: 23px; |
| | | } |
| | | } |
| | | |
| | | .uploading { |
| | | margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | background: #ffffff; |
| | | 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); |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | |
| | | .drexamine { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: 30px; |
| | | background: #daeaf5; |
| | | |
| | | img { |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | } |
| | | |
| | | .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); |
| | | |
| | | .topic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | ::v-deep.leftvlue .el-card__body { |
| | | background: #d0e9fd; |
| | | } |
| | | ::v-deep.leftvlue .el-card__body:hover { |
| | | background: #8dc8f8; |
| | | cursor: pointer; /* é¼ æ æ¬æµ®æ¶å为æå½¢ */ |
| | | } |
| | | ::v-deep.errleftvlue .el-card__body { |
| | | background: #fdd0d7; |
| | | } |
| | | ::v-deep.errleftvlue .el-card__body:hover { |
| | | background: #f88d96; |
| | | cursor: pointer; /* é¼ æ æ¬æµ®æ¶å为æå½¢ */ |
| | | } |
| | | |
| | | ::v-deep.ysfleftvlue .el-card__body { |
| | | background: #d0fdd8; |
| | | } |
| | | ::v-deep.ysfleftvlue .el-card__body:hover { |
| | | background: #8df8a4; |
| | | cursor: pointer; /* é¼ æ æ¬æµ®æ¶å为æå½¢ */ |
| | | } |
| | | .button-bb { |
| | | font-weight: 500; |
| | | background-color: #2ba05c; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | .button-xq { |
| | | font-weight: 500; |
| | | background-color: #409eff; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | .button-sc { |
| | | font-weight: 500; |
| | | background-color: #dd302a; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | .button-zx { |
| | | background: #4fabe9; |
| | | padding: 5px; |
| | | border-radius: 1px; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | ::v-deep.el-radio-group { |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | |
| | | // é项å使¾å¤§ |
| | | // ::v-deep.el-checkbox-group { |
| | | // span { |
| | | // font-size: 24px; |
| | | // } |
| | | // } |
| | | </style> |
| | |
| | | |
| | | handleQuery() { |
| | | if (!this.queryParams.dateRange) this.queryParams.dateRange = []; |
| | | if (!this.queryParams.dateRangecy) this.queryParams.dateRange = []; |
| | | if (!this.queryParams.dateRangecy) this.queryParams.dateRangecy = []; |
| | | |
| | | this.queryParams.startTime = this.parseTime( |
| | | this.queryParams.dateRange[0] |
| | | ); |