Commit 440f2a4e authored by 何鹏程's avatar 何鹏程

去除忽略项

parent 1fc179ec
(function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=133)})({1:function(e,t,n){"use strict";(function(e){n.d(t,"b",function(){return o}),n.d(t,"f",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return d}),n.d(t,"e",function(){return c}),n.d(t,"a",function(){return s});var o="undefined"!==typeof navigator,r=o?window:"undefined"!==typeof e?e:{},i="undefined"!==typeof chrome&&!!chrome.devtools,d=o&&navigator.userAgent.indexOf("Firefox")>-1,u=o&&0===navigator.platform.indexOf("Win"),a=o&&"MacIntel"===navigator.platform,l=o&&0===navigator.platform.indexOf("Linux"),c={ctrl:a?"&#8984;":"Ctrl",shift:"Shift",alt:a?"&#8997;":"Alt",del:"Del",enter:"Enter",esc:"Esc"};function s(e){e.prototype.hasOwnProperty("$isChrome")||(Object.defineProperties(e.prototype,{$isChrome:{get:()=>i},$isFirefox:{get:()=>d},$isWindows:{get:()=>u},$isMac:{get:()=>a},$isLinux:{get:()=>l},$keys:{get:()=>c}}),u&&document.body.classList.add("platform-windows"),a&&document.body.classList.add("platform-mac"),l&&document.body.classList.add("platform-linux"))}}).call(this,n(8))},133:function(e,t,n){"use strict";function o(e){if("undefined"!==typeof document){var t=null,n=0,o={normal:"#3BA776",warn:"#DB6B00",error:"#DB2600"};e.__VUE_DEVTOOLS_TOAST__=((e,i)=>{var d=o[i]||o.normal;if(console.log(`%c vue-devtools %c ${e} %c `,"background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff",`background: ${d}; padding: 1px; border-radius: 0 3px 3px 0; color: #fff`,"background:transparent"),t)t.querySelector(".vue-wrapper").style.background=d;else{t=document.createElement("div"),t.addEventListener("click",r);var u=document.createElement("div");u.id="vue-devtools-toast",u.style.position="fixed",u.style.bottom="6px",u.style.left="0",u.style.right="0",u.style.height="0",u.style.display="flex",u.style.alignItems="flex-end",u.style.justifyContent="center",u.style.zIndex="999999999999999999999",u.style.fontFamily="Menlo, Consolas, monospace",u.style.fontSize="14px";var a=document.createElement("div");a.className="vue-wrapper",a.style.padding="6px 12px",a.style.background=d,a.style.color="white",a.style.borderRadius="3px",a.style.flex="auto 0 1",a.style.boxShadow="0 3px 10px rgba(0, 0, 0, 0.2)",a.style.cursor="pointer";var l=document.createElement("div");l.className="vue-content",a.appendChild(l),u.appendChild(a),t.appendChild(u),document.body.appendChild(t)}t.querySelector(".vue-content").innerText=e,clearTimeout(n),n=setTimeout(r,5e3)})}function r(){clearTimeout(n),t&&(document.body.removeChild(t),t=null)}}n.r(t);var r=n(1);function i(e){setTimeout(()=>{var t,n=Boolean(window.__NUXT__||window.$nuxt);if(n)return window.$nuxt&&(t=window.$nuxt.$root.constructor),void e.postMessage({devtoolsEnabled:t&&t.config.devtools,vueDetected:!0,nuxtDetected:!0},"*");for(var o,r=document.querySelectorAll("*"),i=0;i<r.length;i++)if(r[i].__vue__){o=r[i];break}if(o){var d=Object.getPrototypeOf(o.__vue__).constructor;while(d.super)d=d.super;e.postMessage({devtoolsEnabled:d.config.devtools,vueDetected:!0},"*")}},100)}function d(e){var t=";("+e.toString()+")(window)";if(r["d"])window.eval(t);else{var n=document.createElement("script");n.textContent=t,document.documentElement.appendChild(n),n.parentNode.removeChild(n)}}window.addEventListener("message",e=>{e.source===window&&e.data.vueDetected&&chrome.runtime.sendMessage(e.data)}),document instanceof HTMLDocument&&(d(i),d(o))},8:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"===typeof window&&(n=window)}e.exports=n}});
\ No newline at end of file
<template>
<div class="shift-module">
<div class="sidebar">
<el-collapse v-model="activeNames">
<el-collapse-item name="1">
<div slot="title" class="slidebar-title">排班管理</div>
<div :class="activePage == 'shiftEmloyee'?'g-t-blue page-title':'page-title'" @click="showPage('shiftEmloyee')">· 人员信息</div>
<div :class="activePage == 'shiftSet'?'g-t-blue page-title':'page-title'" @click="showPage('shiftSet')">· 班次设置</div>
<div :class="activePage == 'shiftDetail'?'g-t-blue page-title':'page-title'" @click="showPage('shiftDetail')">· 排班详情</div>
<div :class="activePage == 'shiftReport'?'g-t-blue page-title':'page-title'" @click="showPage('shiftReport')">· 统计报表</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="section">
<!-- 人员信息 -->
<shift-emloyee v-if="activePage == 'shiftEmloyee'"></shift-emloyee>
<!-- 班次设置 -->
<shift-set v-if="activePage == 'shiftSet'"></shift-set>
<!-- 排班详情 -->
<shift-detail ref="detail" v-if="activePage == 'shiftDetail'"></shift-detail>
<!-- 统计报表 -->
<shift-report v-if="activePage == 'shiftReport'"></shift-report>
</div>
</div>
</template>
<script>
import shiftEmloyee from './shiftEmloyee';
import shiftSet from './shiftSet';
import shiftDetail from './shiftDetail';
import shiftReport from './shiftReport';
export default {
name: 'shift',
components: {
shiftEmloyee: shiftEmloyee,
shiftSet: shiftSet,
shiftDetail: shiftDetail,
shiftReport: shiftReport,
},
data() {
return {
activeNames: ['1','2'],
activePage:"shiftEmloyee", // 页面名称
};
},
methods: {
showPage(item){
this.activePage = item;
},
}
};
</script>
<style lang="scss">
.shift-module{
height:98%;
padding-top:10px;
.sidebar{
display: inline-block;
width:160px;
padding-left: 15px;
margin-right: 10px;
background: #fff;
float: left;
// height: calc(100% - 115px);
height: 0;
.el-collapse-item__header{
width: 160px;
height: 40px;
background: rgba(24,144,255,1) !important;
box-shadow: 0px 2px 13px 0px rgba(24,144,255,0.72);
border-radius: 4px;
color: rgba(255,255,255,1);
font-size: 16px;
font-weight: 500;
.slidebar-title{
margin-left:40px;
}
.el-collapse-item__arrow{
margin-right:20px;
}
}
.page-title{
margin-left:40px;
height:40px;
line-height:40px;
cursor: pointer;
}
}
.section{
margin-left: 190px;
margin-right: 10px;
height: calc(100% - 10px);
background:rgba(255,255,255,1);
border-radius:2px;
overflow-y:auto;
}
}
</style>
<template>
<div class="materielAdd">
<el-form ref="addMaterielFormRef" :model="addMaterielForm" :rules="addMaterielFormRules"
label-width="200px" size="small"
:inline="true">
<el-row style="margin-top: -10px;">
<el-col class="text-left">
<el-form-item label="物资名称:" prop="productName">
<el-input v-model="addMaterielForm.productName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col class="text-left">
<el-form-item label="物资品牌:">
<el-input v-model="addMaterielForm.productBrand"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col class="text-left">
<el-form-item label="物资类别:">
<el-cascader
v-model="addMaterielForm.productCategory"
:options="categoryOptions"
@change="handleCategoryChange"></el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col class="text-left">
<el-form-item label="供应商:">
<el-input v-model="addMaterielForm.supplier"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col class="text-left">
<el-form-item label="入库数量:">
<el-input-number v-model="addMaterielForm.num" @change="handleNumChange" :min="1"
:max="1000"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col class="text-left">
<el-form-item label="单位:" prop="unit">
<el-input v-model="addMaterielForm.unit"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item style="margin: 20px 150px; text-align: left;">
<el-button type="danger" size="mini" icon="el-icon-search" style="margin-right: 20px;" @click="cancelForm">取消
</el-button>
<el-button type="primary" size="mini" icon="el-icon-edit" @click="submitForm()">提交</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
export default {
name: "materielAdd",
props: {},
data: function () {
function validProductName(rule, value, callback) {
if (value == null || value == '') {
callback(new Error('物资名称必须填写'));
} else {
callback();
}
}
function validUnit(rule, value, callback) {
if (value == null || value == '') {
callback(new Error('单位必须填写'));
} else {
callback();
}
}
return {
addMaterielForm: {
productName: "",
productBrand: "",
productCategory: [],
supplier: "",
num: 1,
unit:""
},
addMaterielFormRules: {
'productName': [
{trigger: 'blur', validator: validProductName},
],
'unit': [
{trigger: 'blur', validator: validUnit},
],
},
chooseCategory: null,
categoryOptions: [{
value: '1',
label: '防护类器材',
children: [{
value: '2',
label: 'N95口罩',
}, {
value: '3',
label: '医用外科口罩',
}, {
value: '4',
label: '一次性医用口罩',
}, {
value: '5',
label: '医用手套',
}, {
value: '6',
label: '医用帽子',
}, {
value: '7',
label: '医用防护服',
}, {
value: '8',
label: '全面型呼吸防护器',
}, {
value: '9',
label: '负压救护车',
}, {
value: '10',
label: '负压担架',
}
]
},
// {
// value: '100',
// label: '疫苗及预防传染病用药'
// },
// {
// value: '200',
// label: '治疗或控制传染病用药'
// },
{
value: '300',
label: '环境清洁、消毒器材及制剂',
children: [
{
value: '301',
label: '速干消毒液'
},
{
value: '302',
label: '84消毒液'
},
{
value: '303',
label: '消毒泡腾片'
}
]
},
// {
// value: '400',
// label: '病媒防治器材及制剂'
// },
{
value: '500',
label: '传染病防治采检器材',
children: [
{
value: '501',
label: '手持红外体温测试仪'
},
{
value: '502',
label: '诊断试剂'
}
]
}
],
}
},
methods: {
handleCategoryChange(value) {
console.log(value);
},
handleNumChange(value) {
console.log(value);
},
cancelForm() {
var materielList = this.findComponentUpward(this, "materielList");
materielList.materielDialogAddVisible = false;
},
submitForm() {
var that = this;
that.$refs['addMaterielFormRef'].validate((valid) => {
if (valid) {
var param = {};
if (that.addMaterielForm.productCategory.length <= 1) {
that.$message.info("请选择二级类目");
return;
}
param.productName = that.addMaterielForm.productName;
param.productBrand = that.addMaterielForm.productBrand;
param.supplier = that.addMaterielForm.supplier;
param.productCategory = that.addMaterielForm.productCategory[1];
param.num = that.addMaterielForm.num;
param.unit = that.addMaterielForm.unit;
that.$axios({
url: global.url + '/api/materiel/addProductStockRecord',
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data: param
}).then((res) => {
if (res.data && res.data.msg === 201) {
that.$message.info(res.data.respData);
var materielList = that.findComponentUpward(that, "materielList");
materielList.materielDialogAddVisible = false;
} else {
that.$message.error(res.data.content)
}
})
} else {
return false;
}
});
},
}
};
</script>
<style lang="scss">
.el-dialog {
.materielAdd {
.el-form-item__label, .el-dialog .el-form-item__label {
text-align: right !important;
width: 118px !important;
}
.el-form-item--small .el-form-item__content, .el-form-item--small .el-form-item__label {
width: 300px;
}
.el-cascader--small {
width: 300px;
}
.el-input-number--small {
width: 300px;
}
.text-left {
text-align: left;
}
}
}
</style>
<template>
<div>
<div class="grouplnjury">
<!-- 新增疫区接触史-->
<el-dialog :visible.sync="addOffice" :title="addTitle" width="500px" style="min-width:none;">
<el-form ref="form" :model="form" label-width="120px" size="mini">
<el-row>
<el-col :span="21">
<el-form-item label="接触史编码:">
<el-input v-model="form.contactHistoryCode" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="21">
<el-form-item label="接触史名称:">
<el-input v-model="form.contactHistoryName" maxlength="50"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="21">
<el-form-item label="状态:">
<el-radio-group v-model="form.state">
<el-radio-button :label="0">启用</el-radio-button>
<el-radio-button :label="1">停用</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="21">
<el-form-item label="备注:">
<el-input type="textarea" v-model="form.remark" maxlength="200"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" align="bottom">
<el-form-item>
<el-button @click="addOffice=false;getDepartList()" size="mini">取消</el-button>
<el-button type="primary" @click="addDepartSubmit" size="mini">确定</el-button>
</el-form-item>
</el-row>
</el-form>
</el-dialog>
<el-main>
<el-table :data="tableData" style="width: 100%" stripe :header-cell-style="{background:'#CCE6FF',color:'#606266'}">
<!-- <el-table-column label="序号" type="index" width="100"></el-table-column> -->
<el-table-column label="序号" prop="rownum" width="100" align="center"></el-table-column>
<el-table-column label="接触史编码" prop="contactHistoryCode"></el-table-column>
<el-table-column label="接触史名称" prop="contactHistoryName"></el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column>
<el-table-column label="启用状态" prop="state">
<template slot-scope="scope">
<span v-if="scope.row&&scope.row.state==0">
启用
</span>
<span v-if="scope.row&&scope.row.state==1">
停用
</span>
</template>
</el-table-column>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="modification(scope.row)">修改</el-button>
<!-- <el-button size="mini" type="text" @click="passValue(scope.row)"><font style="color:red">删除</font></el-button> -->
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background :current-page="page.pageNum" :page-size="page.pageSize" :page-sizes="page.pages" :total="page.total"
@size-change="handleSizeChange" @current-change="handleCurrentChange"
layout="total, sizes, prev, pager, next, jumper" class="align">
</el-pagination>
</div>
</el-main>
<el-dialog
title="提示"
:visible.sync="dialogdetele"
center
width="30%">
<span>是否确定删除</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogdetele = false">取 消</el-button>
<el-button type="primary" @click="dialogdetele = false,handleDelete(deteleObj)">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
export default {
name: "attributionTab3",
data() {
return {
formItem: {},
addOffice: false,
form: {},
tableData: [],
pageNo:1,
pageSize:10,
page:{
pageNum:1,
total:0,
pageSize:10,
pages:[10,20,50]
},
flagNum:null, //
dialogdetele:false,
deteleObj:{},
dialogTitle:null,
};
},
created: function() {
this.getDepartList();
},
computed:{
addTitle:function(){
if(this.dialogTitle==1){
return "新增接触史信息";
}else if(this.dialogTitle==2){
return "修改接触史信息";
}
}
},
methods: {
passValue:function(obj){
this.dialogdetele = true;
this.deteleObj = obj;
},
handleDelete:function(obj){
this.deleteDepart(obj);
},
findDepartInfo:function(obj){
this.formItem = obj;
this.pageNo = 1;//搜索的时候重置
this.getDepartList();
},
handleSizeChange:function(val){
this.pageSize = val;
this.getDepartList();
},
handleCurrentChange:function(val){
this.pageNo = val;
this.getDepartList();
},
//删除科室
deleteDepart:function(parma){
let that = this
let obj = {};
obj.feeTypeId = parma.feeTypeId;
let url = "/api/emergency/triage/deleteFeeType";
that.$axios.post(global.url + url, obj).then(response => {
let data = response.data;
if (data.msg == 201) {
// that.$message({
// offset: 200,
// message: "删除成功",
// type: "success"
// });
} else {
that.$message({
offset: 200,
message: data.content,
type: "warning"
});
}
that.getDepartList();
});
},
//修改
modification:function(parma){
console.log(parma);
this.dialogTitle = 2;
this.addOffice = true;
let that = this;
that.form = parma;
// let url = "/api/emergency/triage/getDepartmentCode";
// that.$axios.post(global.url + url, {}).then(response => {
// let data = response.data;
// if (data.msg == 201) {
// that.$set(that.form, "departmentCode", data.respData);
// } else {
// that.$message({
// offset: 200,
// message: data.content,
// type: "warning"
// });
// }
// });
},
getDepartCode: function(num) {
let that = this;
let url = "/api/emergency/triage/getContactHistoryCode";
that.$axios.post(global.url + url, {}).then(response => {
let data = response.data;
if (data.msg == 201) {
that.$set(that.form, "contactHistoryCode", data.respData);
} else {
that.$message({
offset: 200,
message: data.content,
type: "warning"
});
}
});
},
addDepartInfo: function(num) {
this.addOffice = true;
this.form={
state:"0"
};
this.flagNum = num;
this.dialogTitle = 1;
this.getDepartCode();
},
addDepartSubmit: function() {
var that = this;
let obj = {};
obj = that.form;
if(!obj.contactHistoryName){
that.$message({
offset: 200,
message: "请填写接触史名称",
type: "info"
});
return false;
}
if(!obj.hasOwnProperty('state')){
that.$message({
offset: 200,
message: "请选择状态",
type: "info"
});
return false;
}
this.addOffice = false;
let url = "/api/emergency/triage/saveTbContactHistory";
that.$axios.post(global.url + url, obj).then(response => {
let data = response.data;
if (data.msg == 201) {
that.getDepartList();
// that.$message({
// offset: 200,
// message: "保存成功",
// type: "success"
// });
} else {
that.$message({
offset: 200,
message: data.content,
type: "warning"
});
}
});
},
getDepartList: function() {
let that = this;
let obj = {};
obj.pageNo = that.pageNo;
obj.pageSize = that.pageSize;
if(this.formItem.contactHistoryName!=null||that.formItem.state!=null){
obj.state=that.formItem.state;
obj.contactHistoryName=that.formItem.contactHistoryName;
}
let url = "/api/emergency/triage/queryTbContactHistoryList";
that.$axios.post(global.url + url, obj).then(response => {
let data = response.data;
if (data.msg == 201) {
that.tableData = data.respData.list;
console.log(data.respData);
that.$set(that.page, "pageNum", data.respData.pageNum);
// that.$set(that.page, "pageSizes", data.respData.pages);
that.$set(that.page, "pageSize", data.respData.pageSize);
that.$set(that.page, "total", data.respData.total);
// that.page.pageNum = data.respData.pageNum;
// that.page.pageSizes = data.respData.pages;
// that.page.pageSize = data.respData.pageSize;
// that.page.total = data.respData.total;
// that.$message({
// offset: 200,
// message: "成功",
// type: "success"
// });
} else {
that.$message({
offset: 200,
message: data.content,
type: "warning"
});
}
});
}
}
};
</script>
This source diff could not be displayed because it is too large. You can view the blob instead.
<template>
<div class="zkTable" v-if="tableData.length>0">
<div class="table-title alignc">表2:{{tab.name}}{{month}}动脉瘤性蛛网膜下腔出血完成对患者病情严重程度量化患者分布</div>
<el-table :data="tableData" max-height="516px" stripe @click.native="handleTable" size="mini">
<el-table-column type="index" label="序号" width="80">
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="240">
</el-table-column>
<el-table-column prop="patientAge" label="年龄" width="80">
</el-table-column>
<el-table-column prop="attackTime" label="发病时间" width="200">
</el-table-column>
<el-table-column label="治疗类型">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.treatList" :key="index">
<span class="item-label">{{item}}</span>
</span>
</template>
</el-table-column>
<el-table-column width="120" label="操作">
<template slot-scope="scope">
<el-button @click.native="detailRow(scope.$index, tableData)" type="text" size="small">
查看详情
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'zkTable16',
data(){
return{
tableData:[],
month:'1月', // 月份标题
dialogTableVisible:false, // 表格详情弹窗
}
},
props:{
tab:{
type:Object,
required:true,
default: function () {
return {}
}
}
},
watch:{
tab(m,n){
let year =new Date().getFullYear();
if(m.type==1){
this.month=(year-1)+'-01';
}else if(m.type==2){
const curMonth = new Date().getMonth()/1+1;
if(curMonth<=3){
this.month=(year-1)+'10';
}else if(curMonth<=6 && curMonth>3){
this.month=(year)+'-01';
}else if(curMonth<=9 && curMonth>6){
this.month=(year)+'-04';
}else if(curMonth<=12 && curMonth>9){
this.month=(year)+'-07';
}
}else if(m.type==3){
this.month='第一周';
}else{
this.month='';
this.tab.name=this.tab.start;
}
if(m.month){
this.month=m.month; // 点击 canvas item 传值
}
if(m.start && m.month){ // 点击 canvas item 并且选的是时间段 标题隐藏前面的时间段
this.tab.name = '';
}
}
},
methods: {
initData(data){
// console.log('当前点击的item请求对象',data)
let reqData = {
index:16,
startTime:data.startTime,
endTime:data.endTime
}
this.$axios.post(global.url + "/stroke/pc/report/patientDetailList", reqData, {}).then(response => {
let data = response.data;
if (data.msg === 201) {
if (data.respData != null) {
this.tableData =data.respData;
}
} else {
this.$message({
message: data.content,
type: 'warning'
});
}
});
},
detailRow(idx,rows){
console.log(rows[idx].recordId)
let msg={
id:rows[idx].recordId,
name:rows[idx].patientName
}
this.$router.push({
path: "/AllStrokerGreen",
query:{strokeRecordId:msg.id,patientName:msg.name}
});
},
// 表格点击 阻止冒泡
handleTable(e){
e.stopPropagation();
e.cancelBubble = true;
},
}
};
</script>
<style lang="scss" scoped>
.zkTable{
height:100%;
margin-top:15px;
.table-title{
text-align: center;
font-weight: 600;
font-size: 16px;
line-height: 50px;
}
.item-label{
padding:1px 10px;
border-radius: 2px;
border:1px solid #1890ff;
color:#1890ff;
display: inline-block;
margin-right: 5px;
margin-bottom: 3px;
}
}
</style>
<style lang="scss">
.zkTable{
.has-gutter th{
background: #f0f0f0;
}
}
</style>
\ No newline at end of file
{
"name": "helloworld-nw-vue-devtools",
"main": "index.html",
"chromium-args": "--load-extension='./node_modules/nw-vue-devtools-prebuilt/extension'"
}
{
"_from": "nw-vue-devtools-prebuilt",
"_id": "nw-vue-devtools-prebuilt@0.0.8",
"_inBundle": false,
"_integrity": "sha512-tJJu20vBJpvCaSDfaSmz7iPph7P4SQQUB9+VahUDs6VnHOJz44wJmDjk3/wfzCRHNlQJTqGeelzGw3DEJj397w==",
"_location": "/nw-vue-devtools-prebuilt",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "nw-vue-devtools-prebuilt",
"name": "nw-vue-devtools-prebuilt",
"escapedName": "nw-vue-devtools-prebuilt",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#DEV:/",
"#USER"
],
"_resolved": "https://registry.npmjs.org/nw-vue-devtools-prebuilt/-/nw-vue-devtools-prebuilt-0.0.8.tgz",
"_shasum": "681d728f51edfce6968fb0ea6ce1dd4a6ec24707",
"_spec": "nw-vue-devtools-prebuilt",
"_where": "E:\\workspace_node\\vue-nw-seed",
"author": {
"name": "Dimitri Pandeleakis"
},
"bugs": {
"url": "https://github.com/DimPaDev/nw-vue-devtools-prebuilt/issues"
},
"bundleDependencies": false,
"dependencies": {
"download-crx": "^1.1.0",
"unzip-crx-3": "^0.2.0"
},
"deprecated": false,
"description": "Add prebuilt (from Chrome Web Store) VueDevTools extension into NW.js",
"homepage": "https://github.com/DimPaDev/nw-vue-devtools-prebuilt#readme",
"keywords": [
"Vue.js",
"NW.js",
"Developer Tools",
"vue-devtools",
"vue-devtools-prebuilt",
"desktop"
],
"license": "MIT",
"main": "index.html",
"name": "nw-vue-devtools-prebuilt",
"repository": {
"type": "git",
"url": "git+https://github.com/DimPaDev/nw-vue-devtools-prebuilt.git"
},
"scripts": {
"postinstall": "node install.js"
},
"version": "0.0.8"
}
<template>
<div class="zkTable" v-if="tableData.length>0">
<div class="table-title alignc">表2:{{tab.name}}{{month}}复杂脑血管病技术开展例数</div>
<el-table :data="tableData" max-height="516px" stripe @click.native="handleTable" size="mini">
<!-- <el-table-column prop="patientName2" label="复杂脑血管病">
</el-table-column>
<el-table-column prop="patientName" label="CCG(颈动脉海绵窦痿)">
</el-table-column> -->
<el-table-column label="AVM(脑动静脉畸形)">
<template slot-scope="scope">{{ scope.row.avmCount }} 例</template>
</el-table-column>
<el-table-column label="DAVF栓塞(硬脑膜动静脉痿)">
<template slot-scope="scope">{{ scope.row.davfCount }} 例</template>
</el-table-column>
<el-table-column label="颅内静脉窦血栓">
<template slot-scope="scope">{{ scope.row.cerebralThromCount }} 例</template>
</el-table-column>
<!-- <el-table-column prop="attackTime" label="脊髓血管疾病">
</el-table-column> -->
</el-table>
</div>
</template>
<script>
export default {
name: 'zkTable12',
data(){
return{
tableData:[],
month:'01', // 月份标题
}
},
props:{
tab:{
type:Object,
required:true,
default: function () {
return {}
}
}
},
watch:{
tab(m,n){
let year =new Date().getFullYear();
if(m.type==1){
this.month=(year-1)+'-01';
}else if(m.type==2){
const curMonth = new Date().getMonth()/1+1;
if(curMonth<=3){
this.month=(year-1)+'10';
}else if(curMonth<=6 && curMonth>3){
this.month=(year)+'-01';
}else if(curMonth<=9 && curMonth>6){
this.month=(year)+'-04';
}else if(curMonth<=12 && curMonth>9){
this.month=(year)+'-07';
}
}else if(m.type==3){
this.month='第一周';
}else{
this.month='';
this.tab.name=this.tab.start;
}
if(m.month){
this.month=m.month; // 点击 canvas item 传值
}
if(m.start && m.month){ // 点击 canvas item 并且选的是时间段 标题隐藏前面的时间段
this.tab.name = '';
}
}
},
methods: {
initData(data){
// console.log('当前点击的item请求对象',data)
let reqData = {
index:12,
startTime:data.startTime,
endTime:data.endTime
}
this.$axios.post(global.url + "/stroke/pc/report/bloodVesselCheckDetail", reqData, {}).then(response => {
let data = response.data;
if (data.msg === 201) {
if (data.respData != null) {
this.tableData=[];
let v1 =data.respData.avmCount;
let v2 =data.respData.davfCount;
let v3 =data.respData.cerebralThromCount;
if(v1==0 && v2==0&&v3==0){
this.tableData=[];
}else{
this.tableData.push(data.respData);
}
}
} else {
this.$message({
message: data.content,
type: 'warning'
});
}
});
},
// 表格点击 阻止冒泡
handleTable(e){
e.stopPropagation();
e.cancelBubble = true;
},
}
};
</script>
<style lang="scss" scoped>
.zkTable{
height:100%;
margin-top:15px;
.table-title{
text-align: center;
font-weight: 600;
font-size: 16px;
line-height: 50px;
}
.item-label{
padding:1px 10px;
border-radius: 2px;
border:1px solid #1890ff;
color:#1890ff;
display: inline-block;
margin-right: 5px;
margin-bottom: 3px;
}
}
</style>
<style lang="scss">
.zkTable{
.has-gutter th{
background: #f0f0f0;
}
}
</style>
\ No newline at end of file
<template>
<div class="scoreSheetPainWrapper">
<div class="painContent">
<div class="btnWrapper">
<el-link type="primary" class="saveBtn" @click="saveData()">保存</el-link>
</div>
<div class="painLevel_description">
<div class="descriptionItem">
<img src="/static/firstAid/image/icon_painless.png" alt="" class="descriptionImg">
<span class="descriptionNum">0</span>
<span class="descriptionTxt">无痛</span>
</div>
<div class="descriptionItem">
<img src="/static/firstAid/image/icon_slight_pain.png" alt="" class="descriptionImg">
<span class="descriptionNum">2</span>
<span class="descriptionTxt">微痛</span>
</div>
<div class="descriptionItem">
<img src="/static/firstAid/image/icon_some_pain.png" alt="" class="descriptionImg">
<span class="descriptionNum">4</span>
<span class="descriptionTxt">有些痛</span>
</div>
<div class="descriptionItem">
<img src="/static/firstAid/image/icon_very_painful.png" alt="" class="descriptionImg">
<span class="descriptionNum">6</span>
<span class="descriptionTxt">很痛</span>
</div>
<div class="descriptionItem lastItem">
<div class="lastItem_left">
<img src="/static/firstAid/image/icon_severe_pain.png" alt="" class="descriptionImg">
<span class="descriptionNum">8</span>
<span class="descriptionTxt">剧烈疼痛</span>
</div>
<div class="lastItem_right">
<img src="/static/firstAid/image/icon_pain_is_unbearable.png" alt="" class="descriptionImg">
<span class="descriptionNum">10</span>
<span class="descriptionTxt">疼痛难忍</span>
</div>
</div>
</div>
<el-slider
:show-tooltip="false"
v-model="painValue"
:marks="marks"
:max="10"
>
</el-slider>
<div class="painLevel">
<div class="levelItem level1"><span>无痛状态</span></div>
<div class="levelItem level2"><span>轻微疼痛</span></div>
<div class="levelItem level3"><span>中度疼痛</span></div>
<div class="levelItem level4"><span>重度疼痛</span></div>
<div class="levelItem level5"><span>极度疼痛</span></div>
</div>
</div>
</div>
</template>
<script>
import triageEventBus from '../../../../../assets/emergencyTriage/js/triageEventBus'
export default {
name: "scoreSheetPain",
props: ['painData'],
data() {
return {
painValue: 0,
formData:'',
marks: {
0: '0',
1: '1',
2: '2',
3: '3',
4: '4',
5: '5',
6: '6',
7: '7',
8: '8',
9: '9',
10: '10',
}
}
},
mounted() {
},
watch:{
painData(val){
}
},
methods:{
getPainData(){
let _this = this
this.formData = this.painData
let tempId = this.painData.topicList[0].selectItemIds[0]
this.painData.topicList[0].itemList.forEach(item=>{
if(tempId == item.itemId ){
_this.painValue = Number(item.score)
}
})
},
saveData(){
let _this = this
let data = Object.assign(this.painData)
//筛选id
data.topicList.forEach(item=>{
item.itemList.forEach(cItem=>{
if(_this.painValue == cItem.score){
item.selectItemIds = [cItem.itemId]
}
})
})
let scoreParam ={
totalScore:data.totalScore,
topicList:data.topicList
}
let param = {
title:data.title,
scoreId: data.scoreId,
type: data.titleType,
scoreParam: JSON.stringify(scoreParam)
}
this.$axios({
url: global.url + '/api/emergency/v3/saveScoreInfo',
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data: param
}).then((res) => {
if (res.data && res.data.msg === 201) {
// this.$message.success('保存成功!');
this.$set(this.painData, 'scoreLogId', res.data.respData.id)
this.$set(this.painData, 'scoreColor', res.data.respData.scoreColor)
this.$set(this.painData, 'splitScoreList', res.data.respData.splitScoreList)
this.$set(this.painData, 'totalScore', res.data.respData.totalScore)
triageEventBus.$emit('smartLevel')
triageEventBus.$emit('foldCollapse')
} else {
this.$message.error(res.data.content);
}
});
}
}
}
</script>
<style lang="scss" scoped>
.scoreSheetPainWrapper {
.painContent {
padding: 0 30px;
.painLevel_description {
width: 100%;
display: flex;
margin-left: -15px;
.descriptionItem {
display: flex;
flex-direction: column;
flex: 1;
justify-content: flex-start;
.descriptionImg {
width: 30px;
height: 30px;
}
.descriptionNum {
padding-left: 10px;
}
.descriptionTxt {
}
}
.lastItem {
display: flex;
flex-direction: row;
position: relative;
.lastItem_left {
display: flex;
flex-direction: column;
position: relative;
.descriptionNum {
padding-left: 10px;
}
.descriptionTxt {
padding-left: 0;
width: 80px;
position: absolute;
right: -35px;
}
}
.lastItem_right {
display: flex;
flex-direction: column;
position: absolute;
right: -20px;
align-items: flex-end;
.descriptionNum {
padding-left: 10px;
}
.descriptionTxt {
width: 80px;
padding-left: 20px;
position: absolute;
right: -40px;
}
}
}
}
.painLevel {
width: 100%;
display: flex;
margin-top: 20px;
.levelItem {
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.level1 {
width: 20%;
justify-content: flex-start;
span {
position: absolute;
left: -20px;
}
}
.level2 {
width: 20%;
justify-content: flex-start;
}
.level3 {
width: 20%;
justify-content: center;
}
.level4 {
width: 30%;
justify-content: center;
}
.level5 {
width: 10%;
justify-content: flex-end;
span {
position: absolute;
right: -20px;
}
}
}
.btnWrapper {
width: 100%;
height: 40px;
display: flex;
align-items: center;
justify-content: flex-end;
margin-bottom: 20px;
.saveBtn {
margin-right: -20px;
}
}
}
}
</style>
/*element-ui 需要重置的样式,加前缀.chest*/
\ No newline at end of file
var innosetupCompiler = require('innosetup-compiler');
var path = require('path');
var fs = require('fs');
var iconv = require('iconv-lite');
var rootPath = path.resolve(__dirname, '../');
// `./package.json`
var tmpJson = require(path.resolve(rootPath, './package.json'));
// get config
var config = require(path.resolve(rootPath, 'config'));
var setupOptions = config.build.nw.setup;
var platforms = ['win32', 'win64'];
module.exports = function () {
const res = [];
const files = fs.readdirSync(setupOptions.files);
files.forEach(function (fileName) {
if (!~platforms.indexOf(fileName)) return;
const curPath = path.resolve(setupOptions.files, fileName);
const stats = fs.statSync(curPath);
if (!stats.isDirectory()) return;
const options = Object.assign({}, setupOptions, { files: curPath, platform: fileName });
options.outputPath = options.outputPath || path.resolve(setupOptions.files, fileName + '-setup');
res.push(makeExeSetup(options))
});
return Promise.all(res)
};
function makeExeSetup(opt) {
const { issPath, files, outputPath, outputFileName, resourcesPath, appPublisher, appURL, appId, platform } = opt;
const { name, appName, version } = tmpJson;
const tmpIssPath = path.resolve(path.parse(issPath).dir, '_tmp_' + platform + '.iss');
const getOutputNameHandle = typeof outputFileName === 'function' ? outputFileName : getOutputName;
return new Promise(function (resolve, reject) {
// rewrite name, version to iss
fs.readFile(issPath, null, function (err, text) {
if (err) return reject(err);
let str = iconv.decode(text, 'gbk')
.replace(/_name_/g, name)
.replace(/_appName_/g, appName)
.replace(/_version_/g, version)
.replace(/_outputPath_/g, outputPath)
.replace(/_outputFileName_/g, getOutputNameHandle({ name, version, platform }))
.replace(/_filesPath_/g, files)
.replace(/_resourcesPath_/g, resourcesPath)
.replace(/_appPublisher_/g, appPublisher)
.replace(/_appURL_/g, appURL)
.replace(/_appId_/g, appId)
.replace(/_platform_/g, platform === 'win64' ? '64' : '');
fs.writeFile(tmpIssPath, iconv.encode(str, 'gbk'), null, function (err) {
if (err) return reject(err);
// inno setup start
innosetupCompiler(tmpIssPath, { gui: false, verbose: true }, function (err) {
fs.unlinkSync(tmpIssPath);
if (err) return reject(err);
resolve(opt)
})
})
})
})
}
function getOutputName(data) {
return data.name
}
/**
* 使用localStorage保存简单数据持久化到本地
* @param {string} key 保存的数据键
* @param {string} value 保存的数据值
* @return {boolean} [true]
*/
function saveData (key, value) {
window.localStorage.setItem(key, value);
return true;
}
/**
* 获取保存在localStorage中的数据
* @param {string} key 获取数据的键
* @return {string} 获取数据的值
*/
function getData (key) {
return window.localStorage.getItem(key);
}
/**
* 根据key删除数据
* @param {string} key 获取数据的键
* @return {boolean} [true]
*/
function removeData (key) {
window.localStorage.removeItem(key);
return true;
}
module.exports = {
saveData,
getData,
removeData
};
function handleKeydown(e, dom) {
var key = window.event.keyCode ? window.event.keyCode : window.event.which
if (key === 13) {
const nextDom = getNextDom(e.target, dom)
e.target.blur()
nextDom && nextDom.focus()
}
}
function getNextDom(dom, mainDom) {
const body = document.getElementsByTagName('body')[0]
mainDom = mainDom || body
// 获取所有的表单项
const elFormItem = mainDom.getElementsByClassName('el-form-item')
// 如果是body
if (dom === mainDom) {
return elFormItem[0].querySelectorAll('button, input, textarea, select')[0]
}
// 获取当前节点的表单项
const thisElFormItem = getParentElement(dom)
// 判断在当前表单项内是否有下一个输入框
if (hasNextDom(dom, thisElFormItem)) {
return hasNextDom(dom, thisElFormItem)
}
let index = 0
for (let i = 0; i < elFormItem.length; i++) {
if (elFormItem[i] === thisElFormItem) {
index = i
}
}
const inputType = ['text', 'textarea']
for (let _i = index + 1; _i < elFormItem.length; _i++) {
const elements = elFormItem[_i].querySelectorAll('button, input, textarea, select')
if (elements.length > 0 && inputType.indexOf(elements[0].type) != -1 && !elements[0].disabled && elements[0].offsetParent != null) {
return elements[0]
}
}
return elFormItem[0].querySelectorAll('button, input, textarea, select')[0]
}
function getParentElement(dom) {
if (dom.parentElement && dom.parentElement.className.match(new RegExp('(\\s|^)' + 'el-form-item' + '(\\s|$)'))) {
return dom.parentElement
} else {
return getParentElement(dom.parentElement)
}
}
function hasNextDom(dom, parentDom) {
const domList = parentDom.querySelectorAll('button, input, textarea, select')
if (domList.length < 2) {
return false
}
// // 判断是否为单个输入框
for (let index = 0; index < domList.length; index++) {
const element = domList[index];
if (element === dom && index + 1 < domList.length && (domList[index + 1].type === 'text' || domList[index + 1].type === 'checkbox')) {
return domList[index + 1]
}
}
}
module.exports = {
handleKeydown,
getNextDom
};
\ No newline at end of file
const fs = require('fs');
const path = require('path');
const unzip = require("unzip-crx-3");
const vuejsDevToolsId = 'nhdogjmejiglipccpnnnanhbledajbpd';
const crx = path.join(__dirname, vuejsDevToolsId + '.crx');
const manifestFile = path.join(__dirname, 'extension/manifest.json');
const outDir = path.join(__dirname, 'extension');
const downloadCRX = require('download-crx');
downloadCRX.downloadById(vuejsDevToolsId, __dirname, vuejsDevToolsId).then(filePath => {
// console.log(`crx is located in ${filePath}`);
unzip(filePath, outDir).then(() => {
// console.log(" - Successfully unzipped the crx file..");
fs.unlinkSync(crx);
// console.log(" - Reading Manifest file ...");
fs.readFile(manifestFile, 'utf8', (err, data) => {
if (err) return console.log(err);
const toBeReplaced = `"file:///*",`;
const replacement = `"file:///*","*://*/*",`;
const result = data.replace(toBeReplaced, replacement);
// console.log(" - Patching Vue DevTools manifest file...");
fs.writeFile(manifestFile, result, 'utf8', (err) => {
if (err) return console.log(err);
console.log('[OK] Vue DevTools Extension successfully installed!');
});
});
});
});
\ No newline at end of file
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
// to edit target browsers: use "browserlist" field in package.json
"autoprefixer": {}
}
}
<template>
<div class="screening">
<div class="position-center">
<img src="/static/firstAid/image/icon_devel.png" alt="">
</div>
</div>
</template>
<script>
export default {
name: 'InterDataTj'
};
</script>
<style lang="scss" scoped>
.screening{
height:100%;
}
</style>
\ No newline at end of file
/* 业务页面样式,各页面复用率较高的样式 ,加前缀.chest*/
.scroll-bar-style-type01::-webkit-scrollbar {
/*滚动条整体样式*/
width: 10px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
.scroll-bar-style-type01::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 10px;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #c1c1c1;
}
.scroll-bar-style-type01::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 10px;
background: #ededed;
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment