feat: 处理单据选择单据类型

20240912_adapter_z
chenhc 11 months ago
parent d00421cd37
commit b49c1e3c11

@ -994,7 +994,7 @@ export default {
selectmedicalSuppliesDialog
},
created() {
console.log("dayinshshhs", this.editQuery)
// console.log("dayinshshhs", this.editQuery)
this.useMutiChange(true)
this.getThirdSysDetail();
if (this.editQuery.isDateBy == 1) {

@ -78,8 +78,8 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-row style="margin-top: 15px">
<el-col :span="6">
<el-form-item prop="workPlaceCode" class="query-form-item" label="当前工位:">
<el-select
v-model="formData.workPlaceCode"
@ -104,7 +104,27 @@
</el-form-item>
</el-col>
<el-col :span="8" v-if="this.formDataVisible != null && this.formDataVisible.operationType == 1">
<el-col :span="6" >
<el-form-item prop="busType" class="query-form-item" label="单据类型:">
<el-select v-model="formData.busType"
filterable
remote
reserve-keyword
placeholder="请选择单据类型" clearable style="width: 90%">
<el-option
v-for="item in busTypeList"
:key="item.code"
:label="item.name"
:value="item.code"
>
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="this.formDataVisible != null && this.formDataVisible.operationType == 1">
<el-form-item class="query-form-item" :label="this.formDataVisible.unitTittle + ':'">
<el-select v-model="formData.fromCorp"
filterable
@ -230,10 +250,60 @@
>
<selectPrescribeDialog
:workPlaceCode="this.formData.workPlaceCode"
:busType="this.formData.busType"
:fromCorp="this.formData.fromCorp"
:confirmSelect="this.confirmSelect"
:closeDialog="this.closeDialog"
></selectPrescribeDialog>
</el-dialog>
<el-dialog
title="选择作业单据类型"
:visible.sync="selectBusTypeDisabled"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
v-if="selectBusTypeDisabled"
width="65%"
append-to-body
>
<el-row >
<!-- <el-button v-for="(item, index) in busTypeList" :key="index" type="primary" plain @click="selectBusType(item.code)">{{ item.name }}</el-button>-->
<el-col v-for="(info, index) in busTypeList" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
>
<div style="display: flex; justify-content: space-between; align-items: center; height: 66px; /* 约为 200px 的 1/3 */" @click="selectBusType(info.code)" >
<p style="font-size: 20px;background-color: #e1f3fb;font-weight: bold;">{{ info.name }}</p> <!-- 假设你的信息对象中包含一个title属性 -->
<!-- <div style="width: 60px; height: 60px; display: flex; justify-content: center; align-items: center;">-->
<!-- &lt;!&ndash; 二维码占位这里用灰色方块代替 &ndash;&gt;-->
<!--&lt;!&ndash; <span>QR</span>&ndash;&gt;-->
<!-- <div ref="qrcode" :id="'qrcode-'+index" style="width: 60px;height: 60px;"></div>-->
<!-- </div>-->
</div>
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;" @click="selectBusType(info.code)">
<!-- 假设这里有一些信息内容 -->
<p style="font-size: 14px;background-color: #e1f3fb">{{ info.code }}</p>
<el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" @click="selectBusType(info.code)"></el-button>
</div>
</el-card>
</el-col>
</el-row>
</el-dialog>
</el-form>
</div>
</template>
@ -255,6 +325,7 @@ import {selectCorpList} from "@/api/basic/basicUnitMaintain";
import {delDrugLevel} from "@/api/basic/product/drugUdiinfos";
import {getCurOrder, getNextOrder} from "@/api/collect/collectOrder";
import PanelOrderAllDetail from "@/views/collect/PanelOrderAllDetail";
import { getWorkBindBusTypes,removeBusTypeById } from '@/api/basic/workPlace/sysWorkplaceDocuments'
export default {
/**
@ -293,12 +364,14 @@ export default {
formData: {
tagStatus: -1,
invCode: null,
busType: null,
workPlaceCode: null,
fromCorp: null,
},
selectPrescriptionVisible: false,
corpOrderIdDisabled: false,
isLinkDisabled: false,
selectBusTypeDisabled: false,
userInfo: {
inv: this.$store.getters.locInvName,
deptName: this.$store.getters.locDeptName,
@ -319,6 +392,14 @@ export default {
scanResultType: "success",
isSelectOrder: false,
isFinishOrder: true,
busQuery: {
busKey: '',
workplaceCode: null,
page: 1,
limit: 100
},
busTypeList: [],
busTypeTotal: 0,
}
},
@ -332,6 +413,31 @@ export default {
PanelOrderAllDetail
},
methods: {
selectBusType(val){
this.formData.busType = val
this.selectBusTypeDisabled = false
if (this.formData.workPlaceCode != null) {
this.findCurOrder();
}
},
getWorkBindBusTypes(workplaceId) {
this.busQuery.workplaceCode = workplaceId
getWorkBindBusTypes(this.busQuery).then(res => {
if (res.code == 20000) {
this.busTypeList = res.data.list
this.busTypeTotal = res.data.total
if (this.busTypeList.length == 1) {
this.formData.busType = this.busTypeList[0].code
this.selectBusTypeDisabled = false
this.findCurOrder();
} else {
this.formData.busType = null
}
}
return
})
},
findFromInvList(val) {
let cQuery = {
corpType: this.formDataVisible.corpType,
@ -349,6 +455,7 @@ export default {
this.formDataVisible = item
}
})
this.getWorkBindBusTypes(value)
if (this.formDataVisible.operationType == 1) {
this.findFromInvList("");
}
@ -385,8 +492,8 @@ export default {
this.curWorkPlaces = res.data.list || [];
if (this.curWorkPlaces.length == 1 && this.formData.workPlaceCode == null) {
this.formData.workPlaceCode = this.curWorkPlaces[0].workplaceId;
this.workPlaceCodeChange(this.formData.workPlaceCode);
}
this.workPlaceCodeChange(this.formData.workPlaceCode);
})
},
//------------
@ -580,7 +687,7 @@ export default {
//
selectPrescribe() {
console.log(this.formData.workPlaceCode)
// console.log(this.formData.workPlaceCode)
this.selectPrescriptionVisible = true;
},
@ -605,7 +712,8 @@ export default {
findCurOrder() {
let nextQuery = {
workPlaceCode: this.formData.workPlaceCode
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType
}
getCurOrder(nextQuery).then(res => {
this.loading = false
@ -635,7 +743,7 @@ export default {
} else {
this.$message.error(res.message)
// this.$message.error(res.message)
}
}).catch(() => {
this.loading = false
@ -721,18 +829,16 @@ export default {
this.queryList = re.data.queryList;
this.fromList = re.data.fromList;
});
this.findCurWorkPlaces();
this.formData.invCode = this.$store.getters.locInvCode;
if (this.$route.query.workplaceId != null) {
this.isLinkDisabled = true
this.selectBusTypeDisabled = true
this.corpOrderIdDisabled = true
this.formData.workPlaceCode = Number(this.$route.query.workplaceId);
if (this.formData.workPlaceCode != null) {
this.findCurOrder();
}
this.getWorkBindBusTypes(this.formData.workPlaceCode);
}
this.findCurWorkPlaces();
}

@ -78,8 +78,8 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-row style="margin-top: 15px">
<el-col :span="6">
<el-form-item prop="workPlaceCode" class="query-form-item" label="当前工位:">
<el-select
v-model="formData.workPlaceCode"
@ -104,7 +104,27 @@
</el-form-item>
</el-col>
<el-col :span="8" v-if="this.formDataVisible != null && this.formDataVisible.operationType == 1">
<el-col :span="6" >
<el-form-item prop="busType" class="query-form-item" label="单据类型:">
<el-select v-model="formData.busType"
filterable
remote
reserve-keyword
placeholder="请选择单据类型" clearable style="width: 90%">
<el-option
v-for="item in busTypeList"
:key="item.code"
:label="item.name"
:value="item.code"
>
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="this.formDataVisible != null && this.formDataVisible.operationType == 1">
<el-form-item class="query-form-item" :label="this.formDataVisible.unitTittle + ':'">
<el-select v-model="formData.fromCorp"
filterable
@ -230,10 +250,60 @@
>
<selectPrescribeDialog
:workPlaceCode="this.formData.workPlaceCode"
:busType="this.formData.busType"
:fromCorp="this.formData.fromCorp"
:confirmSelect="this.confirmSelect"
:closeDialog="this.closeDialog"
></selectPrescribeDialog>
</el-dialog>
<el-dialog
title="选择作业单据类型"
:visible.sync="selectBusTypeDisabled"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
v-if="selectBusTypeDisabled"
width="65%"
append-to-body
>
<el-row >
<!-- <el-button v-for="(item, index) in busTypeList" :key="index" type="primary" plain @click="selectBusType(item.code)">{{ item.name }}</el-button>-->
<el-col v-for="(info, index) in busTypeList" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
>
<div style="display: flex; justify-content: space-between; align-items: center; height: 66px; /* 约为 200px 的 1/3 */" @click="selectBusType(info.code)" >
<p style="font-size: 20px;background-color: #e1f3fb;font-weight: bold;">{{ info.name }}</p> <!-- 假设你的信息对象中包含一个title属性 -->
<!-- <div style="width: 60px; height: 60px; display: flex; justify-content: center; align-items: center;">-->
<!-- &lt;!&ndash; 二维码占位这里用灰色方块代替 &ndash;&gt;-->
<!--&lt;!&ndash; <span>QR</span>&ndash;&gt;-->
<!-- <div ref="qrcode" :id="'qrcode-'+index" style="width: 60px;height: 60px;"></div>-->
<!-- </div>-->
</div>
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;" @click="selectBusType(info.code)">
<!-- 假设这里有一些信息内容 -->
<p style="font-size: 14px;background-color: #e1f3fb">{{ info.code }}</p>
<el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" @click="selectBusType(info.code)"></el-button>
</div>
</el-card>
</el-col>
</el-row>
</el-dialog>
</el-form>
</div>
</template>
@ -255,6 +325,7 @@ import {selectCorpList} from "@/api/basic/basicUnitMaintain";
import {delDrugLevel} from "@/api/basic/product/drugUdiinfos";
import {getCurOrder, getNextOrder} from "@/api/collect/collectOrder";
import PanelOrderAllDetail from "@/views/collect/PanelOrderAllDetail";
import { getWorkBindBusTypes,removeBusTypeById } from '@/api/basic/workPlace/sysWorkplaceDocuments'
export default {
/**
@ -293,12 +364,14 @@ export default {
formData: {
tagStatus: -1,
invCode: null,
busType: null,
workPlaceCode: null,
fromCorp: null,
},
selectPrescriptionVisible: false,
corpOrderIdDisabled: false,
isLinkDisabled: false,
selectBusTypeDisabled: false,
userInfo: {
inv: this.$store.getters.locInvName,
deptName: this.$store.getters.locDeptName,
@ -319,6 +392,14 @@ export default {
scanResultType: "success",
isSelectOrder: false,
isFinishOrder: true,
busQuery: {
busKey: '',
workplaceCode: null,
page: 1,
limit: 100
},
busTypeList: [],
busTypeTotal: 0,
}
},
@ -332,6 +413,31 @@ export default {
PanelOrderAllDetail
},
methods: {
selectBusType(val){
this.formData.busType = val
this.selectBusTypeDisabled = false
if (this.formData.workPlaceCode != null) {
this.findCurOrder();
}
},
getWorkBindBusTypes(workplaceId) {
this.busQuery.workplaceCode = workplaceId
getWorkBindBusTypes(this.busQuery).then(res => {
if (res.code == 20000) {
this.busTypeList = res.data.list
this.busTypeTotal = res.data.total
if (this.busTypeList.length == 1) {
this.formData.busType = this.busTypeList[0].code
this.selectBusTypeDisabled = false
this.findCurOrder();
} else {
this.formData.busType = null
}
}
return
})
},
findFromInvList(val) {
let cQuery = {
corpType: this.formDataVisible.corpType,
@ -349,6 +455,7 @@ export default {
this.formDataVisible = item
}
})
this.getWorkBindBusTypes(value)
if (this.formDataVisible.operationType == 1) {
this.findFromInvList("");
}
@ -385,8 +492,8 @@ export default {
this.curWorkPlaces = res.data.list || [];
if (this.curWorkPlaces.length == 1 && this.formData.workPlaceCode == null) {
this.formData.workPlaceCode = this.curWorkPlaces[0].workplaceId;
this.workPlaceCodeChange(this.formData.workPlaceCode);
}
this.workPlaceCodeChange(this.formData.workPlaceCode);
})
},
//------------
@ -580,7 +687,7 @@ export default {
//
selectPrescribe() {
console.log(this.formData.workPlaceCode)
// console.log(this.formData.workPlaceCode)
this.selectPrescriptionVisible = true;
},
@ -605,7 +712,8 @@ export default {
findCurOrder() {
let nextQuery = {
workPlaceCode: this.formData.workPlaceCode
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType
}
getCurOrder(nextQuery).then(res => {
this.loading = false
@ -635,7 +743,7 @@ export default {
} else {
this.$message.error(res.message)
// this.$message.error(res.message)
}
}).catch(() => {
this.loading = false
@ -721,18 +829,16 @@ export default {
this.queryList = re.data.queryList;
this.fromList = re.data.fromList;
});
this.findCurWorkPlaces();
this.formData.invCode = this.$store.getters.locInvCode;
if (this.$route.query.workplaceId != null) {
this.isLinkDisabled = true
this.selectBusTypeDisabled = true
this.corpOrderIdDisabled = true
this.formData.workPlaceCode = Number(this.$route.query.workplaceId);
if (this.formData.workPlaceCode != null) {
this.findCurOrder();
}
this.getWorkBindBusTypes(this.formData.workPlaceCode);
}
this.findCurWorkPlaces();
}

@ -23,10 +23,10 @@
<el-col v-for="(info, index) in stationList" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
@click="handleClick(index)"
>
<div style="display: flex; justify-content: space-between; align-items: center; height: 66px; /* 约为 200px 的 1/3 */">
<div style="display: flex; justify-content: space-between; align-items: center; height: 66px; /* 约为 200px 的 1/3 */" @click="handleClick(index)">
<p style="font-size: 20px;background-color: #e1f3fb;font-weight: bold;">{{ info.workplaceName }}</p> <!-- 假设你的信息对象中包含一个title属性 -->
<!-- <div style="width: 60px; height: 60px; display: flex; justify-content: center; align-items: center;">-->
<!-- &lt;!&ndash; 二维码占位这里用灰色方块代替 &ndash;&gt;-->
@ -35,7 +35,7 @@
<!-- </div>-->
</div>
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;">
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;" @click="handleClick(index)">
<!-- 假设这里有一些信息内容 -->
<p style="font-size: 14px;background-color: #e1f3fb">{{ info.remake }}</p>
<el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" @click="handleClick(index)"></el-button>

@ -247,6 +247,14 @@ export default {
required: true,
},
workPlaceCode: {
type: String,
required: true
},
busType: {
type: String,
required: true
},
fromCorp: {
type: String,
required: true,
},
@ -330,8 +338,9 @@ export default {
getList() {
this.loading = true;
this.filterQuery.workPlaceCode = this.workPlaceCode
console.log(this.filterQuery.workPlaceCode)
console.log(this.workPlaceCode)
this.filterQuery.busType = this.busType
this.filterQuery.fromCorp = this.fromCorp
orderPage(this.filterQuery).then(res => {
this.loading = false
this.list = res.data.list || []

Loading…
Cancel
Save