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> <template>
<div> <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="itemName" label="项目" width="180" />
<el-table-column prop="result" label="结果" width="500"> <el-table-column prop="result" label="结果" width="500">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="unit" label="单位" width="80" /> <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> </el-table>
</div> </div>
</template> </template>
@ -21,69 +44,72 @@
<script> <script>
import { mapState } from 'vuex';
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default { export default {
components: {}, components: {},
data() { data() {
return { return {
restaurants:[], //
currentRow: -1, //
restaurants: [], //
currentRow: -1, //
}; };
}, },
created() { },
created() {},
// //
mounted() { },
mounted() {},
computed: { computed: {
...mapState(['window','dict', 'doctorCheck']),
...mapState(["window", "dict", "doctorCheck"]),
}, },
methods: { methods: {
// //
rowClick(row) { rowClick(row) {
this.doctorCheck.checkItem = row
this.restaurants = row.itemResultTemplates
this.doctorCheck.checkItem = row;
this.restaurants = row.itemResultTemplates;
}, },
// //
checkItemList(RegisterCheckId) { 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 // callback
cb(results); cb(results);
}, },
createFilter(queryString) { createFilter(queryString) {
return (restaurant) => { return (restaurant) => {
return (restaurant['value'].toLowerCase().indexOf(queryString.toLowerCase()) === 0);
return (
restaurant["value"]
.toLowerCase()
.indexOf(queryString.toLowerCase()) === 0
);
}; };
}, },
handleSelect(item) { handleSelect(item) {
@ -95,13 +121,17 @@ export default {
watch: { watch: {
// //
"doctorCheck.RegisterCheckId"(newVal, oldVal) { "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> </script>
<style scoped> <style scoped>
@ -116,5 +146,4 @@ export default {
.el-table .refuse-row { .el-table .refuse-row {
background: rgb(192, 192, 192); background: rgb(192, 192, 192);
} }
</style> </style>

196
src/components/patientRegister/LisRequest.vue

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

62
src/components/patientRegister/patientRegisterAsbItem.vue

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

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

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

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

@ -344,14 +344,18 @@ export default {
// this.reportFontColor16 = row.reportFontColor16; // this.reportFontColor16 = row.reportFontColor16;
// this.dataInputBackgroundColor16 = row.dataInputBackgroundColor16; // this.dataInputBackgroundColor16 = row.dataInputBackgroundColor16;
// this.dataInputFontColor16 = row.dataInputFontColor16; // 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);
// //
console.log(this.form.reportBackgroundColor16); 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.reportFontColor16 = this.form.reportFontColor16;
// this.dataInputBackgroundColor16 = this.form.dataInputBackgroundColor16; // this.dataInputBackgroundColor16 = this.form.dataInputBackgroundColor16;
// this.dataInputFontColor16 = this.form.dataInputFontColor16; // this.dataInputFontColor16 = this.form.dataInputFontColor16;

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

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

5
src/views/doctorCheck/personnelBatch.vue

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

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

@ -6,7 +6,7 @@
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
row-key="id" row-key="id"
height="300px"
height="300px"
class="el-table__body-wrapper tbody" class="el-table__body-wrapper tbody"
@row-click="rowick" @row-click="rowick"
highlight-current-row highlight-current-row
@ -279,99 +279,115 @@
<el-button type="primary" @click="addoredit"> </el-button> <el-button type="primary" @click="addoredit"> </el-button>
</span> </span>
</el-dialog> </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>
<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>
<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>
<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> </el-card>
</div> </div>
<!-- 按钮区域 --> <!-- 按钮区域 -->
@ -420,6 +436,7 @@ import {
export default { export default {
data() { data() {
return { return {
activeName: "first",
isdislob: true, isdislob: true,
filetelists: [], filetelists: [],
flitvalues: [], flitvalues: [],
@ -757,7 +774,7 @@ export default {
// //
ischangs(v) { ischangs(v) {
console.log(v); console.log(v);
//`/api/app/diagnosis/in-item-type/${v}`3a0c50b9-9621-61b7-fc93-1cfab1ec0478 //`/api/app/diagnosis/in-item-type/${v}`3a0c50b9-9621-61b7-fc93-1cfab1ec0478
getapi(`/api/app/item/in-item-type/${v}`).then((res) => { getapi(`/api/app/item/in-item-type/${v}`).then((res) => {
console.log(res); console.log(res);

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

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

Loading…
Cancel
Save