Browse Source

组合项目包含的指引单

master
mch 2 years ago
parent
commit
b84d15494e
  1. 125
      src/components/doctorCheck/CheckItemList.vue
  2. 196
      src/components/patientRegister/LisRequest.vue
  3. 62
      src/components/patientRegister/patientRegisterAsbItem.vue
  4. 2
      src/views/basic-dictionary/DeviceType.vue
  5. 14
      src/views/basic-dictionary/ResultStatus.vue
  6. 29
      src/views/basic-dictionary/SampleContainer.vue
  7. 5
      src/views/doctorCheck/personnelBatch.vue
  8. 201
      src/views/fee-settings/Asbitem.vue
  9. 19
      src/views/fee-settings/ItemTemplate.vue

125
src/components/doctorCheck/CheckItemList.vue

@ -1,19 +1,42 @@
<template>
<div>
<el-table :data="doctorCheck.checkItemList" style="width: 100%"
:height="window.pageHeight < 600 ? Math.floor((380 - 40)*3/5):Math.floor((window.pageHeight-220-40)*3/5)"
:row-style="{ height: '30px' }" border @row-click="rowClick">
<el-table
:data="doctorCheck.checkItemList"
style="width: 100%"
:height="
window.pageHeight < 600
? Math.floor(((380 - 40) * 3) / 5)
: Math.floor(((window.pageHeight - 220 - 40) * 3) / 5)
"
:row-style="{ height: '30px' }"
border
@row-click="rowClick"
>
<el-table-column prop="itemName" label="项目" width="180" />
<el-table-column prop="result" label="结果" width="500">
<template slot-scope="scope">
<el-autocomplete style="width: 480px" class="inline-input" type="textarea"
v-model="doctorCheck.checkItemList[scope.$index].result" :fetch-suggestions="querySearch"
placeholder="请输入结果值" @select="handleSelect" :disabled="doctorCheck.RegisterCheckEdit.completeFlag=='1' || doctorCheck.RegisterCheckEdit.completeFlag=='2'"
:autosize="{ minRows: 1, maxRows: 100 }"/>
<el-autocomplete
style="width: 480px"
class="inline-input"
type="textarea"
v-model="doctorCheck.checkItemList[scope.$index].result"
:fetch-suggestions="querySearch"
placeholder="请输入结果值"
@select="handleSelect"
:disabled="
doctorCheck.RegisterCheckEdit.completeFlag == '1' ||
doctorCheck.RegisterCheckEdit.completeFlag == '2'
"
:autosize="{ minRows: 1, maxRows: 100 }"
/>
</template>
</el-table-column>
<el-table-column prop="unit" label="单位" width="80" />
<el-table-column prop="referenceRangeValue" label="参考范围" width="120" />
<el-table-column
prop="referenceRangeValue"
label="参考范围"
width="120"
/>
</el-table>
</div>
</template>
@ -21,69 +44,72 @@
<script>
import { mapState } from 'vuex';
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
data() {
return {
restaurants:[], //
currentRow: -1, //
restaurants: [], //
currentRow: -1, //
};
},
created() { },
created() {},
//
mounted() { },
mounted() {},
computed: {
...mapState(['window','dict', 'doctorCheck']),
...mapState(["window", "dict", "doctorCheck"]),
},
methods: {
//
rowClick(row) {
this.doctorCheck.checkItem = row
this.restaurants = row.itemResultTemplates
this.doctorCheck.checkItem = row;
this.restaurants = row.itemResultTemplates;
},
//
checkItemList(RegisterCheckId) {
console.log(`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`)
getapi(`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`)
.then((res) => {
console.log("checkItemList", res.data);
if (res.code == 1) {
this.doctorCheck.checkItemList = res.data;
}
})
.catch((err) => {
this.$message({ type: "error", message: `操作失败,原因:${err}` });
});
console.log(
`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`
);
getapi(
`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`
)
.then((res) => {
console.log("checkItemList", res.data);
if (res.code == 1) {
this.doctorCheck.checkItemList = res.data;
}
})
.catch((err) => {
this.$message({ type: "error", message: `操作失败,原因:${err}` });
});
},
querySearch(queryString, cb) {
var restaurants = [...this.restaurants] //[{ value: '' },{ value: '' }]
restaurants.forEach((item) =>{
return item.value = item.result
})
console.log('restaurants',restaurants)
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
querySearch(queryString, cb) {
var restaurants = [...this.restaurants]; //[{ value: '' },{ value: '' }]
restaurants.forEach((item) => {
return (item.value = item.result);
});
console.log("restaurants", restaurants);
var results = queryString
? restaurants.filter(this.createFilter(queryString))
: restaurants;
// callback
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant['value'].toLowerCase().indexOf(queryString.toLowerCase()) === 0);
return (
restaurant["value"]
.toLowerCase()
.indexOf(queryString.toLowerCase()) === 0
);
};
},
handleSelect(item) {
@ -95,13 +121,17 @@ export default {
watch: {
//
"doctorCheck.RegisterCheckId"(newVal, oldVal) {
console.log("watch doctorCheck.RegisterCheckId newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal != '') {
this.checkItemList(newVal)
console.log(
"watch doctorCheck.RegisterCheckId newVal:",
newVal,
" oldVal:",
oldVal
);
if (newVal != oldVal && newVal != "") {
this.checkItemList(newVal);
}
},
},
};
</script>
<style scoped>
@ -116,5 +146,4 @@ export default {
.el-table .refuse-row {
background: rgb(192, 192, 192);
}
</style>

196
src/components/patientRegister/LisRequest.vue

@ -1,37 +1,69 @@
<template>
<div>
<div>
<el-table :data="tableData" border style="width: 100%" row-key="id" height="300" highlight-current-row size="small">
<el-table
:data="tableData"
border
style="width: 100%"
row-key="id"
height="300"
highlight-current-row
size="small"
>
<el-table-column label="组合项目" width="120" prop="asbitemName" />
<el-table-column label="操作" width="130" prop="operate">
<template slot-scope="scope">
<el-select v-model="scope.row.operate" placeholder="请操作方式" size="small" :disabled="scope.row.disabled"
@change="changeOperate(scope.row)">
<el-option v-for="(item, index) in options" :key="index" :label="item.label" :value="item.value" />
<el-select
v-model="scope.row.operate"
placeholder="请操作方式"
size="small"
:disabled="scope.row.disabled"
@change="changeOperate(scope.row)"
>
<el-option
v-for="(item, index) in options"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
</el-table-column>
<el-table-column label="条码分组" width="120" prop="sampleGroupName" />
<el-table-column label="检验申请号" width="180" prop="lisRequestNo">
<template slot-scope="scope">
<el-select v-model="scope.row.lisRequestNo" size="small" :disabled="scope.row.disabled">
<el-option v-for="(item, index) in lisRequestNos" :key="index" :label="item.lisRequestNo"
:value="item.lisRequestId" />
<el-select
v-model="scope.row.lisRequestNo"
size="small"
:disabled="scope.row.disabled"
>
<el-option
v-for="(item, index) in lisRequestNos"
:key="index"
:label="item.lisRequestNo"
:value="item.lisRequestId"
/>
</el-select>
</template>
</el-table-column>
</el-table>
</div>
<!-- 按钮区域 -->
<div style="display: flex; margin-top: 30px; margin-left: 280px; ">
<div style="display: flex; margin-top: 30px; margin-left: 280px">
<div style="margin-left: 10px">
<el-button type="primary" @click="submit">确定</el-button>
</div>
<div style="margin-left: 10px">
<el-button type="success" @click="lisPrint('0002',false)">条码打印</el-button>
<el-button type="success" @click="lisPrint('0002', false)"
>条码打印</el-button
>
</div>
<div style="margin-left: 10px">
<el-button type="danger" @click="patientRegister.lisRequestVisble = false">关闭</el-button>
<el-button
type="danger"
@click="patientRegister.lisRequestVisble = false"
>关闭</el-button
>
</div>
</div>
</div>
@ -48,12 +80,16 @@ export default {
data() {
return {
tableData: [], //
options: [{ label: '无', value: 'no' }, { label: '追加到以前条码', value: 'append' }, { label: '申请新的条码', value: 'new' }], //
options: [
{ label: "无", value: "no" },
{ label: "追加到以前条码", value: "append" },
{ label: "申请新的条码", value: "new" },
], //
lisRequestNos: [], //
};
},
created() { },
created() {},
mounted() {
this.getAsbItemList(this.id);
@ -62,7 +98,6 @@ export default {
...mapState(["patientRegister"]),
},
methods: {
parseData(asbItem) {
// "registerAsbitemId": "3a0d2e90-db36-09fe-4210-53fadb4f7d02",
// asbitemId": "3a0c5600-ae78-9ed4-e3c1-993ef41d3c51",
@ -77,26 +112,28 @@ export default {
let lfind = -1;
this.lisRequestNos = [];
asbItem.forEach(e => {
asbItem.forEach((e) => {
if (e.lisRequestNo) {
e['operate'] = 'no';
e['disabled'] = true;
e["operate"] = "no";
e["disabled"] = true;
lfind = arrayExistObj(this.lisRequestNos, 'lisRequestNo', e.lisRequestNo);
lfind = arrayExistObj(
this.lisRequestNos,
"lisRequestNo",
e.lisRequestNo
);
if (lfind == -1) {
this.lisRequestNos.push({
sampleGroupId: e.sampleGroupId,
lisRequestNo: e.lisRequestNo,
lisRequestId: e.lisRequestId,
})
});
}
} else {
e['disabled'] = false;
e["disabled"] = false;
}
return e;
});
},
getAsbItemList(id) {
@ -111,44 +148,48 @@ export default {
//
changeOperate(row) {
let lfind = -1
if (row.operate == 'append') {
let lfind = -1;
if (row.operate == "append") {
if (row.sampleGroupId) {
lfind = arrayExistObj(this.lisRequestNos, 'sampleGroupId', row.sampleGroupId);
lfind = arrayExistObj(
this.lisRequestNos,
"sampleGroupId",
row.sampleGroupId
);
if (lfind > -1) {
row.lisRequestNo = this.lisRequestNos[lfind].lisRequestNo;
row.lisRequestId = this.lisRequestNos[lfind].lisRequestId;
}
}
} else {
row.lisRequestNo = '';
row.lisRequestId = '';
row.lisRequestNo = "";
row.lisRequestId = "";
}
},
//
submit() {
let append = [], news = [];
let validMsg = '', lfind = -1;
let append = [],
news = [];
let validMsg = "",
lfind = -1;
this.tableData.forEach(item => {
if (item.operate == 'append') {
this.tableData.forEach((item) => {
if (item.operate == "append") {
if (item.lisRequestId) {
lfind = arrayExistObj(append, 'lisRequestId', item.lisRequestId);
if (lfind = -1) {
append.push(
{
lisRequestId: item.lisRequestId,
registerAsbitemIds: [item.registerAsbitemId],
}
)
lfind = arrayExistObj(append, "lisRequestId", item.lisRequestId);
if ((lfind = -1)) {
append.push({
lisRequestId: item.lisRequestId,
registerAsbitemIds: [item.registerAsbitemId],
});
} else {
append[lfind]['registerAsbitemIds'].push(item.registerAsbitemId);
append[lfind]["registerAsbitemIds"].push(item.registerAsbitemId);
}
} else {
validMsg = row.asbitemName + '项目,未选择追加到哪个检验申请单号!'
validMsg = row.asbitemName + "项目,未选择追加到哪个检验申请单号!";
}
} else if (item.operate == 'new') {
} else if (item.operate == "new") {
news.push(item.registerAsbitemId);
}
});
@ -159,79 +200,89 @@ export default {
}
if (append.length > 0) {
postapi('/api/app/lisrequest/appendlisrequestmany', append)
.then(res => {
postapi("/api/app/lisrequest/appendlisrequestmany", append).then(
(res) => {
if (res.code != -1) {
this.$message.success('项目追加到检验申请单成功!');
this.$message.success("项目追加到检验申请单成功!");
this.getAsbItemList(this.id);
}
});
}
);
}
if (news.length > 0) {
postapi('/api/app/lisrequest/addlisrequest', news)
.then(res => {
if (res.code != -1) {
this.$message.success('项目创建检验申请单成功!');
this.getAsbItemList(this.id);
}
});
postapi("/api/app/lisrequest/addlisrequest", news).then((res) => {
if (res.code != -1) {
this.$message.success("项目创建检验申请单成功!");
this.getAsbItemList(this.id);
}
});
}
},
//
lisPrint(ReportCode, isPreview) {
let token = localStorage.getItem('token');
let user = localStorage.getItem('user');
lisPrint(ReportCode, isPreview) {
let token = localStorage.getItem("token");
let user = localStorage.getItem("user");
let toOutShell = {
ReportCode, token,
ReportCode,
token,
Parameters: [
{ Name: 'printer', Value: user },
{ Name: 'hisLog', Value: 'pic/hisLog.jpg' },
{ Name: "printer", Value: user },
{ Name: "hisLog", Value: "pic/hisLog.jpg" },
],
};
if (isPreview) {
//http://140.143.162.39:9529/api/app/printreport/getlisrequestreport?PatientRegisterId=3a0d2e90-da68-3746-6775-bf17e5f9b295
//this.multipleSelection.forEach((item,index) =>{
postapi(`/api/app/printreport/getlisrequestreport?PatientRegisterId=${this.id}`)
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${this.id}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.printPre(JSON.stringify(toOutShell));
}
})
.catch(err => {
.catch((err) => {
this.$message.warning(err);
});
// });
} else {
postapi(`/api/app/printreport/getlisrequestreport?PatientRegisterId=${this.id}`)
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${this.id}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.print(JSON.stringify(toOutShell));
}
})
.then(res => {
if (res.toLowerCase() == 'success') {
.then((res) => {
if (res.toLowerCase() == "success") {
// /api/app/lisrequest/updatelisrequestisprint
// {
// "operateType": 0, 1.PatientRegisterId 2.LisRequestId
// "patientRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "lisRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// }
return postapi('/api/app/lisrequest/updatelisrequestisprint', { operateType: 1, patientRegisterId: this.id })
return postapi("/api/app/lisrequest/updatelisrequestisprint", {
operateType: 1,
patientRegisterId: this.id,
});
}
})
.catch(err => {
.catch((err) => {
this.$message.warning(err);
});
}
},
},
@ -245,7 +296,7 @@ export default {
// }
// },
"brushTimes"(newVal, oldVal) {
brushTimes(newVal, oldVal) {
if (newVal != oldVal && newVal != "") {
this.getAsbItemList(this.id);
}
@ -276,7 +327,6 @@ export default {
padding-right: 1px;
}
::v-deep input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none !important;

62
src/components/patientRegister/patientRegisterAsbItem.vue

@ -1,8 +1,16 @@
<template>
<div>
<div style="display: flex">
<el-table :data="patientRegister.patientRegisterAbs" border :height="patientRegister.prAsbItemHeight" size="small"
highlight-current-row :summary-method="getSummaries" show-summary ref="patientRegister.patientRegisterAbs">
<el-table
:data="patientRegister.patientRegisterAbs"
border
:height="patientRegister.prAsbItemHeight"
size="small"
highlight-current-row
:summary-method="getSummaries"
show-summary
ref="patientRegister.patientRegisterAbs"
>
<el-table-column type="index" label="序号" width="50" />
<el-table-column prop="asbitemName" label="已选组合项目" width="120" />
<el-table-column prop="standardPrice" label="标准价" />
@ -11,7 +19,11 @@
<el-table-column prop="chargePrice" label="价格" />
<el-table-column prop="payTypeFlag" label="支付方式">
<template slot-scope="scope">
<div>{{ ldddw(dict.payType, "id", scope.row.payTypeFlag, "displayName") }}</div>
<div>
{{
ldddw(dict.payType, "id", scope.row.payTypeFlag, "displayName")
}}
</div>
</template>
</el-table-column>
<el-table-column prop="isCharge" label="收费" width="50">
@ -21,7 +33,16 @@
</el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态">
<template slot-scope="scope">
<div>{{ ldddw(dict.checkCompleteFlag, "id", scope.row.checkCompleteFlag, "displayName") }}</div>
<div>
{{
ldddw(
dict.checkCompleteFlag,
"id",
scope.row.checkCompleteFlag,
"displayName"
)
}}
</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁" width="50">
@ -32,7 +53,7 @@
<el-table-column prop="creatorName" label="登记人"></el-table-column>
<el-table-column prop="creationTime" label="登记日期" width="90">
<template slot-scope="scope">
<div>{{ lmoment(scope.row.creationTime, 'yyyy-MM-DD') }}</div>
<div>{{ lmoment(scope.row.creationTime, "yyyy-MM-DD") }}</div>
</template>
</el-table-column>
</el-table>
@ -40,26 +61,23 @@
</div>
</template>
<script>
import moment from 'moment';
import { mapState } from 'vuex';
import { dddw } from '../../utlis/proFunc'
import moment from "moment";
import { mapState } from "vuex";
import { dddw } from "../../utlis/proFunc";
export default {
components: {},
data() {
return {
};
return {};
},
created() { },
created() {},
//
mounted() { },
mounted() {},
computed: {
...mapState(['dict', 'patientRegister'])
...mapState(["dict", "patientRegister"]),
},
methods: {
ldddw(arrayData, key, value, display) {
return dddw(arrayData, key, value, display);
@ -72,23 +90,23 @@ export default {
//
getSummaries(param) {
const { columns, data } = param;
const sumCol = [2, 5] //
const sumCol = [2, 5]; //
const sums = [];
columns.forEach((column, index) => {
//
if (index === 1) {
sums[index] = '合计';
sums[index] = "合计";
return;
}
//
if (sumCol.indexOf(index) == -1) {
sums[index] = '';
sums[index] = "";
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
const values = data.map((item) => Number(item[column.property]));
if (!values.every((value) => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
@ -98,9 +116,9 @@ export default {
}
}, 0);
sums[index] = Math.round(sums[index], 2);
sums[index] += ' 元';
sums[index] += " 元";
} else {
sums[index] = 'N/A';
sums[index] = "N/A";
}
});

2
src/views/basic-dictionary/DeviceType.vue

@ -85,7 +85,7 @@
:model="form"
label-width="80px"
:rules="rules"
ref="form"
ref="ruleForm"
>
<el-row>
<el-col :span="9">

14
src/views/basic-dictionary/ResultStatus.vue

@ -344,14 +344,18 @@ export default {
// this.reportFontColor16 = row.reportFontColor16;
// this.dataInputBackgroundColor16 = row.dataInputBackgroundColor16;
// this.dataInputFontColor16 = row.dataInputFontColor16;
this.form.reportBackgroundColor16 = "#" + row.reportBackgroundColor;
this.form.reportFontColor16 = "#" + row.reportFontColor;
this.form.dataInputBackgroundColor16 = "#" + row.dataInputBackgroundColor;
this.form.dataInputFontColor16 = "#" + row.dataInputFontColor;
// this.form.reportBackgroundColor16 = "#" + row.reportBackgroundColor;
// this.form.reportFontColor16 = "#" + row.reportFontColor;
// this.form.dataInputBackgroundColor16 = "#" + row.dataInputBackgroundColor;
// this.form.dataInputFontColor16 = "#" + row.dataInputFontColor;
console.log(this.form);
//
console.log(this.form.reportBackgroundColor16);
// this.reportBackgroundColor16 = this.form.reportBackgroundColor16;
this.reportBackgroundColor16 = this.reportBackgroundColor16(
"0" + parseInt(this.form.reportBackgroundColor).toString(16)
);
// .slice(-2);
// this.reportFontColor16 = this.form.reportFontColor16;
// this.dataInputBackgroundColor16 = this.form.dataInputBackgroundColor16;
// this.dataInputFontColor16 = this.form.dataInputFontColor16;

29
src/views/basic-dictionary/SampleContainer.vue

@ -28,7 +28,7 @@
</el-table-column>
<el-table-column prop="displayName" label="名称" width="">
</el-table-column>
<el-table-column prop="containerRemark" label="备注" width="" />
<el-table-column prop="containerRemark" label="备注" width="" />
<el-table-column prop="creatorName" label="创建者" width="">
</el-table-column>
<el-table-column prop="creationTime" label="创建时间" width="200">
@ -87,8 +87,8 @@
</el-col>
<el-col :span="6">
<el-color-picker
v-model="form.containerColor"
v-model="color16"
@change="containerColorchange"
></el-color-picker>
<el-form-item
label="颜色"
@ -97,9 +97,7 @@
>
<el-input
v-model="form.containerColor"
maxlength="8"
minlength="6"
@input="inputcontainerColor"
></el-input>
</el-form-item>
</el-col>
@ -114,8 +112,8 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-divider/>
</el-col>
<el-divider />
</el-col>
<el-col :span="4" style="margin-left: 15px">
<el-form-item label="创建者">
<el-input
@ -233,9 +231,10 @@ export default {
form: {
displayName: "",
containerColorName: "",
containerColor: "",
containerRemark:'',
containerColor: 1089274,
containerRemark: "",
},
color16: "#409EFF",
curRow: {},
};
},
@ -246,12 +245,18 @@ export default {
this.rowDrop();
},
methods: {
inputcontainerColor(v) {
this.form.containerColor = Number(v);
let temp = "000000" + this.form.containerColor.toString(16);
this.color16 = "#" + temp.substring(temp.length - 6, temp.length);
},
containerColorchange(v) {
this.form.containerColor = eval(v.replace("#", "0x"));
},
colorchange(v) {
var hexColor = v;
// #
hexColor = hexColor.substring(1);
//
this.form.containerColor = parseInt(hexColor, 16);

5
src/views/doctorCheck/personnelBatch.vue

@ -289,8 +289,6 @@ export default {
if (this.form.customerOrgId == undefined) {
this.$message.warning("请选择单位");
} else {
// this.form = Object.assign(this.form, this.formrow);
//xunh
this.tableData.forEach((item) => {
item.customerOrgId = this.form.customerOrgId;
postapi(
@ -344,7 +342,7 @@ export default {
//
async submitBatch() {
let res = null,
confirm = null;
confirm = null;
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].isAutoCreateDepartment =
this.form.isAutoCreateDepartment;
@ -355,7 +353,6 @@ export default {
// if(this.tableData[i]==3){
// this.tableData[i]=name
// }
console.log(i, this.tableData[i]);
try {
res = await postapi(

201
src/views/fee-settings/Asbitem.vue

@ -6,7 +6,7 @@
:data="tableData"
style="width: 100%"
row-key="id"
height="300px"
height="300px"
class="el-table__body-wrapper tbody"
@row-click="rowick"
highlight-current-row
@ -279,99 +279,115 @@
<el-button type="primary" @click="addoredit"> </el-button>
</span>
</el-dialog>
<div style="margin-top: 30px">
<span style="margin-top: 10px; padding: 5px; margin-left: 28.8%"
>项目类别</span
>
<!-- <el-cascader :options="projectid" :show-all-levels="false" props="{label:''}"></el-cascader> -->
<el-select
v-model="values"
placeholder="请选择"
@change="ischangs"
style="margin-top: 5px"
>
<el-option
v-for="item in projectid"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
</el-option>
</el-select>
<span style="margin-left: 10%; padding: 5px">搜索选择</span>
<el-select
value-key="id"
@change="selectitem"
filterable
v-model="flitvalues"
placeholder="请选择"
style="margin-top: 5px"
>
<el-option
v-for="item in filetelists"
:key="item.id"
:label="item.displayName"
:value="item"
>
</el-option>
</el-select>
</div>
<!--表单穿梭区域 -->
<div class="mainbox">
<div class="mainleftbox">
<div class="weixuan">未选项目</div>
<div
v-for="(item, index) in leftdata"
:key="index"
@click="clickPaixu(item, index)"
@dblclick="shuanji(item, index)"
:class="num === index ? 'activetext' : ''"
style=""
>
<div>{{ item.displayName }}</div>
</div>
</div>
<div class="Selectbutton">
<div style="margin-top: 10px">
<el-button @click="addall"
>全添加<i class="el-icon-caret-right"></i
><i class="el-icon-caret-right"></i
></el-button>
</div>
<div style="margin-top: 10px">
<el-button @click="addobj" style="width: 111px"
>添加<i class="el-icon-caret-right"></i>
</el-button>
</div>
<div style="margin-top: 10px">
<el-button @click="removeright" style="width: 111px"
>移去<i class="el-icon-caret-left"></i>
</el-button>
<!-- table页 -->
<el-tabs v-model="activeName">
<el-tab-pane label="项目明细" name="first">
<div style="margin-top: 30px">
<span style="margin-top: 10px; padding: 5px; margin-left: 28.8%"
>项目类别</span
>
<el-select
v-model="values"
placeholder="请选择"
@change="ischangs"
style="margin-top: 5px"
>
<el-option
v-for="item in projectid"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
</el-option>
</el-select>
<span style="margin-left: 10%; padding: 5px">搜索选择</span>
<el-select
value-key="id"
@change="selectitem"
filterable
v-model="flitvalues"
placeholder="请选择"
style="margin-top: 5px"
>
<el-option
v-for="item in filetelists"
:key="item.id"
:label="item.displayName"
:value="item"
>
</el-option>
</el-select>
</div>
<div style="margin-top: 10px">
<el-button @click="allclear"
>全移去<i class="el-icon-caret-left"></i
><i class="el-icon-caret-left"></i>
</el-button>
<div class="mainbox">
<div class="mainleftbox">
<div class="weixuan">未选项目</div>
<div
v-for="(item, index) in leftdata"
:key="index"
@click="clickPaixu(item, index)"
@dblclick="shuanji(item, index)"
:class="num === index ? 'activetext' : ''"
style=""
>
<div>{{ item.displayName }}</div>
</div>
</div>
<div class="Selectbutton">
<div style="margin-top: 10px">
<el-button @click="addall"
>全添加<i class="el-icon-caret-right"></i
><i class="el-icon-caret-right"></i
></el-button>
</div>
<div style="margin-top: 10px">
<el-button @click="addobj" style="width: 111px"
>添加<i class="el-icon-caret-right"></i>
</el-button>
</div>
<div style="margin-top: 10px">
<el-button @click="removeright" style="width: 111px"
>移去<i class="el-icon-caret-left"></i>
</el-button>
</div>
<div style="margin-top: 10px">
<el-button @click="allclear"
>全移去<i class="el-icon-caret-left"></i
><i class="el-icon-caret-left"></i>
</el-button>
</div>
</div>
<div class="mainleftbox">
<div class="weixuan">已选项目</div>
<div
v-for="(item, index) in rightdata"
:key="index"
@click="rightindex(item, index)"
@dblclick="rightdelite(item, index)"
:class="nums === index ? 'activetext' : ''"
>
<div>{{ item.displayName }}</div>
</div>
</div>
</div>
</div>
<div class="mainleftbox">
<div class="weixuan">已选项目</div>
<div
v-for="(item, index) in rightdata"
:key="index"
@click="rightindex(item, index)"
@dblclick="rightdelite(item, index)"
:class="nums === index ? 'activetext' : ''"
>
<div>{{ item.displayName }}</div>
<div class="confirmcancellation">
<el-button :disabled="isdislob" @click="Onsubmit">确定</el-button>
<el-button :disabled="isdislob">取消</el-button>
</div>
</div>
</div>
<div class="confirmcancellation">
<el-button :disabled="isdislob" @click="Onsubmit">确定</el-button>
<el-button :disabled="isdislob">取消</el-button>
</div>
</el-tab-pane>
<!-- 指引单信息 -->
<el-tab-pane label="指引信息" name="second">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="displayName" label="日期" width="180">
</el-table-column>
<el-table-column prop="" label="姓名" width="180">
</el-table-column>
<el-table-column prop="address" label="地址"> </el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<!-- -->
<!--表单穿梭区域 -->
</el-card>
</div>
<!-- 按钮区域 -->
@ -420,6 +436,7 @@ import {
export default {
data() {
return {
activeName: "first",
isdislob: true,
filetelists: [],
flitvalues: [],
@ -757,7 +774,7 @@ export default {
//
ischangs(v) {
console.log(v);
//`/api/app/diagnosis/in-item-type/${v}`3a0c50b9-9621-61b7-fc93-1cfab1ec0478
getapi(`/api/app/item/in-item-type/${v}`).then((res) => {
console.log(res);

19
src/views/fee-settings/ItemTemplate.vue

@ -1,6 +1,6 @@
<template>
<div class="box">
<div style="width: 95%">
<div style="width: 100%">
<el-card>
<el-table
:data="tableData"
@ -198,9 +198,9 @@
<!-- <el-button type="primary" @click="exportexc">导出excel</el-button> -->
</div>
<div>
<el-button type="primary" @click="parseImportData(importData)"
<!-- <el-button type="primary" @click="parseImportData(importData)"
>parse</el-button
>
> -->
</div>
<div>
<el-button type="primary" @click="add">新增</el-button>
@ -211,7 +211,7 @@
style="margin-left: 0; margin-top: 10px"
>编辑</el-button
>
<input type="file" accept=".xlsx" @change="onFileChange" />
<!-- <input type="file" accept=".xlsx" @change="onFileChange" /> -->
<div style="margin-top: 10px">
<el-button type="danger" @click="delets">删除</el-button>
</div>
@ -359,14 +359,12 @@ export default {
onFileChange(event) {
//
const file = event.target.files[0];
// Excel
this.importExcelFile(file);
},
importExcelFile(file) {
this.filepopupdialogVisible = true;
console.log("333");
// 簿
const workbook = new ExcelJS.Workbook();
@ -385,7 +383,7 @@ export default {
//
const worksheet = workbook.getWorksheet(1);
// Excel
worksheet.eachRow((row, rowNumber) => {
worksheet.eachRow((row, rowNumber) => {
this.importData.push(row.values);
// console.log(`${rowNumber}${rowData}`);
});
@ -399,10 +397,9 @@ export default {
importData.forEach((item) => {
console.log(item);
this.importData= item.splice(1).map(items=>{
return {id:items[0]}
})
this.importData = item.splice(1).map((items) => {
return { id: items[0] };
});
// this.importData.push(item);
// item.forEach((item2) => {

Loading…
Cancel
Save