| | |
| | | // æ°å¢åæ°é
ç½® |
| | | export function addConfig(data) { |
| | | return request({ |
| | | url: '/system/config', |
| | | url: '/system/config/add', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | |
| | | import { |
| | | parseTime, |
| | | formatTime, |
| | | followupAuthority, |
| | | resetForm, |
| | | addDateRange, |
| | | selectDictLabel, |
| | |
| | | Vue.prototype.formatTime = formatTime; |
| | | Vue.prototype.daysBetween = daysBetween; |
| | | Vue.prototype.resetForm = resetForm; |
| | | Vue.prototype.followupAuthority = followupAuthority; |
| | | Vue.prototype.addDateRange = addDateRange; |
| | | Vue.prototype.selectDictLabel = selectDictLabel; |
| | | Vue.prototype.selectDictLabels = selectDictLabels; |
| | |
| | | permissions: (state) => state.user.permissions, |
| | | belongWards: (state) => state.user.belongWards, |
| | | belongDepts: (state) => state.user.belongDepts, |
| | | visitAgain: (state) => state.user.visitAgain, |
| | | satisfactionCategories: (state) => state.user.satisfactionCategories, |
| | | hisUserId: (state) => state.user.hisUserId, |
| | | permission_routes: (state) => state.permission.routes, |
| | |
| | | import { login, logout, getInfo } from "@/api/login"; |
| | | import { getConfig, getConfigKey, listConfig } from "@/api/system/config"; |
| | | import { getToken, setToken, removeToken } from "@/utils/auth"; |
| | | |
| | | const user = { |
| | |
| | | belongDepts: [], |
| | | roles: [], |
| | | permissions: [], |
| | | visitAgain: 1, //1å¼å¯2ä¸å¼å¯å次é访 |
| | | satisfactionCategories: {}, |
| | | // æå¡ç±»å |
| | | Serviceauthority: [ |
| | |
| | | }, |
| | | SET_nickNAME: (state, name) => { |
| | | state.nickName = name; |
| | | }, |
| | | SET_visitAgain: (state, visitAgain) => { |
| | | state.visitAgain = visitAgain; |
| | | }, |
| | | SET_Id: (state, Id) => { |
| | | state.Id = Id; |
| | |
| | | }, |
| | | |
| | | // è·åç¨æ·ä¿¡æ¯ |
| | | GetInfo({ commit, state }) { |
| | | GetInfo({ commit, state, dispatch }) { |
| | | return new Promise((resolve, reject) => { |
| | | getInfo() |
| | | .then((res) => { |
| | |
| | | commit("SET_Id", user.userId); |
| | | commit("SET_hisUserId", user.hisUserId); |
| | | commit("SET_satisfactionCategories", user.satisfactionCategories); |
| | | |
| | | // if (user.userName == "admin") { |
| | | // commit("SET_leaveldeptcodes", []); |
| | | // commit("SET_leavehospitaldistrictcodes", []); |
| | | // } else { |
| | | // commit("SET_leavehospitaldistrictcodes", user.belongWards); |
| | | // commit("SET_leaveldeptcodes", user.belongDepts); |
| | | // } |
| | | commit("SET_leavehospitaldistrictcodes", user.belongWards); |
| | | commit("SET_leaveldeptcodes", user.belongDepts); |
| | | commit("SET_AVATAR", avatar); |
| | | // æ£ç¡®è°ç¨æ¹å¼ï¼éè¿ dispatch |
| | | dispatch("GetConfig") |
| | | .then(() => { |
| | | resolve(res); |
| | | }) |
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }, |
| | | // è·ååæ°ä¿¡æ¯ |
| | | GetConfig({ commit, state }) { |
| | | return new Promise((resolve, reject) => { |
| | | listConfig({ configName: "忬¡é访" }) |
| | | .then((res) => { |
| | | if (res.rows && res.rows.length > 0) |
| | | commit("SET_visitAgain", res.rows[0].configValue); |
| | | resolve(res); |
| | | }) |
| | | .catch((error) => { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // éåºç³»ç» |
| | | LogOut({ commit, state }) { |
| | | return new Promise((resolve, reject) => { |
| | |
| | | import { parseTime } from './ruoyi' |
| | | import { parseTime } from "./ruoyi"; |
| | | import store from "@/store"; |
| | | |
| | | /** |
| | | * è¡¨æ ¼æ¶é´æ ¼å¼å |
| | | */ |
| | | export function formatDate(cellValue) { |
| | | if (cellValue == null || cellValue == "") return ""; |
| | | var date = new Date(cellValue) |
| | | var year = date.getFullYear() |
| | | var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 |
| | | var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() |
| | | var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() |
| | | var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() |
| | | var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() |
| | | return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds |
| | | var date = new Date(cellValue); |
| | | var year = date.getFullYear(); |
| | | var month = |
| | | date.getMonth() + 1 < 10 |
| | | ? "0" + (date.getMonth() + 1) |
| | | : date.getMonth() + 1; |
| | | var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); |
| | | var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); |
| | | var minutes = |
| | | date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(); |
| | | var seconds = |
| | | date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); |
| | | return ( |
| | | year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds |
| | | ); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {string} |
| | | */ |
| | | export function formatTime(time, option) { |
| | | if (('' + time).length === 10) { |
| | | time = parseInt(time) * 1000 |
| | | if (("" + time).length === 10) { |
| | | time = parseInt(time) * 1000; |
| | | } else { |
| | | time = +time |
| | | time = +time; |
| | | } |
| | | const d = new Date(time) |
| | | const now = Date.now() |
| | | const d = new Date(time); |
| | | const now = Date.now(); |
| | | |
| | | const diff = (now - d) / 1000 |
| | | const diff = (now - d) / 1000; |
| | | |
| | | if (diff < 30) { |
| | | return 'åå' |
| | | return "åå"; |
| | | } else if (diff < 3600) { |
| | | // less 1 hour |
| | | return Math.ceil(diff / 60) + 'åéå' |
| | | return Math.ceil(diff / 60) + "åéå"; |
| | | } else if (diff < 3600 * 24) { |
| | | return Math.ceil(diff / 3600) + 'å°æ¶å' |
| | | return Math.ceil(diff / 3600) + "å°æ¶å"; |
| | | } else if (diff < 3600 * 24 * 2) { |
| | | return '1天å' |
| | | return "1天å"; |
| | | } |
| | | if (option) { |
| | | return parseTime(time, option) |
| | | return parseTime(time, option); |
| | | } else { |
| | | return ( |
| | | d.getMonth() + |
| | | 1 + |
| | | 'æ' + |
| | | "æ" + |
| | | d.getDate() + |
| | | 'æ¥' + |
| | | "æ¥" + |
| | | d.getHours() + |
| | | 'æ¶' + |
| | | "æ¶" + |
| | | d.getMinutes() + |
| | | 'å' |
| | | ) |
| | | "å" |
| | | ); |
| | | } |
| | | } |
| | | |
| | |
| | | * @returns {Object} |
| | | */ |
| | | export function getQueryObject(url) { |
| | | url = url == null ? window.location.href : url |
| | | const search = url.substring(url.lastIndexOf('?') + 1) |
| | | const obj = {} |
| | | const reg = /([^?&=]+)=([^?&=]*)/g |
| | | url = url == null ? window.location.href : url; |
| | | const search = url.substring(url.lastIndexOf("?") + 1); |
| | | const obj = {}; |
| | | const reg = /([^?&=]+)=([^?&=]*)/g; |
| | | search.replace(reg, (rs, $1, $2) => { |
| | | const name = decodeURIComponent($1) |
| | | let val = decodeURIComponent($2) |
| | | val = String(val) |
| | | obj[name] = val |
| | | return rs |
| | | }) |
| | | return obj |
| | | const name = decodeURIComponent($1); |
| | | let val = decodeURIComponent($2); |
| | | val = String(val); |
| | | obj[name] = val; |
| | | return rs; |
| | | }); |
| | | return obj; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | export function byteLength(str) { |
| | | // returns the byte length of an utf8 string |
| | | let s = str.length |
| | | let s = str.length; |
| | | for (var i = str.length - 1; i >= 0; i--) { |
| | | const code = str.charCodeAt(i) |
| | | if (code > 0x7f && code <= 0x7ff) s++ |
| | | else if (code > 0x7ff && code <= 0xffff) s += 2 |
| | | if (code >= 0xDC00 && code <= 0xDFFF) i-- |
| | | const code = str.charCodeAt(i); |
| | | if (code > 0x7f && code <= 0x7ff) s++; |
| | | else if (code > 0x7ff && code <= 0xffff) s += 2; |
| | | if (code >= 0xdc00 && code <= 0xdfff) i--; |
| | | } |
| | | return s |
| | | return s; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Array} |
| | | */ |
| | | export function cleanArray(actual) { |
| | | const newArray = [] |
| | | const newArray = []; |
| | | for (let i = 0; i < actual.length; i++) { |
| | | if (actual[i]) { |
| | | newArray.push(actual[i]) |
| | | newArray.push(actual[i]); |
| | | } |
| | | } |
| | | return newArray |
| | | return newArray; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Array} |
| | | */ |
| | | export function param(json) { |
| | | if (!json) return '' |
| | | if (!json) return ""; |
| | | return cleanArray( |
| | | Object.keys(json).map(key => { |
| | | if (json[key] === undefined) return '' |
| | | return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) |
| | | Object.keys(json).map((key) => { |
| | | if (json[key] === undefined) return ""; |
| | | return encodeURIComponent(key) + "=" + encodeURIComponent(json[key]); |
| | | }) |
| | | ).join('&') |
| | | ).join("&"); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Object} |
| | | */ |
| | | export function param2Obj(url) { |
| | | const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') |
| | | const search = decodeURIComponent(url.split("?")[1]).replace(/\+/g, " "); |
| | | if (!search) { |
| | | return {} |
| | | return {}; |
| | | } |
| | | const obj = {} |
| | | const searchArr = search.split('&') |
| | | searchArr.forEach(v => { |
| | | const index = v.indexOf('=') |
| | | const obj = {}; |
| | | const searchArr = search.split("&"); |
| | | searchArr.forEach((v) => { |
| | | const index = v.indexOf("="); |
| | | if (index !== -1) { |
| | | const name = v.substring(0, index) |
| | | const val = v.substring(index + 1, v.length) |
| | | obj[name] = val |
| | | const name = v.substring(0, index); |
| | | const val = v.substring(index + 1, v.length); |
| | | obj[name] = val; |
| | | } |
| | | }) |
| | | return obj |
| | | }); |
| | | return obj; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {string} |
| | | */ |
| | | export function html2Text(val) { |
| | | const div = document.createElement('div') |
| | | div.innerHTML = val |
| | | return div.textContent || div.innerText |
| | | const div = document.createElement("div"); |
| | | div.innerHTML = val; |
| | | return div.textContent || div.innerText; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Object} |
| | | */ |
| | | export function objectMerge(target, source) { |
| | | if (typeof target !== 'object') { |
| | | target = {} |
| | | if (typeof target !== "object") { |
| | | target = {}; |
| | | } |
| | | if (Array.isArray(source)) { |
| | | return source.slice() |
| | | return source.slice(); |
| | | } |
| | | Object.keys(source).forEach(property => { |
| | | const sourceProperty = source[property] |
| | | if (typeof sourceProperty === 'object') { |
| | | target[property] = objectMerge(target[property], sourceProperty) |
| | | Object.keys(source).forEach((property) => { |
| | | const sourceProperty = source[property]; |
| | | if (typeof sourceProperty === "object") { |
| | | target[property] = objectMerge(target[property], sourceProperty); |
| | | } else { |
| | | target[property] = sourceProperty |
| | | target[property] = sourceProperty; |
| | | } |
| | | }) |
| | | return target |
| | | }); |
| | | return target; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | export function toggleClass(element, className) { |
| | | if (!element || !className) { |
| | | return |
| | | return; |
| | | } |
| | | let classString = element.className |
| | | const nameIndex = classString.indexOf(className) |
| | | let classString = element.className; |
| | | const nameIndex = classString.indexOf(className); |
| | | if (nameIndex === -1) { |
| | | classString += '' + className |
| | | classString += "" + className; |
| | | } else { |
| | | classString = |
| | | classString.substr(0, nameIndex) + |
| | | classString.substr(nameIndex + className.length) |
| | | classString.substr(nameIndex + className.length); |
| | | } |
| | | element.className = classString |
| | | element.className = classString; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Date} |
| | | */ |
| | | export function getTime(type) { |
| | | if (type === 'start') { |
| | | return new Date().getTime() - 3600 * 1000 * 24 * 90 |
| | | if (type === "start") { |
| | | return new Date().getTime() - 3600 * 1000 * 24 * 90; |
| | | } else { |
| | | return new Date(new Date().toDateString()) |
| | | return new Date(new Date().toDateString()); |
| | | } |
| | | } |
| | | |
| | |
| | | * @return {*} |
| | | */ |
| | | export function debounce(func, wait, immediate) { |
| | | let timeout, args, context, timestamp, result |
| | | let timeout, args, context, timestamp, result; |
| | | |
| | | const later = function() { |
| | | const later = function () { |
| | | // æ®ä¸ä¸æ¬¡è§¦åæ¶é´é´é |
| | | const last = +new Date() - timestamp |
| | | const last = +new Date() - timestamp; |
| | | |
| | | // 䏿¬¡è¢«å
è£
彿°è¢«è°ç¨æ¶é´é´é last å°äºè®¾å®æ¶é´é´é wait |
| | | if (last < wait && last > 0) { |
| | | timeout = setTimeout(later, wait - last) |
| | | timeout = setTimeout(later, wait - last); |
| | | } else { |
| | | timeout = null |
| | | timeout = null; |
| | | // å¦æè®¾å®ä¸ºimmediate===trueï¼å 为å¼å§è¾¹çå·²ç»è°ç¨è¿äºæ¤å¤æ éè°ç¨ |
| | | if (!immediate) { |
| | | result = func.apply(context, args) |
| | | if (!timeout) context = args = null |
| | | result = func.apply(context, args); |
| | | if (!timeout) context = args = null; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | return function(...args) { |
| | | context = this |
| | | timestamp = +new Date() |
| | | const callNow = immediate && !timeout |
| | | return function (...args) { |
| | | context = this; |
| | | timestamp = +new Date(); |
| | | const callNow = immediate && !timeout; |
| | | // 妿延æ¶ä¸åå¨ï¼éæ°è®¾å®å»¶æ¶ |
| | | if (!timeout) timeout = setTimeout(later, wait) |
| | | if (!timeout) timeout = setTimeout(later, wait); |
| | | if (callNow) { |
| | | result = func.apply(context, args) |
| | | context = args = null |
| | | result = func.apply(context, args); |
| | | context = args = null; |
| | | } |
| | | |
| | | return result |
| | | } |
| | | return result; |
| | | }; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Object} |
| | | */ |
| | | export function deepClone(source) { |
| | | if (!source && typeof source !== 'object') { |
| | | throw new Error('error arguments', 'deepClone') |
| | | if (!source && typeof source !== "object") { |
| | | throw new Error("error arguments", "deepClone"); |
| | | } |
| | | const targetObj = source.constructor === Array ? [] : {} |
| | | Object.keys(source).forEach(keys => { |
| | | if (source[keys] && typeof source[keys] === 'object') { |
| | | targetObj[keys] = deepClone(source[keys]) |
| | | const targetObj = source.constructor === Array ? [] : {}; |
| | | Object.keys(source).forEach((keys) => { |
| | | if (source[keys] && typeof source[keys] === "object") { |
| | | targetObj[keys] = deepClone(source[keys]); |
| | | } else { |
| | | targetObj[keys] = source[keys] |
| | | targetObj[keys] = source[keys]; |
| | | } |
| | | }) |
| | | return targetObj |
| | | }); |
| | | return targetObj; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {Array} |
| | | */ |
| | | export function uniqueArr(arr) { |
| | | return Array.from(new Set(arr)) |
| | | return Array.from(new Set(arr)); |
| | | } |
| | | |
| | | /** |
| | | * @returns {string} |
| | | */ |
| | | export function createUniqueString() { |
| | | const timestamp = +new Date() + '' |
| | | const randomNum = parseInt((1 + Math.random()) * 65536) + '' |
| | | return (+(randomNum + timestamp)).toString(32) |
| | | const timestamp = +new Date() + ""; |
| | | const randomNum = parseInt((1 + Math.random()) * 65536) + ""; |
| | | return (+(randomNum + timestamp)).toString(32); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {boolean} |
| | | */ |
| | | export function hasClass(ele, cls) { |
| | | return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) |
| | | return !!ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {string} cls |
| | | */ |
| | | export function addClass(ele, cls) { |
| | | if (!hasClass(ele, cls)) ele.className += ' ' + cls |
| | | if (!hasClass(ele, cls)) ele.className += " " + cls; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | export function removeClass(ele, cls) { |
| | | if (hasClass(ele, cls)) { |
| | | const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') |
| | | ele.className = ele.className.replace(reg, ' ') |
| | | const reg = new RegExp("(\\s|^)" + cls + "(\\s|$)"); |
| | | ele.className = ele.className.replace(reg, " "); |
| | | } |
| | | } |
| | | |
| | | export function makeMap(str, expectsLowerCase) { |
| | | const map = Object.create(null) |
| | | const list = str.split(',') |
| | | const map = Object.create(null); |
| | | const list = str.split(","); |
| | | for (let i = 0; i < list.length; i++) { |
| | | map[list[i]] = true |
| | | map[list[i]] = true; |
| | | } |
| | | return expectsLowerCase |
| | | ? val => map[val.toLowerCase()] |
| | | : val => map[val] |
| | | return expectsLowerCase ? (val) => map[val.toLowerCase()] : (val) => map[val]; |
| | | } |
| | | |
| | | export const exportDefault = 'export default ' |
| | | |
| | | export const exportDefault = "export default "; |
| | | |
| | | export const beautifierConf = { |
| | | html: { |
| | | indent_size: '2', |
| | | indent_char: ' ', |
| | | max_preserve_newlines: '-1', |
| | | indent_size: "2", |
| | | indent_char: " ", |
| | | max_preserve_newlines: "-1", |
| | | preserve_newlines: false, |
| | | keep_array_indentation: false, |
| | | break_chained_methods: false, |
| | | indent_scripts: 'separate', |
| | | brace_style: 'end-expand', |
| | | indent_scripts: "separate", |
| | | brace_style: "end-expand", |
| | | space_before_conditional: true, |
| | | unescape_strings: false, |
| | | jslint_happy: false, |
| | | end_with_newline: true, |
| | | wrap_line_length: '110', |
| | | wrap_line_length: "110", |
| | | indent_inner_html: true, |
| | | comma_first: false, |
| | | e4x: true, |
| | | indent_empty_lines: true |
| | | indent_empty_lines: true, |
| | | }, |
| | | js: { |
| | | indent_size: '2', |
| | | indent_char: ' ', |
| | | max_preserve_newlines: '-1', |
| | | indent_size: "2", |
| | | indent_char: " ", |
| | | max_preserve_newlines: "-1", |
| | | preserve_newlines: false, |
| | | keep_array_indentation: false, |
| | | break_chained_methods: false, |
| | | indent_scripts: 'normal', |
| | | brace_style: 'end-expand', |
| | | indent_scripts: "normal", |
| | | brace_style: "end-expand", |
| | | space_before_conditional: true, |
| | | unescape_strings: false, |
| | | jslint_happy: true, |
| | | end_with_newline: true, |
| | | wrap_line_length: '110', |
| | | wrap_line_length: "110", |
| | | indent_inner_html: true, |
| | | comma_first: false, |
| | | e4x: true, |
| | | indent_empty_lines: true |
| | | } |
| | | } |
| | | indent_empty_lines: true, |
| | | }, |
| | | }; |
| | | |
| | | // é¦åæ¯å¤§å° |
| | | export function titleCase(str) { |
| | | return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) |
| | | return str.replace(/( |^)[a-z]/g, (L) => L.toUpperCase()); |
| | | } |
| | | |
| | | // ä¸å转驼峰 |
| | | export function camelCase(str) { |
| | | return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase()) |
| | | return str.replace(/_[a-z]/g, (str1) => str1.substr(-1).toUpperCase()); |
| | | } |
| | | |
| | | export function isNumberStr(str) { |
| | | return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) |
| | | return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str); |
| | | } |
| | | |
| | |
| | | * Copyright (c) 2019 ruoyi |
| | | */ |
| | | import dayjs from "dayjs"; |
| | | import store from "@/store"; |
| | | |
| | | // æ¥ææ ¼å¼å |
| | | export function parseTime(time, pattern) { |
| | |
| | | // è¿å天æ°ï¼åèäºå
¥å°ææ¥è¿çæ´æ° |
| | | return Math.round(differenceInDays); |
| | | } |
| | | export function followupAuthority() { |
| | | const depts = store.getters.belongDepts; |
| | | const wards = store.getters.belongWards; |
| | | console.log(1); |
| | | |
| | | return ( |
| | | (Array.isArray(depts) && depts.length > 0) || |
| | | (Array.isArray(wards) && wards.length > 0) |
| | | ); |
| | | } |
| | | // è¿æ»¤å¨ |
| | | export function formatTime(val) { |
| | | if (val) { |
| | |
| | | let search = params; |
| | | search.params = |
| | | typeof search.params === "object" && |
| | | search.params !== null && |
| | | !Array.isArray(search.params) |
| | | search.params !== null && |
| | | !Array.isArray(search.params) |
| | | ? search.params |
| | | : {}; |
| | | dateRange = Array.isArray(dateRange) ? dateRange : []; |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | type="text" |
| | | @click=" |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >è¶
æ¶</el-tag |
| | | > |
| | | <el-tag type="danger" :disable-transitions="false">è¶
æ¶</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | |
| | | addserviceSubtask, |
| | | query360PatInfo, |
| | | addsatisfaction, |
| | | query360PatInfonh |
| | | query360PatInfonh, |
| | | } from "@/api/AiCentre/index"; |
| | | import { alterpatient, particularpatient } from "@/api/patient/homepage"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | |
| | | value: 8, |
| | | label: "åºéè®¿æ¥æ(ååº)", |
| | | }, |
| | | { |
| | | { |
| | | value: 9, |
| | | label: "æç
§æ£è
æåº", |
| | | }, |
| | |
| | | value: 6, |
| | | label: "已宿", |
| | | }, |
| | | { |
| | | { |
| | | value: 7, |
| | | label: "è¶
æ¶", |
| | | }, |
| | |
| | | this.topqueryParams.deptOrDistrict = 2; |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | { |
| | | ...this.topqueryParams, |
| | | }, |
| | | `user_${new Date().getTime()}.xlsx`, |
| | | `user_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | // å¼å¸¸å渲æ |
| | |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | console.log(55); |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.userList.forEach((item) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click=" |
| | | gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname,scope.row.patid) |
| | | gettoken360( |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | | scope.row.sendname |
| | |
| | | > |
| | | </div> |
| | | <div v-if="scope.row.sendstate == 7"> |
| | | <el-tag type="danger" :disable-transitions="false" |
| | | >è¶
æ¶</el-tag |
| | | > |
| | | <el-tag type="danger" :disable-transitions="false">è¶
æ¶</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | </template> |
| | |
| | | addserviceSubtask, |
| | | query360PatInfo, |
| | | addsatisfaction, |
| | | query360PatInfonh |
| | | query360PatInfonh, |
| | | } from "@/api/AiCentre/index"; |
| | | import { alterpatient, particularpatient } from "@/api/patient/homepage"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | |
| | | value: 8, |
| | | label: "åºéè®¿æ¥æ(ååº)", |
| | | }, |
| | | { |
| | | { |
| | | value: 9, |
| | | label: "æç
§æ£è
æåº", |
| | | }, |
| | |
| | | value: 6, |
| | | label: "已宿", |
| | | }, |
| | | { |
| | | { |
| | | value: 7, |
| | | label: "è¶
æ¶", |
| | | }, |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | }, |
| | | //æ£è
360跳转 |
| | | gettoken360(sfzh, drcode, drname, id) { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "åå大å¦éå±ç¬¬ä¸å»é¢") { |
| | | const orgname = localStorage.getItem("orgname"); |
| | | if (orgname == "åå大å¦éå±ç¬¬ä¸å»é¢") { |
| | | query360PatInfonh(id).then((res) => { |
| | | if (res.url) { |
| | | window.open(res.url, "_blank"); |
| | |
| | | handleExport() { |
| | | const originalPageNum = this.topqueryParams.pageNum; |
| | | const originalPageSize = this.topqueryParams.pageSize; |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | "smartor/serviceSubtask/patItemExport", |
| | |
| | | // 导åºåæ¢å¤å页忰 |
| | | this.topqueryParams.pageNum = originalPageNum; |
| | | this.topqueryParams.pageSize = originalPageSize; |
| | | this.getList() |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | // å¼å¸¸å渲æ |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | this.loading = true; |
| | | |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | scope.row.sfzh, |
| | | scope.row.drcode, |
| | | scope.row.drname, |
| | | scope.row.patid, |
| | | scope.row.patid |
| | | ) |
| | | " |
| | | ><span class="button-textsc">{{ |
| | |
| | | type="primary" |
| | | round |
| | | @click="sendAgain" |
| | | v-if="form.isVisitAgain != 2" |
| | | v-if="(form.isVisitAgain != 2) & (visitAgain == 2)" |
| | | > |
| | | 忬¡é访 |
| | | </el-button> |
| | |
| | | import CallButton from "@/components/CallButton"; |
| | | import MergeAndModify from "./MergeAndModify.vue"; |
| | | import CallCenterLs from "@/components/CallCenterLs"; |
| | | import store from "@/store"; |
| | | export default { |
| | | components: { |
| | | CallButton, |
| | |
| | | }, 300); |
| | | }; |
| | | return { |
| | | visitAgain: 1, |
| | | userid: "", |
| | | currentPhoneNumber: "", |
| | | callType: "", // ç¨äºåºåæ¯åªä¸ªçµè¯ |
| | |
| | | this.Voicetype = this.$route.query.Voicetype; |
| | | this.visitCount = this.$route.query.visitCount; |
| | | this.serviceType = this.$route.query.serviceType; |
| | | this.visitAgain = store.getters.visitAgain; |
| | | console.log(store.getters.visitAgain); |
| | | |
| | | |
| | | this.orgname = localStorage.getItem("orgname"); |
| | | if (this.orgname == "çç«åå¾·ç¿ èé¢åº") { |
| | |
| | | this.Editsingletasksonyic(this.serviceStates); |
| | | const orgName = localStorage.getItem("orgname"); |
| | | |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水å¸ä¸å»é¢") { |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水å¸ä¸å»é¢"||this.visitAgain==1) { |
| | | this.Torouter(); |
| | | return; |
| | | } |
| | |
| | | const orgName = localStorage.getItem("orgname"); |
| | | console.log(orgName, "orgName"); |
| | | |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水å¸ä¸å»é¢") { |
| | | if (this.form.isVisitAgain != 1 || orgName == "丽水å¸ä¸å»é¢"||this.visitAgain==1) { |
| | | this.Torouter(); |
| | | return; |
| | | } |
| | |
| | | this.selectedTag = this.form.excep; |
| | | const targetDate = new Date(this.form.visitTime); // ç®æ æ¥æ |
| | | const now = new Date(); // å½åæ¶é´ |
| | | console.log(now,'å½åæ¶é´'); |
| | | console.log(targetDate,'ç®æ æ¥æ'); |
| | | |
| | | if (now < targetDate && this.form.sendstate == 2) { |
| | | this.$confirm("å½åæå¡æªå°åéæ¶é´è¯·è°¨æ
ä¿®æ¹", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | this.$modal.msgWarning("360æ¥è¯¢æ ç»æ"); |
| | | } |
| | | }); |
| | | return; |
| | | } else if ( |
| | | orgname == "第ä¸äººæ°å»é¢æ¹æ»¨é¢åº" || |
| | | orgname == "第ä¸äººæ°å»é¢å´å±±é¢åº" |
| | | ) { |
| | | let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`; |
| | | window.open(url, "_blank"); |
| | | return; |
| | | return |
| | | } |
| | | |
| | | this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; |
| | |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | } else { |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | '"çæ°æ®é¡¹ï¼' |
| | | ) |
| | | .then(() => { |
| | | getTaskservelist({ |
| | | |
| | | getTaskservelist({ |
| | | patid: row.patid, |
| | | taskid: row.taskid, |
| | | }).then((res) => { |
| | |
| | | <template> |
| | | <div class="questionnaire-optimized"> |
| | | <div class="content-wrapper" v-if="!accomplish"> |
| | | <div class="questionnaire-container"> |
| | | <!-- é®å·æ é¢åºå --> |
| | | <div class="questionnaire-header"> |
| | | <h1 class="questionnaire-title"> |
| | | {{ taskname ? taskname : "é®å·" }} |
| | | </h1> |
| | | <div class="questionnaire-description"> |
| | | {{ |
| | | kcb |
| | | ? kcb |
| | | : "亲ç±çæ£è
-å®¶å±ï¼æä»¬æ¯å»é¢ç廿¤äººåï¼ä¸ºäºæ´å¥½å°äºè§£æ¨çåº·å¤æ
åµï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼å®æè¿ä»½é访é®å·ã" |
| | | }} |
| | | </div> |
| | | </div> |
| | | |
| | | <el-divider class="custom-divider"></el-divider> |
| | | |
| | | <!-- é®å·é¢ç®åºå --> |
| | | <div class="questions-section"> |
| | | <div |
| | | class="question-item" |
| | | v-for="(item, index) in visibleQuestions" |
| | | :key="item.id" |
| | | :class="{ |
| | | 'has-warning': |
| | | item.prompt && |
| | | item.scriptResult && |
| | | (item.scriptType !== 2 || item.scriptResult.length > 0), |
| | | }" |
| | | > |
| | | <!-- é¢ç®é¢å¹² --> |
| | | <div class="question-stem"> |
| | | <span class="question-number" |
| | | >{{ getVisibleQuestionIndex(index) }}.</span |
| | | > |
| | | <span class="question-text">{{ item.scriptContent }}</span> |
| | | <span class="question-type-tag"> |
| | | {{ |
| | | item.scriptType === 1 |
| | | ? "[åé]" |
| | | : item.scriptType === 2 |
| | | ? "[å¤é]" |
| | | : "[é®ç]" |
| | | }} |
| | | </span> |
| | | </div> |
| | | |
| | | <!-- åéé¢ç® --> |
| | | <div |
| | | class="question-options" |
| | | v-if="item.scriptType == 1 && !item.ishide" |
| | | > |
| | | <el-radio-group class="options-group" v-model="item.scriptResult"> |
| | | <el-radio |
| | | v-for="( |
| | | option, optionIndex |
| | | ) in item.svyTaskTemplateTargetoptions" |
| | | :key="optionIndex" |
| | | :label="option.optioncontent" |
| | | :class="{ |
| | | 'abnormal-option': |
| | | option.isabnormal && |
| | | item.scriptResult == option.optioncontent, |
| | | }" |
| | | @click.native.prevent=" |
| | | handleRadioToggle( |
| | | item, |
| | | index, |
| | | item.svyTaskTemplateTargetoptions, |
| | | option.optioncontent |
| | | ) |
| | | " |
| | | class="option-radio" |
| | | > |
| | | <span class="option-text">{{ option.optioncontent }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | |
| | | <!-- å¤éé¢ç® --> |
| | | <div class="question-options" v-if="item.scriptType == 2"> |
| | | <el-checkbox-group |
| | | class="options-group" |
| | | v-model="item.scriptResult" |
| | | > |
| | | <el-checkbox |
| | | v-for="( |
| | | option, optionIndex |
| | | ) in item.svyTaskTemplateTargetoptions" |
| | | :key="optionIndex" |
| | | :label="option.optioncontent" |
| | | :class="{ |
| | | 'abnormal-option': option.isabnormal, |
| | | }" |
| | | @change="$forceUpdate()" |
| | | class="option-checkbox" |
| | | > |
| | | <span class="option-text">{{ option.optioncontent }}</span> |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | |
| | | <!-- 填空é¢ç® --> |
| | | <div class="question-input" v-if="item.scriptType == 4"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请è¾å
¥æ¨çåç" |
| | | v-model="item.scriptResult" |
| | | clearable |
| | | class="answer-textarea" |
| | | ></el-input> |
| | | </div> |
| | | |
| | | <!-- æç¤ºä¿¡æ¯ --> |
| | | <div |
| | | class="question-warning" |
| | | v-show=" |
| | | item.prompt && |
| | | item.scriptResult && |
| | | (item.scriptType !== 2 || item.scriptResult.length > 0) |
| | | " |
| | | > |
| | | <el-alert |
| | | :title="item.prompt" |
| | | type="warning" |
| | | :closable="false" |
| | | class="warning-alert" |
| | | ></el-alert> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- æäº¤æé® --> |
| | | <div class="submit-section"> |
| | | <el-button type="primary" @click="cache(true)" class="submit-button"> |
| | | æäº¤é®å· |
| | | </el-button> |
| | | </div> |
| | | <div v-if="loading" class="loading-container"> |
| | | <div class="loading-content"> |
| | | <i class="el-icon-loading loading-icon"></i> |
| | | <div class="loading-text">é®å·å è½½ä¸ï¼è¯·ç¨å...</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- å®æé¡µé¢ --> |
| | | <div class="completion-page" v-else> |
| | | <div class="completion-content"> |
| | | <div class="completion-icon">â</div> |
| | | <h2 class="completion-title">æè°¢æ¨çé
å!</h2> |
| | | <p class="completion-message"> |
| | | {{ |
| | | jsy |
| | | ? jsy |
| | | : "çæ´»ä¸è¦å³é¸ç»åï¼æ³¨æä¼æ¯åè¥å
»ï¼éå½é»ç¼ï¼æçéé
ï¼ä¿æå¿æ
èç
ï¼å®æå¤è¯ã飿¬æ¬¡å访就å°è¿éï¼ç¥æ¨èº«ä½å¥åº·ï¼" |
| | | }} |
| | | </p> |
| | | <!-- æ£å¸¸å
容 --> |
| | | <div v-else> |
| | | <div class="content-wrapper" v-if="!accomplish"> |
| | | <div class="questionnaire-container"> |
| | | <!-- é®å·æ é¢åºå --> |
| | | <div class="questionnaire-header"> |
| | | <h1 class="questionnaire-title"> |
| | | {{ taskname ? taskname : "é®å·" }} |
| | | </h1> |
| | | <div class="questionnaire-description"> |
| | | {{ |
| | | kcb |
| | | ? kcb |
| | | : "亲ç±çæ£è
-å®¶å±ï¼æä»¬æ¯å»é¢ç廿¤äººåï¼ä¸ºäºæ´å¥½å°äºè§£æ¨çåº·å¤æ
åµï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼å®æè¿ä»½é访é®å·ã" |
| | | }} |
| | | </div> |
| | | </div> |
| | | |
| | | <el-divider class="custom-divider"></el-divider> |
| | | |
| | | <!-- é®å·é¢ç®åºå --> |
| | | <div class="questions-section"> |
| | | <div |
| | | class="question-item" |
| | | v-for="(item, index) in visibleQuestions" |
| | | :key="item.id" |
| | | :class="{ |
| | | 'has-warning': |
| | | item.prompt && |
| | | item.scriptResult && |
| | | (item.scriptType !== 2 || item.scriptResult.length > 0), |
| | | }" |
| | | > |
| | | <!-- é¢ç®é¢å¹² --> |
| | | <div class="question-stem"> |
| | | <span class="question-number" |
| | | >{{ getVisibleQuestionIndex(index) }}.</span |
| | | > |
| | | <span class="question-text">{{ item.scriptContent }}</span> |
| | | <span class="question-type-tag"> |
| | | {{ |
| | | item.scriptType === 1 |
| | | ? "[åé]" |
| | | : item.scriptType === 2 |
| | | ? "[å¤é]" |
| | | : "[é®ç]" |
| | | }} |
| | | </span> |
| | | </div> |
| | | |
| | | <!-- åéé¢ç® --> |
| | | <div |
| | | class="question-options" |
| | | v-if="item.scriptType == 1 && !item.ishide" |
| | | > |
| | | <el-radio-group |
| | | class="options-group" |
| | | v-model="item.scriptResult" |
| | | > |
| | | <el-radio |
| | | v-for="( |
| | | option, optionIndex |
| | | ) in item.svyTaskTemplateTargetoptions" |
| | | :key="optionIndex" |
| | | :label="option.optioncontent" |
| | | :class="{ |
| | | 'abnormal-option': |
| | | option.isabnormal && |
| | | item.scriptResult == option.optioncontent, |
| | | }" |
| | | @click.native.prevent=" |
| | | handleRadioToggle( |
| | | item, |
| | | index, |
| | | item.svyTaskTemplateTargetoptions, |
| | | option.optioncontent |
| | | ) |
| | | " |
| | | class="option-radio" |
| | | > |
| | | <span class="option-text">{{ option.optioncontent }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | |
| | | <!-- å¤éé¢ç® --> |
| | | <div class="question-options" v-if="item.scriptType == 2"> |
| | | <el-checkbox-group |
| | | class="options-group" |
| | | v-model="item.scriptResult" |
| | | > |
| | | <el-checkbox |
| | | v-for="( |
| | | option, optionIndex |
| | | ) in item.svyTaskTemplateTargetoptions" |
| | | :key="optionIndex" |
| | | :label="option.optioncontent" |
| | | :class="{ |
| | | 'abnormal-option': option.isabnormal, |
| | | }" |
| | | @change="$forceUpdate()" |
| | | class="option-checkbox" |
| | | > |
| | | <span class="option-text">{{ option.optioncontent }}</span> |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | |
| | | <!-- 填空é¢ç® --> |
| | | <div class="question-input" v-if="item.scriptType == 4"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请è¾å
¥æ¨çåç" |
| | | v-model="item.scriptResult" |
| | | clearable |
| | | class="answer-textarea" |
| | | ></el-input> |
| | | </div> |
| | | |
| | | <!-- æç¤ºä¿¡æ¯ --> |
| | | <div |
| | | class="question-warning" |
| | | v-show=" |
| | | item.prompt && |
| | | item.scriptResult && |
| | | (item.scriptType !== 2 || item.scriptResult.length > 0) |
| | | " |
| | | > |
| | | <el-alert |
| | | :title="item.prompt" |
| | | type="warning" |
| | | :closable="false" |
| | | class="warning-alert" |
| | | ></el-alert> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- æäº¤æé® --> |
| | | <div class="submit-section"> |
| | | <el-button |
| | | type="primary" |
| | | @click="cache(true)" |
| | | class="submit-button" |
| | | > |
| | | æäº¤é®å· |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- å®æé¡µé¢ --> |
| | | <div class="completion-page" v-else> |
| | | <div class="completion-content"> |
| | | <div class="completion-icon">â</div> |
| | | <h2 class="completion-title">æè°¢æ¨çé
å!</h2> |
| | | <p class="completion-message"> |
| | | {{ |
| | | jsy |
| | | ? jsy |
| | | : "çæ´»ä¸è¦å³é¸ç»åï¼æ³¨æä¼æ¯åè¥å
»ï¼éå½é»ç¼ï¼æçéé
ï¼ä¿æå¿æ
èç
ï¼å®æå¤è¯ã飿¬æ¬¡å访就å°è¿éï¼ç¥æ¨èº«ä½å¥åº·ï¼" |
| | | }} |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | taskid: 355, |
| | | patid: 265823, |
| | | kcb: "", |
| | |
| | | isabnormal: 0, |
| | | taskname: "", |
| | | questionList: [], |
| | | param6:null, |
| | | param6: null, |
| | | jsy: null, |
| | | dialogVisible: false, |
| | | Endornot: true, |
| | |
| | | res.data.param5 |
| | | ); |
| | | this.param6 = res.data.param6; |
| | | |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.taskid = decodeURIComponent(param1); |
| | | this.patid = decodeURIComponent(param2); |
| | | this.taskname = decodeURIComponent(param3); |
| | | this.loading = true; |
| | | |
| | | // let taskid = |
| | | // "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw=="; |
| | | // let patid = |
| | |
| | | // let taskids = this.encrypt(this.taskid); |
| | | // let patids = this.encrypt(this.patid); |
| | | // å
åç¼å |
| | | getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then( |
| | | (res) => { |
| | | getCachequestionnaire({ param1: this.taskid, param2: this.patid }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.questionList = res.data.result; |
| | | this.accomplish = res.data.submit; |
| | |
| | | item.scriptResult = item.scriptResult.split("&"); |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | |
| | | return; |
| | | } else { |
| | | this.getExternalfollowup(); |
| | |
| | | } else { |
| | | this.getExternalfollowup(); |
| | | } |
| | | } |
| | | ); |
| | | }) |
| | | .finally(() => {}); |
| | | }, |
| | | // è·åæ°æ® |
| | | getExternalfollowup() { |
| | | getExternalfollowup({ param1: this.taskid, param2: this.patid }).then( |
| | | (res) => { |
| | | getExternalfollowup({ param1: this.taskid, param2: this.patid }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.questionList = res.data.script; |
| | | this.jsy = res.data.jsy; |
| | |
| | | item.scriptResult = []; |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | } |
| | | } |
| | | ); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // å å¯å½æ° |
| | | encrypt(txt) { |
| | |
| | | font-size: 60px; |
| | | } |
| | | } |
| | | .loading-container { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | min-height: 70vh; |
| | | } |
| | | |
| | | .loading-content { |
| | | text-align: center; |
| | | padding: 40px; |
| | | background: #fff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .loading-icon { |
| | | font-size: 40px; |
| | | color: #409eff; |
| | | margin-bottom: 15px; |
| | | animation: rotating 2s linear infinite; |
| | | } |
| | | |
| | | .loading-text { |
| | | font-size: 16px; |
| | | color: #606266; |
| | | } |
| | | |
| | | @keyframes rotating { |
| | | from { |
| | | transform: rotate(0deg); |
| | | } |
| | | to { |
| | | transform: rotate(360deg); |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="questionnaire"> |
| | | <!-- <div class="CONTENT"> |
| | | <div class="title">æ¯å®äººæ°å»é¢å»æ¤ç¥è¯å®£æ</div> |
| | | <div class="preview-left"> |
| | | <div v-html="richText"></div> |
| | | <!-- å è½½ç¶æ --> |
| | | <div v-if="loading" class="loading-container"> |
| | | <div class="loading-content"> |
| | | <i class="el-icon-loading loading-icon"></i> |
| | | <div class="loading-text">宣æå
容å è½½ä¸ï¼è¯·ç¨å...</div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> --> |
| | | <div class="CONTENT"> |
| | | <div class="preview-left"> |
| | | <div class="toptitle"> |
| | | <div class="title"> |
| | | {{ taskname ? taskname : "廿¤ç¥è¯å®£æ" }} |
| | | <!-- æ£å¸¸å
容 --> |
| | | <div v-else> |
| | | <div class="CONTENT"> |
| | | <div class="preview-left"> |
| | | <div class="toptitle"> |
| | | <div class="title"> |
| | | {{ taskname ? taskname : "廿¤ç¥è¯å®£æ" }} |
| | | </div> |
| | | <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5"> |
| | | {{ |
| | | kcb |
| | | ? kcb |
| | | : "亲ç±çæ£è
-å®¶å±ï¼æä»¬æ¯å»æ¤äººåï¼ä¸ºäºæ´å¥½å°äºè§£æ¨çåº·å¤æ
åµï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼è§çè¿ä»½å®£æèµè®¯ã" |
| | | }} |
| | | <!-- 亲ç±çæ£è
/家屿¨å¥½ï¼ä¸ºäºæ´å¥½çäºè§£æ¨åºé¢åçåº·å¤æ
åµï¼ç»æ¨éå½åæ¶çå¥åº·æå¯¼ï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼å®æè¿ä»½åºé¢é访é®å·è°æ¥ã --> |
| | | </div> |
| | | </div> |
| | | <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5"> |
| | | <el-divider></el-divider> |
| | | <div v-html="richText"></div> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | padding-top: 50px; |
| | | font-size: 24px; |
| | | color: #175997; |
| | | font-weight: 600; |
| | | margin-bottom: 10px; |
| | | " |
| | | > |
| | | {{ |
| | | kcb |
| | | ? kcb |
| | | : "亲ç±çæ£è
-å®¶å±ï¼æä»¬æ¯å»æ¤äººåï¼ä¸ºäºæ´å¥½å°äºè§£æ¨çåº·å¤æ
åµï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼è§çè¿ä»½å®£æèµè®¯ã" |
| | | jsy |
| | | ? jsy |
| | | : "çæ´»ä¸è¦å³é¸ç»åï¼æ³¨æä¼æ¯åè¥å
»ï¼éå½é»ç¼ï¼æçéé
ï¼ä¿æå¿æ
èç
ï¼å®æå¤è¯ã飿¬æ¬¡å®£æå
容就å°è¿éï¼ç¥æ¨èº«ä½å¥åº·ï¼" |
| | | }} |
| | | <!-- 亲ç±çæ£è
/家屿¨å¥½ï¼ä¸ºäºæ´å¥½çäºè§£æ¨åºé¢åçåº·å¤æ
åµï¼ç»æ¨éå½åæ¶çå¥åº·æå¯¼ï¼è¯·æ¨æ½ä¸ç¹å®è´µæ¶é´ï¼å®æè¿ä»½åºé¢é访é®å·è°æ¥ã --> |
| | | </div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <div v-html="richText"></div> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | padding-top: 50px; |
| | | font-size: 24px; |
| | | color: #175997; |
| | | font-weight: 600; |
| | | margin-bottom: 10px; |
| | | " |
| | | > |
| | | {{ |
| | | jsy |
| | | ? jsy |
| | | : "çæ´»ä¸è¦å³é¸ç»åï¼æ³¨æä¼æ¯åè¥å
»ï¼éå½é»ç¼ï¼æçéé
ï¼ä¿æå¿æ
èç
ï¼å®æå¤è¯ã飿¬æ¬¡å®£æå
容就å°è¿éï¼ç¥æ¨èº«ä½å¥åº·ï¼" |
| | | }} |
| | | </div> |
| | | <!-- <div style="font-size: 20px"> |
| | | {{ |
| | | jsy |
| | | ? jsy |
| | | : "çæ´»ä¸è¦å³é¸ç»åï¼æ³¨æä¼æ¯åè¥å
»ï¼éå½é»ç¼ï¼æçéé
ï¼ä¿æå¿æ
èç
ï¼å®æå¤è¯ã飿¬æ¬¡å®£æå
容就å°è¿éï¼ç¥æ¨èº«ä½å¥åº·ï¼" |
| | | }} |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | taskname: "", |
| | | kcb: "", |
| | | jsy: "", |
| | | loading: true, // æ°å¢ï¼å è½½ç¶æ |
| | | }; |
| | | }, |
| | | |
| | |
| | | methods: { |
| | | // è§£æurlid |
| | | geturlinfo() { |
| | | // let url = window.location.href; |
| | | this.loading = true; // å¼å§å è½½ |
| | | let url = this.$route.query.p; |
| | | // let url = 'http://218.108.11.22:8093/sf/003'; |
| | | // let urlid = this.extractLastSegmentFromUrl(url); |
| | | |
| | | geturlinfo(url).then((res) => { |
| | | if (res.code == 200) { |
| | | this.getQuestionnaire( |
| | | res.data.param1, |
| | | res.data.param2, |
| | | res.data.param3, |
| | | res.data.param5 |
| | | ); |
| | | } |
| | | }); |
| | | geturlinfo(url) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.getQuestionnaire( |
| | | res.data.param1, |
| | | res.data.param2, |
| | | res.data.param3, |
| | | res.data.param5 |
| | | ); |
| | | } else { |
| | | this.loading = false; // è·åURLä¿¡æ¯å¤±è´¥æ¶å
³éå è½½ |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.loading = false; // åºéæ¶å
³éå è½½ |
| | | }); |
| | | }, |
| | | // extractLastSegmentFromUrl(url) { |
| | | // // æ¾å°æåä¸ä¸ª'/'çä½ç½® |
| | | // const lastSlashIndex = url.lastIndexOf('/'); |
| | | // // 妿æ¾å°äº'/'ï¼æªåå
¶åçææå符 |
| | | // if (lastSlashIndex !== -1) { |
| | | // return url.substring(lastSlashIndex + 1); |
| | | // } |
| | | // // å¦ææ²¡ææ¾å°'/'ï¼è¿å空å符串 |
| | | // return ''; |
| | | // }, |
| | | |
| | | // è·åæ°æ® |
| | | getQuestionnaire(param1, param2, param3) { |
| | | this.taskid = decodeURIComponent(param1); |
| | | this.patid = decodeURIComponent(param2); |
| | | this.taskname = decodeURIComponent(param3); |
| | | // // let taskid = |
| | | // // "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw=="; |
| | | // // let patid = |
| | | // // "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA=="; |
| | | // this.taskid = this.decrypt(taskid); |
| | | // this.patid = this.decrypt(patid); |
| | | |
| | | // // this.$modal.msgSuccess("ç¨æ·id为" + this.patid); |
| | | // // this.$modal.msgSuccess("ä»»å¡id为" + this.taskid); |
| | | // let taskids = this.encrypt(this.taskid); |
| | | // let patids = this.encrypt(this.patid); |
| | | getExternalfollowup({ param1: this.taskid, param2: this.patid }).then( |
| | | (res) => { |
| | | getExternalfollowup({ param1: this.taskid, param2: this.patid }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.url = res.data.script[0].richText; |
| | | this.jsy = res.data.jsy; |
| | | this.kcb = res.data.kcb; |
| | | // 临æ¶è·åæ°æ® |
| | | |
| | | // è·å坿æ¬å
容 |
| | | axios |
| | | .get(this.url) |
| | | .then((response) => { |
| | | console.log(response.data, "æ°æ®"); // è¾åºè·åå°çæä»¶å
容 |
| | | console.log(response.data, "æ°æ®"); |
| | | this.richText = response.data; |
| | | this.richText = this.addStyleToImages(this.richText); |
| | | this.loading = false; // æ°æ®å è½½å®æ |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Failed to fetch file:", error); |
| | | this.loading = false; // è·åå
容失败æ¶å
³éå è½½ |
| | | }); |
| | | } else { |
| | | this.loading = false; // APIè¿åé误æ¶å
³éå è½½ |
| | | } |
| | | } |
| | | ); |
| | | }) |
| | | .catch(() => { |
| | | this.loading = false; // APIè°ç¨å¤±è´¥æ¶å
³éå è½½ |
| | | }); |
| | | }, |
| | | |
| | | addStyleToImages(html) { |
| | | if (!html) return html; |
| | | |
| | |
| | | min-height: 100vh; |
| | | margin: 0; |
| | | padding: 0; |
| | | |
| | | .CONTENT { |
| | | padding-top: 15px; |
| | | padding-bottom: 15px; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .preview-left { |
| | | margin: 10px; |
| | | margin-bottom: 60px; |
| | | background-color: #fff; |
| | | border-radius: 5px; |
| | | // margin: 20px; |
| | | padding: 10px; |
| | | padding-bottom: 100px; |
| | | height: 100%; |
| | | // background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* æ°å¢å è½½æ ·å¼ */ |
| | | .loading-container { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background-color: rgba(255, 255, 255, 0.9); |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | z-index: 9999; |
| | | } |
| | | |
| | | .loading-content { |
| | | text-align: center; |
| | | padding: 40px 60px; |
| | | background: #fff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); |
| | | border: 1px solid #e4e7ed; |
| | | } |
| | | |
| | | .loading-icon { |
| | | font-size: 40px; |
| | | color: #3769f3; |
| | | margin-bottom: 20px; |
| | | animation: loading-rotate 1.5s linear infinite; |
| | | display: block; |
| | | } |
| | | |
| | | .loading-text { |
| | | font-size: 18px; |
| | | color: #606266; |
| | | font-weight: 500; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | @keyframes loading-rotate { |
| | | 0% { |
| | | transform: rotate(0deg); |
| | | } |
| | | 100% { |
| | | transform: rotate(360deg); |
| | | } |
| | | } |
| | | |
| | | /* ååºå¼è®¾è®¡ */ |
| | | @media (max-width: 768px) { |
| | | .loading-content { |
| | | padding: 30px 40px; |
| | | } |
| | | |
| | | .loading-icon { |
| | | font-size: 32px; |
| | | } |
| | | |
| | | .loading-text { |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | icon="el-icon-plus" |
| | | v-if="!Whetherall" |
| | | type="primary" |
| | | @click="getTaskservelist()" |
| | | @click=" |
| | | getTaskservelist()" |
| | | >æ·»å 任塿µç¨</el-button |
| | | > |
| | | </div> |
| | |
| | | }); |
| | | }, |
| | | // æ°å¢ä»»å¡ |
| | | getTaskservelist() { |
| | | |
| | | getTaskservelist() { |
| | | this.serviceVisible = true; |
| | | }, |
| | | // 导å
¥æ£è
|
| | |
| | | </el-form-item> |
| | | <el-form-item label="ç§å®¤åç§°" prop="inhospno"> |
| | | <el-input |
| | | v-model="queryParams.deptname" |
| | | v-model="queryParams.leaveldeptname" |
| | | placeholder="请è¾å
¥ç§å®¤åç§°" |
| | | clearable |
| | | style="width: 250px" |
| | |
| | | <el-table-column |
| | | label="ç§å®¤" |
| | | align="center" |
| | | key="deptname" |
| | | prop="deptname" |
| | | key="leaveldeptname" |
| | | prop="leaveldeptname" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | |
| | | width="120" |
| | | align="center" |
| | | /> |
| | | <el-table-column prop="deptname" label="ç§å®¤" align="center" /> |
| | | <el-table-column prop="leaveldeptname" label="ç§å®¤" align="center" /> |
| | | <el-table-column |
| | | prop="leavehospitaldistrictname" |
| | | label="ç
åº" |
| | |
| | | }, |
| | | // æ¥è¯¢æå¡è®°å½ |
| | | handleClickfw() { |
| | | |
| | | getTaskservelist({ |
| | | patid: this.id, |
| | | }).then((res) => { |
| | |
| | | this.loading = true; |
| | | |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | } |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | |
| | | this.form.icd10code = this.diagglist |
| | | .map((item) => item.icdcode) |
| | | .join(","); |
| | | this.form.icd10name = this.diagglist |
| | | .map((item) => item.icdname) |
| | | .join(","); |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.taskid) { |
| | |
| | | this.topqueryParams.deptOrDistrict = 1; |
| | | } |
| | | console.log(55); |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.userList.forEach((item) => { |
| | |
| | | this.form.icd10code = this.diagglist |
| | | .map((item) => item.icdcode) |
| | | .join(","); |
| | | this.form.icd10name = this.diagglist |
| | | .map((item) => item.icdname) |
| | | .join(","); |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.taskid) { |
| | |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | }else{ |
| | | this.topqueryParams.deptOrDistrict=1; |
| | | } |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | this.loading = true; |
| | | |
| | | |
| | | |
| | | if (!this.followupAuthority()) { |
| | | this.$message.warning("æªé
ç½®ç§å®¤/ç
åºç¸å
³æéä¸å¯æ¥è¯¢"); |
| | | return Promise.reject(new Error("æ æéæ¥è¯¢")); |
| | | } |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | |
| | | // target: `http://192.168.100.10:8094`,//çç«åå¾· |
| | | // target: `http://192.168.100.10:8095`,//æ°å |
| | | // target: `http://192.168.100.10:8098`,//å¸ä¸ |
| | | target:`http://localhost:8095`, |
| | | // target:`http://localhost:8095`, |
| | | // target:`http://35z1t16164.qicp.vip`, |
| | | // target: `http://192.168.100.172:8095`, |
| | | // target: `http://192.168.100.10:8083`, |
| | | target: `http://192.168.100.10:8083`,//åå |
| | | // target: `http://192.168.191.181:8095`, |
| | | changeOrigin: true, |
| | | pathRewrite: { |