1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057 |
- <template>
- <div class="main-contain">
- <div class="position">
- <bread-crumb :crumbs="crumbs"></bread-crumb>
- </div>
- <div class="app-container" v-loading="loading">
- <div style="justify-content: space-between;margin: 0px 0 12px 0;display: flex;align-items: center;">
- <div>
- <span style="color:red">*</span><span>供应商:</span>
- <el-select v-model="supplier_name" style="width:140px;margin-right:10px;" placeholder="请选择">
- <el-option
- v-for="item in supplyList"
- :key="item.id"
- :label="item.supplier_name"
- :value="item.id">
- </el-option>
- </el-select>
- <span>单据日期:</span>
- <el-date-picker
- size="small"
- v-model="start_time"
- prefix-icon="el-icon-date"
- :editable="false"
- style="width: 196px;"
- type="date"
- placeholder="选择日期时间"
- align="right"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- @change="startTimeChange"
- ></el-date-picker>
- <!-- <span>交货日期:</span> -->
- <!-- <el-date-picker
- size="small"
- v-model="end_time"
- prefix-icon="el-icon-date"
- :editable="false"
- style="width: 196px;"
- type="date"
- placeholder="选择日期时间"
- align="right"
- format="yyyy-MM-dd"
- value-format="yyyy-MM-dd"
- @change="endTimeChange"
- ></el-date-picker> -->
- <span>单据编码:{{good_number}}</span>
-
- </div>
- <div>
- <el-button size="small" type="primary" @click="updateGoodOrder">保存</el-button>
- <el-button size="small" type="primary" @click="toClick" v-show="showThree">生成采购退货单</el-button>
- <el-button size="small" type="primary" v-show="showOne" @click="checkGoodOrder">审核</el-button>
- <el-button size="small" type="primary" v-show="showTwo" @click="MofyGoodOrder">反审核</el-button>
-
-
- </div>
- </div>
-
- <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
- <el-table
- :row-style="{ color: '#303133' }"
- :header-cell-style="{
- backgroundColor: 'rgb(245, 247, 250)',
- color: '#606266'
- }"
- :data="recordInfo.tableList"
- :class="signAndWeighBoxPatients"
- border
- style="width: 100%"
- max-height="450"
- >
- <el-table-column align="center" width="200px">
- <template slot="header" slot-scope="scope">
- <span>商品<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.name'" :rules='tableRules.name'>
- <el-select v-model="scope.row.name" style="width:160px;" filterable placeholder="请选择" @change="changeName" @input="changeGoodName(scope.$index)" :disabled="disabled">
- <el-option
- v-for="(item,index) in tabList"
- :key="index"
- :label="item.supply_name"
- :value="item">
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column align="center" width="150px">
- <template slot="header" slot-scope="scope">
- <span>商品类别</span>
- </template>
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_type" style="width:120px" :disabled="true" placeholder="商品类别"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
- <el-table-column label="规格&单位" align="center" width="150px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_specification_name" style="width:120px" :disabled="true" placeholder="规格&单位"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
- <el-table-column label="单位" align="center" width="120px">
- <template slot="header" slot-scope="scope">
- <span>单位<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.supply_unit'" :rules='tableRules.supply_unit'>
- <el-select v-model="scope.row.supply_unit" style="width:100px;" filterable placeholder="请选择" :disabled="disabled">
- <el-option
- v-for="(item,index) in scope.row.unitList"
- :key="index"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column label="批号" align="center" width="200px">
- <template slot="header" slot-scope="scope">
- <span>批号<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.supply_batch_number'" :rules='tableRules.supply_batch_number'>
- <el-input v-model="scope.row.supply_batch_number" style="width:180px" :disabled="disabled" placeholder="请输入批号"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column label="有效日期" align="center" width="200px">
- <template slot="header" slot-scope="scope">
- <span>有效日期<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.supply_expiry_date'"
- :rules="tableRules.supply_expiry_date">
- <el-date-picker prefix-icon="el-icon-date" style="width:180px" v-model="scope.row.supply_expiry_date"
- type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column label="可用库存" align="center" width="150px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_total" style="width:100px" :disabled="true"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
- <el-table-column label="数量" align="center" width="120px">
- <template slot="header" slot-scope="scope">
- <span>数量<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.supply_count'" :rules='tableRules.supply_count'>
- <el-input v-model="scope.row.supply_count" style="width:80px" :disabled="disabled" placeholder="请输入数量"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
-
- <el-table-column label="采购单价" align="center" width="180px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_price" style="width:140px" :disabled="disabled" placeholder="请输入采购单价"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
-
- <el-table-column label="采购金额" align="center" width="120px">
- <template slot-scope="scope">
- {{calculate(scope.row.supply_count * scope.row.supply_price)}}
- </template>
- </el-table-column>
- <el-table-column label="生产日期" align="center" width="200px">
- <template slot="header" slot-scope="scope">
- <span>生产日期<span style="color: red">*</span></span>
- </template>
- <template slot-scope="scope">
- <el-form-item :prop="'tableList.' + scope.$index + '.supply_product_date'"
- :rules="tableRules.supply_product_date">
- <el-date-picker prefix-icon="el-icon-date" style="width: 180px" v-model="scope.row.supply_product_date"
- type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column label="生产厂家" align="center" width="200px">
- <template slot-scope="scope">
- <el-select size="small" v-model="scope.row.supply_manufacturer" filterable :disabled="true">
- <el-option
- v-for="(option, index) in manufactuerList"
- :key="index"
- :label="option.manufacturer_name"
- :value="option.id">
- </el-option>
- </el-select>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
-
-
- <el-table-column label="批准文号" align="center" width="200px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_license_number" style="width:160px" :disabled="true"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
-
- <el-table-column label="关联采购订单号" align="center" width="200px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.order_number" style="width:160px" :disabled="true"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
-
- <el-table-column label="备注" align="center" width="200px">
- <template slot-scope="scope">
- <el-input v-model="scope.row.supply_remake" style="width:160px" :disabled="disabled" placeholder="请输入备注"></el-input>
- <div style="visibility: hidden">/</div>
- </template>
- </el-table-column>
-
- <el-table-column label="操作" align="center" width="150px" fixed="right" >
- <template slot-scope="scope">
- <el-tooltip class="item" effect="dark" content="新增" placement="top" >
- <el-button
- size="mini"
- type="primary"
- icon="el-icon-circle-plus-outline"
- @click="handleEdit(scope.$index, scope.row)">
- </el-button>
- </el-tooltip>
- <el-tooltip class="item" effect="dark" content="删除" placement="top">
- <el-button
- size="mini"
- type="danger"
- icon="el-icon-delete"
- @click="handleDelete(scope.$index, scope.row)">
- </el-button>
- </el-tooltip>
-
- </template>
- </el-table-column>
- </el-table>
- <div style="margin-top: 10px">
- <el-input
- type="textarea"
- :rows="2"
- placeholder="备注信息"
- v-model="return_remark"
- >
- </el-input>
- </div>
- </el-form>
- <div style="margin-top:10px">
- 合计:{{getAllPrice()}} 元
- </div>
- <div style="margin-top:10px">
- <span>优惠率:<el-input style="width:150px" v-model="rate_of_concession" placeholder="请输入优惠率"></el-input>%</span>
-
- <span>优惠金额:<el-input style="width:150px" v-model="discount_amount" placeholder="请输入优惠金额"></el-input></span>
-
- <span>本次付款:<el-input style="width:150px" v-model="payment" placeholder="请输入本次付款"></el-input></span>
-
- <span>本次欠款:<el-input style="width:150px" v-model="arrearage" placeholder="请输入本次欠款"></el-input></span>
- </div>
- </div>
-
- </div>
- </template>
-
- <script>
- import BreadCrumb from "@/xt_pages/components/bread-crumb";
- import {uParseTime } from '@/utils/tools'
- import {getInitOrder,checkPurchaseOrder,getGoodOrderDetail,updateGoodOrder,getGoodOrderCountList,ModefySupplyWarehousing,MofyGoodOrder,UpdateSupplyWahouseingInfo,getSupplyWarehouseOutById} from "@/api/supply"
- export default {
- name: "addPurchaseOrder",
- components: {
- BreadCrumb
- },
- data() {
- return {
- crumbs: [
- { path: false, name: "采购单" },
- { path: "/supply/good/order/query", name: "编辑采购单" }
- ],
- showOne:true,
- showTwo:false,
- showThree:false,
- recordInfo: {
- tableList:[],
- },
- keywords: "",
- total: 0,
- multipleSelection: [],
- signAndWeighBoxPatients: "sign-and-weigh-box-patients",
- start_time: "",
- end_time: "",
- page: 1,
- limit: 10,
- goodType: [],
- goodInfo: [],
- org_id:0,
- types:[],
- tyep_name:"",
- form:{
- manufacturer_id:"",
- },
- tabList:[],
- manufactuerList:[],
- currentIndex: 0,
- goodTypeList:[],
- drugTypeList:[],
- supplier_name:"",
- supplyList:[],
- rate_of_concession:"",
- discount_amount:"",
- start_time:"",
- end_time:"",
- tableRules: {
- name: [{ required: true, message: '商品不能为空', trigger: 'blur' }],
- supply_count: [{ required: true, message: '数量不能为空', trigger: 'blur' }],
- supply_batch_number:[{required:true,message:"批号不能为空", trigger: 'blur'}],
- supply_product_date:[{required:true,message:"生产日期不能为空", trigger: 'blur'}],
- supply_expiry_date:[{required:true,message:"有效日期不能为空",trigger: 'blur'}]
- },
- warehousing_id:0,
- number:"",
- loading:false,
- drugList:[],
- goodList:[],
- id:0,
- disabled:false,
- is_check:0,
- dialogVisible:false,
- arrearage:"",
- payment:"",
- good_number:"",
- orderInfo:[],
- warese_out_id:0,
- return_remark:"",
- };
- },
- methods:{
-
- getInitOrder(){
- getInitOrder().then(response=>{
- if(response.data.state == 1){
- var drugList = response.data.data.drugList
- this.manufactuerList = response.data.data.manufactuerList
- this.goodTypeList = response.data.data.goodTypeList
- this.drugTypeList = response.data.data.drugTypeList
- this.supplyList = response.data.data.supplyList
- for(let i=0;i<drugList.length;i++){
- for(let z=0;z<drugList[i].drug_warehouse_info.length;z++){
- if(drugList[i].max_unit == drugList[i].drug_warehouse_info[z].max_unit){
- drugList[i].drug_warehouse_info[z].stock_max_number = drugList[i].drug_warehouse_info[z].stock_max_number * drugList[i].min_number
- }
- }
- for(let j=0;j<this.manufactuerList.length;j++){
- if(drugList[i].manufacturer == this.manufactuerList[j].id){
- drugList[i].manufacturer = this.manufactuerList[j].manufacturer_name
- }
- }
- for(let y=0;y<this.drugTypeList.length;y++){
- if(drugList[i].drug_type == this.drugTypeList[y].value){
- drugList[i].drug_type = this.drugTypeList[y].name
- }
- }
- drugList[i].supply_name = drugList[i].drug_name + " " + drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit + " " + drugList[i].manufacturer
- drugList[i].supply_type = drugList[i].drug_type
- drugList[i].supply_specification_name = drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit
- drugList[i].supply_total = this.getWarehoseInfo(drugList[i].drug_warehouse_info,drugList[i].max_unit,drugList[i].min_unit,drugList[i].min_number)
- drugList[i].supply_count = ""
- drugList[i].supply_total_price = ""
- drugList[i].supply_manufacturer= drugList[i].manufacturer
- drugList[i].supply_license_number= drugList[i].number
- drugList[i].supply_remake = ""
- drugList[i].type = 1
- drugList[i].supply_price = drugList[i].last_price
- drugList[i].name = drugList[i].drug_name
- if(drugList[i].max_unit != drugList[i].min_unit){
- drugList[i].unitList = [{id:1,name:""},{id:2,name:""}]
- }
- if(drugList[i].max_unit == drugList[i].min_unit){
- drugList[i].unitList = [{id:1,name:""}]
- }
-
- drugList[i].warehouse_info_id = 0
- drugList[i].warehousing_id= 0
- drugList[i].supply_unit = drugList[i].max_unit
- for(let j=0;j<drugList[i].unitList.length;j++){
- if(drugList[i].max_unit != drugList[i].min_unit){
- drugList[i].unitList[0].name = drugList[i].max_unit
- drugList[i].unitList[1].name = drugList[i].min_unit
- }
- if(drugList[i].max_unit == drugList[i].min_unit){
- drugList[i].unitList[0].name = drugList[i].max_unit
- }
- }
- this.tabList.push(drugList[i])
- }
- this.drugList = drugList
- var goodList = response.data.data.goodList
- for(let i=0;i<goodList.length;i++){
- for(let j=0;j<this.manufactuerList.length;j++){
- if(goodList[i].manufacturer == this.manufactuerList[j].id){
- goodList[i].manufacturer = this.manufactuerList[j].manufacturer_name
- }
- }
- for(let y=0;y<this.goodTypeList.length;y++){
- if(goodList[i].good_type_id == this.goodTypeList[y].id){
- goodList[i].good_type_id = this.goodTypeList[y].type_name
- }
- }
- goodList[i].supply_name = goodList[i].good_name + " " + goodList[i].specification_name + " " +goodList[i].manufacturer
- goodList[i].supply_type = goodList[i].good_type_id
- goodList[i].supply_specification_name =goodList[i].specification_name
- goodList[i].supply_price = goodList[i].buy_price
- goodList[i].supply_total = this.getTotalStockCount(goodList[i].good_warehouse_info)
- goodList[i].supply_count = ""
- goodList[i].supply_total_price = ""
- goodList[i].supply_manufacturer = goodList[i].manufacturer
- goodList[i].supply_license_number = ""
- goodList[i].supply_remake = ""
- goodList[i].type = 2
- goodList[i].name = goodList[i].good_name
- goodList[i].unitList = [{id:1,name:""}]
- goodList[i].supply_unit = goodList[i].packing_unit
- goodList[i].warehouse_info_id = 0
- goodList[i].warehousing_id= 0
- for(let j=0;j<goodList[i].unitList.length;j++){
- goodList[i].unitList[0].name = goodList[i].packing_unit
- }
- this.tabList.push(goodList[i])
- }
- this.goodList = goodList
- }
- })
- },
- changeGoodName(val){
- this.currentIndex = val
- },
- changeName(val){
-
- for(let i=0;i<this.recordInfo.tableList.length;i++){
- if(this.currentIndex == i){
- this.recordInfo.tableList[i].project_id = val.id
- this.recordInfo.tableList[i].type = val.type
- this.recordInfo.tableList[i].name = val.name
- this.recordInfo.tableList[i].supply_name = val.supply_name
- this.recordInfo.tableList[i].supply_type = val.supply_type
- this.recordInfo.tableList[i].supply_specification_name = val.supply_specification_name
- this.recordInfo.tableList[i].supply_total = val.supply_total
-
- if(val.supply_count == NaN){
- this.recordInfo.tableList[i].supply_count = ""
- }else{
- this.recordInfo.tableList[i].supply_count = val.supply_count?val.supply_count:""
- }
-
- this.recordInfo.tableList[i].supply_price = val.supply_price?val.supply_price:""
- this.recordInfo.tableList[i].supply_total_price = (val.supply_count * val.supply_price).toFixed(2)
- this.recordInfo.tableList[i].supply_manufacturer = val.supply_manufacturer
- this.recordInfo.tableList[i].supply_license_number = val.supply_license_number
- this.recordInfo.tableList[i].supply_remake = val.supply_remake
- this.recordInfo.tableList[i].is_total = val.is_total
- this.recordInfo.tableList[i].supply_unit = val.supply_unit
- this.recordInfo.tableList[i].unitList = val.unitList
- this.recordInfo.tableList[i].warehouse_info_id = val.warehouse_info_id
- this.recordInfo.tableList[i].warehousing_id = val.warehousing_id
- }
- }
-
-
- },
- handleEdit(){
- const tempObj = {}
- tempObj["id"] = 0
- tempObj["name"] = ""
- tempObj['supply_name'] = ""
- tempObj['supply_type'] = ""
- tempObj['supply_specification_name'] = ''
- tempObj['supply_total'] = ""
- tempObj['supply_count'] = ""
- tempObj['supply_price'] = ""
- tempObj['supply_total_price'] = ""
- tempObj['supply_manufacturer'] = ''
- tempObj['supply_license_number'] = ''
- tempObj['supply_remake'] = ''
- tempObj['type'] = 0
- tempObj['is_total'] = 1
- tempObj["project_id"] = 0
- tempObj["supply_unit"] = ""
- tempObj["supply_batch_number"] = ""
- tempObj["supply_product_date"] = ""
- tempObj["order_number"] = ""
- tempObj["supply_expiry_date"] = ""
- tempObj["manufacturer_id"] = ""
- tempObj["warehouse_info_id"] = ""
- tempObj["warehousing_id"]= ""
- tempObj["number"] = ""
- tempObj["good_number"] = ""
- this.recordInfo.tableList.push(tempObj)
- },
- handleDelete: function(index, row) {
- if (this.recordInfo.tableList.length <= 1) {
- this.$message.error('只有一条记录的时候无法删除')
- return
- } else {
- this.recordInfo.tableList.splice(index, 1)
- }
- },
-
- getWarehoseInfo(arr,max_unit,min_unit,min_number){
- var total = 0
- var max_str= ""
- var min_str = ""
- if (arr.length > 0) {
- for(let i=0;i<arr.length;i++){
- total += parseInt(arr[i].stock_max_number+arr[i].stock_min_number)
- }
- }
- if (total < min_number){
- min_str = total + min_unit
- }
- if (total == 0) {
- min_str = ""
- max_str = ""
- }
- if (total >=min_number) {
- if(parseInt(total/min_number)!=0){
- max_str = parseInt(total/min_number) + max_unit
- }
- if(total%min_number!=0){
- min_str = total%min_number + min_unit
- }
- }
- return max_str + min_str
- },
- getTotalStockCount(arr){
- var total_count = 0
- for(let i=0;i<arr.length;i++){
- total_count += arr[i].stock_count
- }
- return total_count
- },
- calculate: function(val) {
- if (isNaN(val)) {
- return "";
- }
- if (val == 0) {
- return "";
- }
- return Math.round(parseFloat(val) * 100) / 100;
- },
- getTimes(time) {
- if (time === '') {
- return ''
- }
- return uParseTime(time, '{y}-{m}-{d}')
- },
-
- getAllPrice(){
- var total_price = 0
- for(let i=0;i<this.recordInfo.tableList.length;i++){
- total_price += (this.recordInfo.tableList[i].supply_price * this.recordInfo.tableList[i].supply_count)
- }
- return total_price.toFixed(2)
- },
- checkPurchaseOrder(id,index){
- this.$confirm('是否审核?', {
- confirmButtonText: '确 定',
- cancelButtonText: '取 消',
- type: 'warning'
- }).then(() => {
- checkPurchaseOrder(this.id).then(response => {
- if (response.data.state == 1) {
- var info = response.data.data.info
- this.disabled = true
- this.$message.success("审核成功!")
- this.getPurchaseOrderDetail()
- }
- })
- })
- .catch(() => {
- })
- },
- getGoodOrderDetail(){
-
- var id = this.$route.query.id
- getGoodOrderDetail(id).then(response=>{
- if(response.data.state == 1){
- var out = response.data.data.out
- this.is_check = out.is_check
- if(out.is_check == 1){
- this.showOne = false
- this.showTwo = true
- this.showThree = true
- }
-
- this.id = out.id
- this.supplier_name = out.supplier_id
- this.rate_of_concession = out.rate_of_concession
- this.discount_amount = out.discount_amount
- this.payment = out.payment
- this.arrearage = out.arrearage
- this.number = out.number
- this.good_number = out.good_number
- this.return_remark = out.return_remake
- this.start_time = this.getTimes(out.document_date)
- var orderInfo = response.data.data.list
-
- var drugList = response.data.data.drugList
- var goodList = response.data.data.goodList
- for(let i=0;i< orderInfo.length;i++){
-
- orderInfo[i].supply_count = orderInfo[i].count
- orderInfo[i].supply_price = orderInfo[i].price
- orderInfo[i].supply_remake = orderInfo[i].remark
- orderInfo[i].type = orderInfo[i].is_source
- orderInfo[i].project_id = orderInfo[i].project_id
- orderInfo[i].supply_unit = orderInfo[i].supply_unit
- orderInfo[i].order_number = orderInfo[i].order_number
- orderInfo[i].supply_total_price = (orderInfo[i].count * orderInfo[i].price).toFixed(2)
- orderInfo[i].supply_expiry_date = this.getTimes(orderInfo[i].supply_expiry_date)
- orderInfo[i].supply_product_date = this.getTimes(orderInfo[i].supply_product_date)
- if(orderInfo[i].is_source == 1){
- for(let j=0;j<drugList.length;j++){
- if( orderInfo[i].project_id == drugList[j].id){
- if(drugList[j].max_unit!=drugList[j].min_unit){
- orderInfo[i].unitList = [{id:1,name:""},{id:2,name:""}]
- orderInfo[i].unitList[0].name = drugList[j].max_unit
- orderInfo[i].unitList[1].name = drugList[j].min_unit
- }
- if(drugList[j].max_unit ==drugList[j].min_unit){
- orderInfo[i].unitList = [{id:1,name:""}]
- orderInfo[i].unitList[0].name = drugList[j].max_unit
- }
-
- }
- }
- }
- if(orderInfo[i].is_source == 2){
- for(let j=0;j<goodList.length;j++){
- if(orderInfo[i].project_id == goodList[j].id){
- orderInfo[i].unitList = [{id:1,name:""}]
- orderInfo[i].unitList[0].name = goodList[j].packing_unit
- }
- }
- }
- }
-
- this.recordInfo.tableList= []
- this.recordInfo.tableList = orderInfo
-
- }
- })
- },
- toPrint(){
- var id = this.$route.query.id
- this.$router.push({path:"/purchase/order/print?&id="+id})
- },
- updateGoodOrder(){
-
- if(this.supplier_name == 0 || this.supplier_name == ""){
- this.$message.error("供应商不能为空!")
- this.loading = false
- return false
- }
- for(let i=0;i<this.recordInfo.tableList.length;i++){
-
- this.recordInfo.tableList[i].supply_count = parseInt(this.recordInfo.tableList[i].supply_count)
- this.recordInfo.tableList[i].supply_price = this.recordInfo.tableList[i].supply_price.toString()
- this.recordInfo.tableList[i].supply_total_price= this.recordInfo.tableList[i].supply_total_price.toString()
- this.recordInfo.tableList[i].supply_total = this.recordInfo.tableList[i].supply_total.toString()
-
- for(let j=0;j<this.manufactuerList.length;j++){
- if(this.recordInfo.tableList[i].supply_manufacturer == this.manufactuerList[j].manufacturer_name){
- this.recordInfo.tableList[i].manufacturer_id = this.manufactuerList[j].id
- }
- if(this.recordInfo.tableList[i].supply_manufacturer == this.manufactuerList[j].id){
- this.recordInfo.tableList[i].supply_manufacturer = this.manufactuerList[j].manufacturer_name
- }
-
- }
- }
- var start = this.start_time
- this.$refs["tableForm"].validate((valid)=>{
- if(valid){
- this.loading = true
- var warehose_out_id = this.$route.query.id
- var params = {
- stockIn:this.recordInfo.tableList,
- return_remake:this.return_remark,
- }
- updateGoodOrder(params,this.supplier_name,start,this.arrearage,this.payment,warehose_out_id,this.number,this.rate_of_concession,this.discount_amount,this.good_number).then(response=>{
- if(response.data.state == 1){
- this.loading = false
- this.$message.success("保存成功!")
-
- }
- })
- }
- })
- },
- checkGoodOrder(){
- var id = this.$route.query.id
- var warehousing_id = this.$route.query.warehousing_id
- getGoodOrderCountList(id,warehousing_id).then(response=>{
- if(response.data.state == 1){
- this.$message.success("审核成功!")
- this.showOne = false
- this.showTwo = true
- this.showThree = true
- var purcaseOrder = response.data.data.purcaseOrder
- console.log("采购订单",purcaseOrder)
-
- var goodOrder = response.data.data.goodOrder
- console.log("采购单",goodOrder)
- var drugList = response.data.data.drugList
- console.log("druglist23323223",drugList)
- var is_warehouse = 0
- for(let i=0;i<purcaseOrder.length;i++){
- for(let j=0;j<drugList.length;j++){
- if(purcaseOrder[i].is_source == 1){
- if(purcaseOrder[i].supply_unit == drugList[j].max_unit){
- purcaseOrder[i].count = purcaseOrder[i].count * drugList[j].min_number
- }
- }
- }
- }
-
- for(let i=0;i<goodOrder.length;i++){
- for(let j=0;j<drugList.length;j++){
- if(goodOrder[i].is_source == 1){
- if(goodOrder[i].supply_unit == drugList[j].max_unit){
- goodOrder[i].count = goodOrder[i].count * drugList[j].min_number
- }
- }
- }
- }
-
- let objInfo = {}
- if (goodOrder.length >0){
- goodOrder.forEach((item,index)=>{
- let { project_id } = item
- if(!objInfo[project_id]){
- objInfo[project_id] = {
- project_id,
- child:[],
- count:0,
- }
- }
- })
- let newArr = Object.values(objInfo);
-
- for(let i=0;i<goodOrder.length;i++){
- for(let j=0;j<newArr.length;j++){
- if(goodOrder[i].project_id == newArr[j].project_id){
- newArr[j].child.push(goodOrder[i])
- }
- }
- }
- console.log("newAr2332232323",newArr)
-
- for(let i=0;i<newArr.length;i++){
- for(let j=0;j<newArr[i].child.length;j++){
- newArr[i].count += newArr[i].child[j].count
- }
- }
-
- var arr = []
- var total = 0
- var str = ""
-
- //如果采购单有数据,则需要比较数量
- if(newArr.length > 0){
- for(let i=0;i<purcaseOrder.length;i++){
- for(let j=0;j<newArr.length;j++){
- if(purcaseOrder[i].project_id == newArr[j].project_id){
- //根据商品ID比较数量大小,把数量不足的商品ID储存,表示采购单的数量未满足采购订单的数据,部分入库
- if(purcaseOrder[i].count > newArr[j].count){
- arr.push(purcaseOrder[i].project_id)
- }
- }
- }
- }
- //如果total的长度等于 采购单的长度,怎表示该采购订单已经全部生成,全部入库
-
- if(arr.length == 0){
- is_warehouse = 1
- this.ModefySupplyWarehousing(is_warehouse,warehousing_id)
- }
-
- //部分入库
- if(total!=goodOrder.length){
- //修改订购单
- is_warehouse = 3
- this.ModefySupplyWarehousing(is_warehouse,warehousing_id)
- }
- }
- }
- }
- })
- },
- ModefySupplyWarehousing(is_warehouse,warehousing_id){
- var params = {
- is_warehouse:is_warehouse,
- warehousing_id:warehousing_id,
- }
- ModefySupplyWarehousing(params).then(response=>{
- if(response.data.state == 1){
- var msg = response.data.data.msg
- }
- })
- },
- toClick(){
- //先判断采购单号有没有关联的采购退货单号,如果没有,则为首次生成采购退货单
- if(this.is_check == 2){
- this.$message.error("该采购单未审核,不能生成退货单数据!")
- return false
- }
- var id = this.$route.query.id
- getSupplyWarehouseOutById(id).then(response=>{
- if(response.data.state == 1){
- var cancelList = response.data.data.cancelList
- console.log("cancelList23232232323323223",cancelList)
- if(cancelList.length >0){
-
- }
- var outList = response.data.data.outList
- console.log("outList2332232332",outList)
- var cancelOrderList = response.data.data.cancelOrderList
- console.log("cancelOrderList2323322322332",cancelOrderList)
- var drugList = response.data.data.drugList
- console.log("drugList233223232323232",drugList)
- }
- })
- this.$router.push({path:"/good/return/add?id="+this.id})
- },
- //反审核
- MofyGoodOrder(){
- var id = this.$route.query.id
- var warehousing_id = this.$route.query.warehousing_id
- var params = {
- id:id,
- warehousing_id:warehousing_id,
- }
- MofyGoodOrder(params).then(response=>{
- if(response.data.state == 1){
- var msg = response.data.data.msg
- if(msg == 1){
- this.$message.success("反审核成功!")
- }
- if(msg == 2){
- this.$message.error("该单有自动出库或生成了退货单,反审核失败!")
-
- }
-
- var purcaseOrder = response.data.data.purcaseOrder
- console.log("采购订单",purcaseOrder)
-
- var goodOrder = response.data.data.goodOrder
- console.log("采购单",goodOrder)
- var drugList = response.data.data.drugList
- console.log("druglist23323223",drugList)
- var ids =""
- // 如果采购单没有数据,则代表改订单第一次生成采购订单数据
- if(goodOrder.length == 0){
- this.$router.push({path:"/good/order/add?id="+id+"&ids="+ids})
- }
- for(let i=0;i<purcaseOrder.length;i++){
- for(let j=0;j<drugList.length;j++){
- if(purcaseOrder[i].is_source == 1){
- if(purcaseOrder[i].supply_unit == drugList[j].max_unit){
- purcaseOrder[i].count = purcaseOrder[i].count * drugList[j].min_number
- }
- }
- }
- }
-
- for(let i=0;i<goodOrder.length;i++){
- for(let j=0;j<drugList.length;j++){
- if(goodOrder[i].is_source == 1){
- if(goodOrder[i].supply_unit == drugList[j].max_unit){
- goodOrder[i].count = goodOrder[i].count * drugList[j].min_number
- }
- }
- }
- }
-
- let objInfo = {}
- if (goodOrder.length >0){
- goodOrder.forEach((item,index)=>{
- let { project_id } = item
- if(!objInfo[project_id]){
- objInfo[project_id] = {
- project_id,
- child:[],
- count:0,
- }
- }
- })
- let newArr = Object.values(objInfo);
-
- for(let i=0;i<goodOrder.length;i++){
- for(let j=0;j<newArr.length;j++){
- if(goodOrder[i].project_id == newArr[j].project_id){
- newArr[j].child.push(goodOrder[i])
- }
- }
- }
- console.log("newAr2332232323",newArr)
-
- for(let i=0;i<newArr.length;i++){
- for(let j=0;j<newArr[i].child.length;j++){
- newArr[i].count += newArr[i].child[j].count
- }
- }
-
- var arr = []
- var total = 0
- var str = ""
-
- //如果采购单有数据,则需要比较数量
- if(newArr.length > 0){
- for(let i=0;i<purcaseOrder.length;i++){
- for(let j=0;j<newArr.length;j++){
- if(purcaseOrder[i].project_id == newArr[j].project_id){
- //根据商品ID比较数量大小,如果采购单的数量大于采购订单的数据
- if(purcaseOrder[i].count < newArr[j].count){
- arr.push(purcaseOrder[i].project_id)
- }
-
- }
- }
- }
- //如果total的长度等于0,怎修改该订单的状态为全部入库
-
- if(arr.length > 0){
- //修改采购订单的状态为全部入库
- this.UpdateSupplyWahouseingInfo()
- }
- }
- }
-
- }
- })
- },
- UpdateSupplyWahouseingInfo(){
- var params = {
- warehousing_id:this.$route.query.warehousing_id,
- }
- UpdateSupplyWahouseingInfo(params).then(response =>{
- if(response.data.state == 1){
- var msg = response.data.data.msg
- }
- })
- }
- },
- created(){
- const tempObj = {}
- tempObj["id"] = 0
- tempObj["name"] = ""
- tempObj['supply_name'] = ""
- tempObj['supply_type'] = ""
- tempObj['supply_specification_name'] = ''
- tempObj['supply_total'] = ""
- tempObj['supply_count'] = ""
- tempObj['supply_price'] = ""
- tempObj['supply_total_price'] = ""
- tempObj['supply_manufacturer'] = ''
- tempObj['supply_license_number'] = ''
- tempObj['supply_remake'] = ''
- tempObj['type'] = 0
- tempObj['is_total'] = 1
- tempObj["project_id"] = 0
- tempObj["supply_unit"] = ""
- tempObj["supply_batch_number"] = ""
- tempObj["supply_product_date"] = ""
- tempObj["order_number"] = ""
- tempObj["supply_expiry_date"] = ""
- tempObj["manufacturer_id"] = ""
- tempObj["warehouse_info_id"] = ""
- tempObj["warehousing_id"]= ""
- tempObj["number"] = ""
- tempObj["good_number"] = ""
- this.recordInfo.tableList.push(tempObj)
- this.getInitOrder()
- if(parseInt(this.$route.query.id) > 0){
- this.getGoodOrderDetail()
- }
- this.start_time = this.getTimes(new Date())
- this.end_time = this.getTimes(new Date())
- }
- };
- </script>
-
- <style rel="stylesheet/css" lang="scss" scoped>
- .information {
- border: 1px #dcdfe6 solid;
- padding: 30px 20px 30px 20px;
-
- .border {
- border-bottom: 1px #dcdfe6 solid;
- margin: 0px 0 20px 0;
- }
- }
-
- .title {
- background: #409eff;
- height: 44px;
- line-height: 44px;
- padding: 0 0 0 10px;
- color: #fff;
- margin: 0 0 10px 0;
- }
-
- .edit_separater {
- border-top: 1px solid rgb(233, 233, 233);
- margin-top: 15px;
- margin-bottom: 15px;
- }
- </style>
-
- <style>
- .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
- font-size: 12px;
- }
-
- .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
- background: #6fb5fa;
- }
-
- .count {
- color: #bd2c00;
- }
- .el-table td,
- .el-table th.is-leaf,
- .el-table--border,
- .el-table--group {
- border-color: #d0d3da;
- }
- .el-table--border::after,
- .el-table--group::after,
- .el-table::before {
- background-color: #d0d3da;
- }
- .el-table__fixed-right{
- width:150px;
- bottom: 20px;
- height: 100%;
- }
- </style>
|