From 9e04f823a5758605a4896f55f3ed55e82cb1bae3 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Tue, 28 May 2024 16:41:57 +0800 Subject: [PATCH 1/5] =?UTF-8?q?5/28=20=E5=90=8C=E6=AD=A5=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/sync/SysUdimsConfig.vue | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/views/sync/SysUdimsConfig.vue b/src/views/sync/SysUdimsConfig.vue index ba5ef8bc..a366c45c 100644 --- a/src/views/sync/SysUdimsConfig.vue +++ b/src/views/sync/SysUdimsConfig.vue @@ -309,11 +309,58 @@ </el-select> </el-form-item> </el-form> + </el-descriptions-item> + <!-- 设备管理数据 --> + <el-descriptions-item> + <template slot="label">设备管理数据</template> + <el-form label-positiom="right" label-width="200px" :inline="true" style="padding-top: 20px"> + <el-form-item label="基础设备数据"> + <el-select v-model="configQuery.deviceInfo"> + <el-option :value="0" label="不同步"></el-option> + <el-option :value="1" label="由内向外"></el-option> + <el-option :value="2" label="由外向内"></el-option> + </el-select> + </el-form-item> + <el-form-item label="巡检设备管理"> + <el-select v-model="configQuery.deviceCheck"> + <el-option :value="0" label="不同步"></el-option> + <el-option :value="1" label="由内向外"></el-option> + <el-option :value="2" label="由外向内"></el-option> + </el-select> + </el-form-item> + <el-form-item label="报修设备管理"> + <el-select v-model="configQuery.deviceRepairApply"> + <el-option :value="0" label="不同步"></el-option> + <el-option :value="1" label="由内向外"></el-option> + <el-option :value="2" label="由外向内"></el-option> + </el-select> + </el-form-item> + <el-form-item label="保养设备管理"> + <el-select v-model="configQuery.deviceUpkeep"> + <el-option :value="0" label="不同步"></el-option> + <el-option :value="1" label="由内向外"></el-option> + <el-option :value="2" label="由外向内"></el-option> + </el-select> + </el-form-item> + </el-form> <!-- <el-checkbox v-model="configQuery.dbDiProducts">DI产品信息</el-checkbox> <el-checkbox v-model="configQuery.dbDiProducts" >医疗器械注册人</el-checkbox > --> </el-descriptions-item> + + <el-descriptions-item> + <template slot="label">生产企业数据</template> + <el-form label-positiom="right" label-width="200px" :inline="true" style="padding-top: 20px"> + <el-form-item label="生产企业数据"> + <el-select v-model="configQuery.produceBusiness"> + <el-option :value="0" label="不同步"></el-option> + <el-option :value="1" label="由内向外"></el-option> + <el-option :value="2" label="由外向内"></el-option> + </el-select> + </el-form-item> + </el-form> + </el-descriptions-item> </el-descriptions> </el-collapse-item> @@ -885,6 +932,11 @@ export default { udiCodeLost: null, udiCodeRel: null, orderInvoice: null, + deviceInfo:null, + deviceCheck:null, + deviceRepairApply:null, + produceBusiness:null, + deviceUpkeep:null, }, checkedBusTypes: [], checkedToInBusTypes: [], From 464692e1d4f3b3382d7ad5d8ae5ecb85baa5d55f Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Fri, 31 May 2024 10:47:50 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=200531=E7=A7=91=E5=AE=A4=E5=87=BA?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inout/ioDepartmentOrder.js | 8 +++++++ src/components/inout/baziPanel.vue | 31 +++++++++++++++++++++++++-- src/views/inout/IoDepartmentOrder.vue | 26 +++++++++++++++++++--- 3 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/api/inout/ioDepartmentOrder.js b/src/api/inout/ioDepartmentOrder.js index 9a08fcab..8afa936b 100644 --- a/src/api/inout/ioDepartmentOrder.js +++ b/src/api/inout/ioDepartmentOrder.js @@ -31,3 +31,11 @@ export function clickToTriggerbyCode(data) { params: data }); } + +export function deleteSkSicker(data) { + return axios({ + url: "/udiwms/inout/ioDepartmentOrder/deleteSkSicker", + method: "delete", + params: data + }); +} diff --git a/src/components/inout/baziPanel.vue b/src/components/inout/baziPanel.vue index 3c05a357..995fc5b6 100644 --- a/src/components/inout/baziPanel.vue +++ b/src/components/inout/baziPanel.vue @@ -1,7 +1,10 @@ <template> <el-card :body-style="{margin:'20px'}" - style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px" + style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;" > + <!-- 添加一个删除按钮在左上角 --> + <el-button icon="el-icon-close" circle class="close-button" @click="handleDelete"> + </el-button> <template #header> <el-form class="query-form" size="mini"> <el-form-item class="query-form-item" label-width="23%" label="姓 名:"> @@ -11,6 +14,7 @@ clearable disabled class="custom-disabled-input" + style="width: 80%" > </el-input> </el-form-item> @@ -21,6 +25,7 @@ placeholder="请输入住院号" clearable disabled + style="width: 80%" class="custom-disabled-input" > </el-input> @@ -66,7 +71,22 @@ export default { mounted() { }, methods: { - onCodeSubmit() { + handleDelete() { + // 在这里处理删除逻辑,例如弹出一个确认框或者直接删除数据 + // 可以使用 this.$confirm 或其他方式 + this.$confirm('确认删除吗?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + // 用户点击了确定按钮,执行删除操作 + // 例如:你可以通过 this.$emit 发送一个事件到父组件来处理删除 + this.$emit('deleteBaziPanel',this.info); + }).catch(() => { + // 用户点击了取消按钮 + }); + }, + onCodeSubmit() { this.$emit('baziPanel', this.info) }, statusFilterType(status) { @@ -86,4 +106,11 @@ export default { .custom-disabled-input input.el-input__inner:disabled { color: #000000; /* 修改为需要的颜色 */ } +/* 添加样式来定位左上角的删除按钮 */ +.close-button { + position: absolute; + top: 10px; /* 你可以根据需要调整这个值 */ + right: 10px; /* 你可以根据需要调整这个值 */ + z-index: 1; /* 确保按钮在卡片内容之上 */ +} </style> diff --git a/src/views/inout/IoDepartmentOrder.vue b/src/views/inout/IoDepartmentOrder.vue index 0e43322d..3c527b54 100644 --- a/src/views/inout/IoDepartmentOrder.vue +++ b/src/views/inout/IoDepartmentOrder.vue @@ -57,7 +57,7 @@ <el-row :gutter="8"> <el-col v-for="(bazi,key) in list" :key="key" :xs="12" :sm="8" :md="8" :lg="6"> - <BaziPanel :info="bazi" @baziPanel="getValue"></BaziPanel> + <BaziPanel :info="bazi" @baziPanel="getValue" @deleteBaziPanel="deleteBaziPanel"></BaziPanel> </el-col> </el-row> <!-- <pagination style="height: 20px"--> @@ -191,7 +191,7 @@ <script> import BaziPanel from '@/components/inout/baziPanel.vue' -import {getSkSickerList, getOrderListbyCode, addInfoSkSicker, clickToTriggerbyCode} from '@/api/inout/ioDepartmentOrder' +import {getSkSickerList, getOrderListbyCode, addInfoSkSicker, clickToTriggerbyCode,deleteSkSicker} from '@/api/inout/ioDepartmentOrder' import addOrder from "@/views/inout/DialogCreateOrder"; import {isBlank} from "@/utils/strUtil"; @@ -212,6 +212,7 @@ export default { showSearch: true, filterQuery: { name: '', + deptCode: this.$store.getters.locDeptCode, page: 1, limit: 12, startTime: null, @@ -305,6 +306,23 @@ export default { window.removeEventListener('resize', this.handleResize); }, methods: { + deleteBaziPanel(info) { + let query = { + adNum: info.adNum + } + deleteSkSicker(query).then((response) => { + if (response.code === 20000) { + this.$message.success("操作成功!") + this.getList(); + } else { + this.$message.error(response.message) + } + }) + .catch((error) => { + this.$message.error(error.message) + }) + + }, getValue(info) { console.log(info) let query = { @@ -324,11 +342,12 @@ export default { this.idQuery = this.orderListDate[0]; // 确保数组不为空 } else { // 处理订单列表为空的情况,设置默认值或者显示消息 + this.idQuery = {}; } this.sickerAdNum = info.adNum; this.sickerAdName = info.name; - this.addOrderVisible = true; this.list = response.data || []; + this.addOrderVisible = true; } else { this.$message.error(response.message) } @@ -409,6 +428,7 @@ export default { onReset() { this.filterQuery = { name: '', + deptCode: this.$store.getters.locDeptCode, page: 1, limit: 24 } From 7320ff9035de1b3395d6f879c359a6a85cd868d6 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Fri, 31 May 2024 18:25:50 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=200531=E5=A2=9E=E5=8A=A0=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E9=9C=80=E8=A6=81=E6=89=AB=E7=A0=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/basic/product/product.vue | 35 +++++++------ src/views/basic/product/productAdd.vue | 46 ++++++++++++++++- src/views/basic/product/productEdit.vue | 66 +++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 20 deletions(-) diff --git a/src/views/basic/product/product.vue b/src/views/basic/product/product.vue index 7f9684c0..477f408d 100644 --- a/src/views/basic/product/product.vue +++ b/src/views/basic/product/product.vue @@ -891,24 +891,23 @@ </el-select> </div> </el-col> - <el-col :span="12" class="el-col"> -<!-- <div class="text item">--> -<!-- <div class="itemTag">--> -<!-- <span>是否寄售: </span>--> -<!-- </div>--> -<!-- <el-select--> -<!-- v-model="editQuery.isAdavence"--> -<!-- disabled--> -<!-- style="width: 65%"--> -<!-- size="small"--> -<!-- >--> -<!-- <el-option label="是" :value="true"></el-option>--> -<!-- <el-option label="否" :value="false"></el-option>--> -<!-- <el-option label="否" :value="null"></el-option>--> -<!-- </el-select>--> -<!-- </div>--> - </el-col> - </el-row> + <el-col :span="12" class="el-col"> + <div class="text item"> + <div class="itemTag"> + <span>是否需要扫码: </span> + </div> + <el-select + v-model="editQuery.requireScanCode" + disabled + style="width: 65%" + size="small" + > + <el-option label="是" :value=1></el-option> + <el-option label="否" :value=0></el-option> + </el-select> + </div> + </el-col> + </el-row> </el-collapse-item> <el-collapse-item name="2"> diff --git a/src/views/basic/product/productAdd.vue b/src/views/basic/product/productAdd.vue index 92b0f276..f28f6c81 100644 --- a/src/views/basic/product/productAdd.vue +++ b/src/views/basic/product/productAdd.vue @@ -76,7 +76,29 @@ </el-col> <el-col :span="11" class="el-col"> <el-form-item label="分类编码:" prop="flbm"> - <el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input> + <el-select + size="small" + v-model="newProductData.flbm" + filterable + remote + clearable="true" + style="width: 90%" + reserve-keyword + placeholder="请选择" + :remote-method="classifySearch" + :loading="loading" + @change="classifyChange()" + > + <el-option + v-for="item in classifyList" + :key="item.code" + :label="item.name" + :value="item.code"> + <span>{{ item.code }}</span> + <span>{{ item.name }}</span> + </el-option> + </el-select> +<!-- <el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input>--> </el-form-item> </el-col> </el-row> @@ -148,6 +170,7 @@ <script> import {getYbHcflDetail,addProduct} from '@/api/basic/product/udiRelevance' +import {filterClassify} from "@/api/purchase/classifyCode" export default { name: 'productAdd', @@ -178,12 +201,31 @@ export default { cpms: null, attributeType: null, hcType: null, + requireScanCode: null, }, - thirdSys: [] + thirdSys: [], + classifyList: [], } }, methods: { + classifyChange(){ + this.editQuery.requireScanCode = this.classifyList.find(item => item.code == this.editQuery.flbm).requireScanCode; + }, + classifySearch(key) { + let query = { + key: key, + } + filterClassify(query) + .then(response => { + this.loading = false; + this.classifyList = response.data.list || []; + }) + .catch(() => { + this.loading = false; + this.classifyList = []; + }); + }, getYbHcData(){ let query = { specificationCode: this.newProductData.ybbm diff --git a/src/views/basic/product/productEdit.vue b/src/views/basic/product/productEdit.vue index 0a0d906d..935ff62a 100644 --- a/src/views/basic/product/productEdit.vue +++ b/src/views/basic/product/productEdit.vue @@ -328,6 +328,35 @@ </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="分类编码:" prop="require"> + <el-select + v-model="editQuery.flbm" + filterable + remote + clearable="true" + style="width: 80%" + reserve-keyword + placeholder="请选择" + :remote-method="classifySearch" + :loading="loading" + @change="classifyChange()" + > + <el-option + v-for="item in classifyList" + :key="item.code" + :label="item.name" + :value="item.code"> + <span>{{ item.code }}</span> + <span>{{ item.name }}</span> + </el-option> + </el-select> + + + </el-form-item> + </el-col> + </el-row> </el-card> @@ -352,6 +381,23 @@ </el-row> <el-divider direction="horizontal"></el-divider> + <el-row> + <el-col span="5"> + <span class="sptext">是否需要扫码</span> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="5"> + <el-select v-model="editQuery.requireScanCode" style="width: 65%" placeholder="状态" clearable> + <el-option label="是" :value=1></el-option> + <el-option label="否" :value=0></el-option> + </el-select> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="13"> + <span class="sptext">是否需要扫码</span> + </el-col> + </el-row> + <el-divider></el-divider> <el-row> <el-col span="5"> @@ -705,6 +751,7 @@ import Treeselect from "@riophae/vue-treeselect"; import {getListMenu, getOneName} from '@/api/basic/basicHospType' import {getSupComapnys} from "@/api/purchase/supCompany"; import {getHslbs} from "@/api/thrsys/thrHsfl"; +import {filterClassify} from "@/api/purchase/classifyCode" export default { @@ -766,6 +813,7 @@ export default { measname: null, nameCode: null }, + classifyList: [], } }, components: { @@ -789,8 +837,26 @@ export default { if (this.editQuery.basicPrductRemak8 != null) { this.findHsflMethod(this.editQuery.basicPrductRemak8); } + this.classifySearch() }, methods: { + classifyChange(){ + this.editQuery.requireScanCode = this.classifyList.find(item => item.code == this.editQuery.flbm).requireScanCode; + }, + classifySearch(key) { + let query = { + key: key, + } + filterClassify(query) + .then(response => { + this.loading = false; + this.classifyList = response.data.list || []; + }) + .catch(() => { + this.loading = false; + this.classifyList = []; + }); + }, getYbHcData(){ let query = { specificationCode: this.editQuery.ybbm From 24ea0f3e5440b6a551040162ebdc3639afd68783 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Tue, 4 Jun 2024 18:55:40 +0800 Subject: [PATCH 4/5] =?UTF-8?q?6/4=20=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=A1=AE=E8=AE=A4=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inventory/supInoutSearchOrder.vue | 47 +++++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/src/views/inventory/supInoutSearchOrder.vue b/src/views/inventory/supInoutSearchOrder.vue index 2c57ec53..2e7f23e9 100644 --- a/src/views/inventory/supInoutSearchOrder.vue +++ b/src/views/inventory/supInoutSearchOrder.vue @@ -169,7 +169,7 @@ </el-form-item> <el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`"> <el-select - v-model="filterQuery[item.columnName]" + v-model="map[item.columnName]" :placeholder="item.columnDesc" :disabled="executeEval(null,item.disabledFuc,false)" filterable @@ -198,6 +198,7 @@ end-placeholder="结束日期" ></el-date-picker> </el-form-item> + <el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`"> <el-date-picker v-model="filterQuery[item.columnName]" @@ -208,6 +209,18 @@ :placeholder="item.columnDesc" ></el-date-picker> </el-form-item> + <el-form-item v-if="item.columnType == 'datePickera' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`"> + <el-date-picker + :picker-options="pickerOptions" + v-model="confirmDateRange" + type="daterange" + format="yyyy 年 MM 月 dd 日" + value-format="yyyy-MM-dd" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + ></el-date-picker> + </el-form-item> </template> </el-row> </el-form> @@ -443,7 +456,8 @@ export default { fromCorp: null, keyWords: null, inoutPrintStatus: null, - + confirmStarTime:null, //发票确认起始日期 + confirmEndTime:null, }, printMap: { @@ -464,9 +478,13 @@ export default { orderSelection: [], showSup: false, customerId: this.$store.getters.customerId, + map:{ + "actDateRange" : this.actDateRange, + "confirmDateRange" : this.confirmDateRange, + }, actDateRange: [], + confirmDateRange:[], actionType: null, - auditDateRange: [], pickerOptions: { shortcuts: [ @@ -535,6 +553,13 @@ export default { this.filterQuery.startAduditTime = null; this.filterQuery.endAduditTime = null; } + if (this.confirmDateRange!== null) { + this.filterQuery.confirmStarTime = this.confirmDateRange[0]; + this.filterQuery.confirmEndTime = this.confirmDateRange[1]; + } else { + this.filterQuery.confirmStarTime = null; + this.filterQuery.confirmEndTime = null; + } this.filterQuery.page = 1; this.getList(); @@ -626,6 +651,8 @@ export default { let printParams = { startAduditTime :this.filterQuery.startAduditTime, endAduditTime: this.filterQuery.endAduditTime, + confirmStarTime : this.filterQuery.confirmStarTime , + confirmEndTime : this.filterQuery.confirmEndTime , employeeName: this.$store.getters.user.employeeName, locInvName:this.$store.getters.locInvName, templateId: res.data, @@ -689,6 +716,13 @@ export default { printParams.startAduditTime = null; printParams.endAduditTime = null; } + if (this.confirmDateRange!== null) { + printParams.confirmStarTime = this.confirmDateRange[0]; + printParams.confirmEndTime = this.confirmDateRange[1]; + } else { + printParams.confirmStarTime = null; + printParams.confirmEndTime = null; + } printOrder(printParams).then((response) => { //将pdf文件转换为url。 const binaryData = []; @@ -777,6 +811,13 @@ export default { printParams.startAduditTime = null; printParams.endAduditTime = null; } + if (this.confirmDateRange!== null) { + printParams.confirmStarTime = this.confirmDateRange[0]; + printParams.confirmEndTime = this.confirmDateRange[1]; + } else { + printParams.confirmStarTime = null; + printParams.confirmEndTime = null; + } excelInoutImport(printParams).then((response) => { let blob = new Blob([response], {type: "application/vnd.ms-excel"}); let url = window.URL.createObjectURL(blob); // 创建一个临时的url指向blob对象 From 3acb091dcc35ee71d42db5c5b7f866159f5a3c15 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Thu, 6 Jun 2024 18:58:59 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat:=200606=E4=BF=AE=E5=A4=8D=E9=87=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/purchase/purApply/purOrderSelectProduct.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/purchase/purApply/purOrderSelectProduct.vue b/src/views/purchase/purApply/purOrderSelectProduct.vue index c95126d0..07d1a263 100644 --- a/src/views/purchase/purApply/purOrderSelectProduct.vue +++ b/src/views/purchase/purApply/purOrderSelectProduct.vue @@ -367,6 +367,7 @@ export default { this.getList(); }, getList() { + this.listQuery.attributeType = this.attributeType if (this.listType == null) this.getApplyList(); else {