12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544 |
- <template>
- <div class="app-container">
- <div v-if="MainTable == false">
- <MainForm
- ref="MainForm"
- :searchdata="formOption"
- :display="display"
- :form="queryParms"
- :show="show"
- :inDex="inDex"
- />
- <listComponent
- style="clear:both"
- v-if="waitFor"
- :tableData="tableData"
- @selectionbox="selectionbox"
- @see="viewMethod"
- @modify="modification"
- @deletion="deletion"
- @buttonList="buttonList"
- @showSearch="showSearch"
- @getList="getList"
- @feedback="feedback"
- :customButton="customButton"
- :arrow="arrow"
- :hasPermi="hasPermi"
- :tatolLabel="mainTatol"
- :seachButton="seachButton"
- :setRowList="setRowList"
- :listStyle="listStyle"
- :isItHidden="isItHidden"
- :queryList="queryList"/>
- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="queryParms.pageNum"
- :limit.sync="queryParms.pageSize"
- @pagination="getList"
- />
- </div>
- <div v-if="MainTable == true">
- <el-breadcrumb separator="/" style="display:flex;align-items: center;margin-bottom: 10px">
- <el-breadcrumb-item>仓库入库</el-breadcrumb-item>
- <el-breadcrumb-item>仓库入库详情页</el-breadcrumb-item>
- <el-breadcrumb-item>
- <el-button plain size="mini" type="danger" icon="el-icon-arrow-left" @click="backRules">
- 返回列表
- </el-button>
- </el-breadcrumb-item>
- </el-breadcrumb>
- <h1 style="text-align: center;margin-top: -42px">仓库入库</h1>
- <MainForm
- ref="detailForm"
- :searchdata="detailOption"
- :display="display"
- :form="detailForm"
- :show="show = true"
- :inDex="inDex"
- @backRules="backRules"
- @backSave="backSave"
- @verificationRules="verificationRules"
- @changeWarehouse="changeWarehouse"
- />
- <list-component
- v-if="waitFor"
- :tableData="detailData"
- @selectionbox="selectionbox"
- @see="viewMethod"
- @modify="modification"
- @deletion="deletion"
- @buttonList="buttonList"
- @showSearch="showSearch"
- @getList="getList"
- @deletRows="deletRows"
- @feedback="feedback"
- @totalAmount="totalAmount"
- @change="change"
- :seachButton="confirmButton"
- :customButton="detailButton"
- :listStyle="detailStyle"
- :hasPermi="hasPermi"
- :setRowList="setRowList"
- :tatolLabel="tatolLabel"
- :listData="listData"
- :queryList="detailList"/>
- </div>
- <el-dialog
- title="打印入库"
- :visible.sync="dialogVisible"
- :fullscreen="true"
- style="padding: 0;margin:0"
- width="70%">
- <div ref="print">
- <table class="table table-striped table-bordered" align="center" valign="center" style="font-size: 12px;border-collapse: collapse; border: none;margin-top: 10px;" >
- <tr>
- <td style="font-size: 24px;font-weight:bold" class="column" colspan="15" align="center">入库明细</td>
- </tr>
- <tr>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">入库时间</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">产品名称</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">规格</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">数量</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">供货商</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">供货人</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">联系电话</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">生产日期或批号</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">保质期限</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">保存条件</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">索证索票情况</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">采购人</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" colspan="2">检验结果</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" rowspan="2">验收人</td>
- </tr>
- <tr>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >感官</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >数量</td>
- </tr>
- <tr v-for="(item,index) in this.detailData" :key="index">
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{detailForm.fBsdate}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.feeName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fFeeunitid}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fQty}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{detailForm.corpName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fAmount}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fStltypeid}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.tProductdate}}/{{item.fLotno}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fValidName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fStoreEnvName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{item.fIsfillesName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" >{{detailForm.fpurchaseName}}</td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" ></td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" ></td>
- <td class="column" style="border: 1px solid #000; padding:10px" align="center" ></td>
- </tr>
- </table>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">取 消</el-button>
- <el-button type="primary" @click="Printing">打印</el-button>
- </span>
- </el-dialog>
- </div>
- </template>
- <script>
- import { select } from '@/api/system/set'
- import MainForm from '@/combination/MainForm'
- import { listInStock, addSave, getSave, getArea,
- getustomer,getEntry, getwarehouse, getGoodName,
- canBedelet, delRows, getWarehousekeeper, addWarehous,
- deletMain, delFee, copyNew, listQuery} from '@/api/warehouse/inStock'
- import Cookies from 'js-cookie'
- import { getliable } from '@/api/project'
- export default {
- name: 'inStock',
- data(){
- return{
- copyeId:'',
- hasPermi:{
- lookup:['anpin:stockControl:query'],
- disappear:['anpin:stockControl:remove']
- },
- formList:{},
- dialogVisible: false,
- mainTatol:['金额'],
- ids:[],
- listData:{
- fFeeid:[],
- fFeeunitid:[],
- fStltypeid:[],
- fWarehouseid:[],
- fUnits:[],
- fStoreEnv:[],
- fIsfilles:[],
- },
- selection:[],
- isItHidden:true,
- // 非单个禁用
- single: true,
- // 总条数
- total: 0,
- inDex:4,
- tatolLabel:['单价','数量','金额'],
- MainTable:false,
- show: false,
- arrow:'el-icon-arrow-up',
- queryList:{
- tableName:'入库主表',
- columnList:[]
- },
- detailList:{
- tableName:'仓库入库详情',
- columnList:[]
- },
- //判断自定义列是否有值再渲染组件
- waitFor:false,
- display:3,
- queryParms:{
- pageNum: 1,
- pageSize: 10,
- fBilltype:'RK'
- },
- detailForm:{
- },
- setRowList:[],
- //主页面默认显示4个表单数据
- formOption:[
- {
- span:6,
- label: 'fBillno',
- name:"系统编号",
- form:2,
- width:200,
- labelSize:'80',
- rules: { required:false }
- },
- {
- span:6,
- label: 'fWarehouseid',
- name:"仓库",
- form:1,
- width:200,
- labelSize:'80',
- rules: { required:false },
- data:[]
- },
- {
- span:6,
- label: 'fCorpid',
- name:"供应商",
- form:1,
- width:200,
- labelSize:'80',
- rules: { required:false },
- data:[]
- },
- {
- span:6,
- label: 'timeInterval',
- name:"入库日期",
- form:6,
- width:250,
- labelSize:'80',
- rules: { required:false },
- },
- {
- span:6,
- label: 'cLoadDate',
- name:"申请日期",
- form:6,
- width:200,
- labelSize:'80',
- rules: { required:false }
- },
- {
- span:6,
- label: 'moneys',
- name:"金额范围",
- form:5,
- width:200,
- labelSize:'80',
- rules: { required:false }
- },
- {
- span:6,
- label: 'createBy',
- name:"申请人",
- form:2,
- width:200,
- labelSize:'80',
- rules: { required:false }
- },
- {
- span:6,
- label: 'fGoodsid',
- name:"项目名称",
- form:1,
- width:200,
- labelSize:'80',
- rules: { required:false },
- data:[]
- },
- {
- span:6,
- label: 'remark',
- name:"备注",
- form:2,
- width:200,
- labelSize:'80',
- rules: { required:false }
- },
- ],
- //表名称
- tableData:[],
- //从表表名
- detailData:[],
- //传输表
- mainStyle:[],
- //表数据
- listStyle: [
- {
- surface: "1",
- label: "serialNumber",
- name: "序号",
- checked: 0,
- width: 100,
- onabort:''
- },{
- surface: "2",
- label: "fBillno",
- name: "申请编号",
- checked: 0,
- width: 100,
- }, {
- surface: "3",
- label: "fWarehouseName",
- name: "仓库",
- checked: 0,
- width: 200,
- operation:1
- },
- {
- surface: "4",
- label: "corpName",
- name: "供应商",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "5",
- label: "fMoney",
- name: "金额",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "6",
- label: "createTime",
- name: "申请日期",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "7",
- label: "fBsdate",
- name: "入库日期",
- checked: 0,
- width: 200,
- operation:1
- },
- {
- surface: "8",
- label: "createBy",
- name: "申请人",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "9",
- label: "fBillstatusName",
- name: "状态",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "10",
- label: "fReviewDate",
- name: "审核日期",
- checked: 0,
- width: 200,
- operation:1,
- },
- {
- surface: "11",
- label: "projectName",
- name: "项目名称",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "12",
- label: "remark",
- name: "备注",
- checked: 0,
- width: 200,
- operation:1
- },{
- surface: "13",
- label: "fMaterial2",
- name: "操作",
- checked: 0,
- width: 200,
- operation:1,
- fixed:'right'
- }
- ],
- //从表数据
- detailStyle: [
- {
- surface: "1",
- label: "serialNumber",
- name: "序号",
- checked: 0,
- width: 100,
- onabort:''
- },{
- surface: "2",
- label: "fFeeid",
- name: "品名",
- checked: 0,
- width: 200,
- changeable:1,
- data:[],
- },
- {
- surface: "3",
- label: "fCurrencyName",
- name: "规格",
- checked: 0,
- width: 100,
- },
- {
- surface: "4",
- label: "fUnitprice",
- name: "单价",
- checked: 0,
- width: 100,
- operation:2,
- changeable:2,
- disabled:false,
- onabort:'this.value=this.value.replace(/[^\\d^\\.]+/g,\'\')'
- },{
- surface: "5",
- label: "fQty",
- name: "数量",
- checked: 0,
- width: 100,
- operation:2,
- changeable:2,
- disabled:false,
- onabort:'this.value=this.value.replace(/[^\\d^\\.]+/g,\'\')'
- },{
- surface: "6",
- label: "fFeeunitid",
- name: "计量单位",
- checked: 0,
- width: 100,
- changeable:1,
- operation:2,
- data:[],
- disabled:false
- },{
- surface: "7",
- label: "fWarehouseid",
- name: "库区",
- checked: 0,
- width: 100,
- operation:2,
- changeable:1,
- data:[],
- disabled:false
- },{
- surface: "8",
- label: "fAmount",
- name: "金额",
- checked: 0,
- width: 100,
- operation:2,
- },{
- surface: "9",
- label: "fStltypeid",
- name: "付费方式",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 1,
- data:[],
- disabled:false
- },
- {
- surface: "10",
- label: "tProductdate",
- name: "生产日期",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 3,
- data:[],
- disabled:false
- },{
- surface: "11",
- label: "fLotno",
- name: "批号",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 2,
- data:[],
- disabled:false
- },
- {
- surface: "12",
- label: "fValid",
- name: "保质期限",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 2,
- data:[],
- disabled:false,
- onabort:'this.value=this.value.replace(/[^\\d^\\.]+/g,\'\')'
- },
- {
- surface: "13",
- label: "fUnits",
- name: "单位",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 1,
- data:[],
- disabled:false
- },
- {
- surface: "14",
- label: "fStoreEnv",
- name: "存储环境",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 1,
- data:[],
- disabled:false
- },
- {
- surface: "15",
- label: "fIsfilles",
- name: "索证索票",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 1,
- disabled:false
- },
- {
- surface: "16",
- label: "remark",
- name: "备注",
- checked: 0,
- width: 100,
- operation:2,
- changeable: 2,
- disabled:false
- },{
- surface: "17",
- label: "fReviewDate",
- name: "审核日期",
- checked: 0,
- width: 100,
- operation:2,
- },
- {
- surface: "18",
- label: "createBy",
- name: "申请人",
- checked: 0,
- width: 100,
- operation:2,
- },{
- surface: "19",
- label: "fMaterial10",
- name: "操作",
- checked: 0,
- width: 100,
- operation:2,
- disabled:false
- }
- ],
- //详情主表
- detailOption:[
- {
- index:'1',
- span:6,
- label: 'fBillno',
- name:"系统编号",
- form:2,
- width:200,
- labelSize:'80',
- rules:'',
- disabled:true,
- doNot:'1'
- },
- {
- index:'2',
- span:6,
- label: 'fCorpid',
- name:"供应商",
- form:1,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- data:[],
- disabled:false
- },
- {
- index:'3',
- span:6,
- label: 'fStorekeeper',
- name:"库管员",
- form:1,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- data:[],
- disabled:false
- },
- {
- index:'4',
- span:6,
- label: 'fPurchase',
- name:"采购人",
- form:1,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- data:[],
- disabled:false
- },
- {
- index:'5',
- span:6,
- label: 'fWarehouseid',
- name:"仓库",
- form:1,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- data:[],
- disabled:false
- }, {
- index:'6',
- span:6,
- label: 'fSbu',
- name:"开票公司",
- form:1,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- data:[],
- disabled:false
- },
- {
- index:'7',
- span:6,
- label: 'fBsdate',
- name:"入库日期",
- form:3,
- width:200,
- labelSize:'80',
- rules:{ required: true, message: ' ', trigger: 'blur' },
- disabled:false
- },
- {
- index:'8',
- span:6,
- label: 'remark',
- name:"备注",
- form:4,
- width:200,
- labelSize:'80',
- rules:'',
- disabled:false
- },
- ],
- //按钮
- customButton:[
- {
- type:'primary',
- size:'mini',
- icon:'el-icon-plus',
- name:'新单',
- disabled:false,
- hasPermi:['anpin:stockControl:anPingApply']
- },{
- type:'success',
- size:'mini',
- icon:'el-icon-edit',
- name:'修改',
- res:0,
- disabled:true,
- hasPermi:['anpin:stockControl:anPingApply']
- },{
- type:'info',
- size:'mini',
- icon:'el-icon-plus',
- name:'复制新增',
- disabled:true,
- hasPermi:['anpin:stockControl:generateReceipts']
- },
- ],
- seachButton:[
- {
- type:'',
- size:'mini',
- icon:'el-icon-search',
- name:'搜索',
- disabled:false,
- },{
- type:'',
- size:'mini',
- icon:'el-icon-refresh',
- name:'重置',
- disabled:false,
- },{
- type:'',
- size:'mini',
- icon:'el-icon-arrow-up',
- name:'展开',
- disabled:false
- }
- ],
- detailButton:[
- // {
- // type:'danger',
- // size:'mini',
- // icon:'el-icon-refresh-left',
- // name:'返回列表',
- // disabled:false,
- // },
- {
- type:'primary',
- size:'mini',
- icon:'el-icon-edit',
- name:'录入明细',
- disabled:false,
- },
- {
- type:'success',
- size:'mini',
- icon:'el-icon-check',
- name:'保存',
- disabled:false
- },
- {
- type:'primary',
- size:'mini',
- icon:'el-icon-edit',
- name:'新单',
- plain: true,
- disabled:false,
- },
- {
- type:'primary',
- size:'mini',
- icon:'el-icon-edit',
- name:'复制新单',
- copyeRow:true,
- plain: true,
- disabled:false,
- },{
- type:'info',
- size:'mini',
- icon:'el-icon-edit',
- name:'修改',
- disabled:false,
- res:1
- },{
- type:'info',
- size:'mini',
- icon:'el-icon-edit',
- name:'打印',
- disabled:false,
- res:1
- },{
- type:'info',
- size:'mini',
- icon:'el-icon-edit',
- name:'入库确认',
- disabled:false,
- res:1
- },
- {
- type:'warning',
- size:'mini',
- icon:'el-icon-refresh',
- name:'刷新',
- disabled:false,
- res:1
- }
- ],
- confirmButton:[
- {
- type:'cyan',
- size:'mini',
- icon:'',
- name:'打印',
- disabled:false,
- },{
- type:'info',
- size:'mini',
- icon:'',
- name:'入库确认',
- disabled:false
- }
- ]
- }
- },
- activated(){
- console.log(this.$route.query.open)
- if (this.$route.query.open === 'true'){
- this.detailList.columnList = this.detailStyle
- this.detailForm = {}
- this.detailData = []
- this.inDex = this.detailOption.length
- //从表修改按钮
- for(let li in this.detailStyle){
- if(!this.detailStyle[li].doNot){
- this.detailStyle[li].disabled = false
- }
- }
- for(let item in this.detailOption){
- if(!this.detailOption[item].doNot){
- this.detailOption[item].disabled = false
- }
- }
- for(let li in this.detailButton){
- this.detailButton[li].disabled = false
- }
- this.MainTable = true
- this.$router.push({ query: {} })
- }
- },
- created() {
- let data = {
- tableName: this.queryList.tableName,
- userId: Cookies.get("userName"),
- };
- this.getRow(data)
- let list = {
- fBilltype:'RK'
- }
- this.query(list)
- this.getRow()
- this.getList()
- this.selectMethods()
- },
- methods:{
- //返回列表
- goBack(){
- },
- change(scope){
- for(let item in this.detailData){
- for(let li in this.listData.fFeeid){
- if(this.detailData[item].fFeeid == this.listData.fFeeid[li].value){
- this.$set(this.detailData[item],'fFeeunitid',JSON.stringify(this.listData.fFeeid[li].fFeeunitid))
- this.$set(this.detailData[item],'fCurrencyName',this.listData.fFeeid[li].fCurrency)
- }
- }
- }
- },
- //确认打印
- Printing(){
- this.$print(this.$refs.print)
- },
- //查询主页列数据
- query(data){
- listQuery(data).then(res =>{
- this.tableData = res.rows
- })
- },
- //更换仓库
- changeWarehouse(){
- if(this.detailData.length != 0){
- for(let li in this.detailData){
- this.detailData[li].fWarehouseid = ''
- }
- }
- getArea(this.detailForm.fWarehouseid).then(res=>{
- this.listData.fWarehouseid = []
- for(let item in res.data){
- this.listData.fWarehouseid.push({
- label:res.data[item].fWarehouseInformation,
- value:res.data[item].id
- })
- }
- })
- },
- //自动合计金额
- totalAmount(){
- for(let li in this.detailData){
- if(this.detailData[li].fUnitprice && this.detailData[li].fQty){
- this.detailData[li].fAmount = (this.detailData[li].fUnitprice * this.detailData[li].fQty).toFixed(2)
- }
- }
- },
- //搜索、重置、展开
- feedback(res){
- if (res == '展开'){
- if (this.inDex == 4){
- this.inDex = this.formOption.length
- }else {
- this.inDex = 4
- }
- }else if (res == '搜索'){
- this.handleQuery()
- }else if (res == '重置'){
- this.resetQuery()
- }
- },
- selectMethods(){
- this.mainMethods()
- this.detailMethods()
- },
- //主页面下拉获取名称
- mainMethods(){
- for(let li in this.formOption){
- if(this.formOption[li].name == '仓库'){
- let queryParams = { pageNum: 1,}
- getwarehouse(queryParams).then(res=>{
- for(let item in res.rows){
- this.formOption[li].data.push({
- label:res.rows[item].fName,
- value:res.rows[item].fId
- })
- }
- })
- }
- else
- if(this.formOption[li].name == '供应商'){
- let queryParams = { pageNum: 1, fTypeid: 1}
- getustomer(queryParams).then(res => {
- for(let item in res.data){
- this.formOption[li].data.push({
- label:res.data[item].fName,
- value:res.data[item].fId
- })
- }
- })
- }
- }
- },
- //弹窗页获取下拉名称
- detailMethods(){
- for(let li in this.detailOption){
- if(this.detailOption[li].name == '仓库'){
- //获取仓库
- let queryParams = { pageNum: 1 }
- getwarehouse(queryParams).then(res=>{
- for(let item in res.rows){
- this.detailOption[li].data.push({
- label:res.rows[item].fName,
- value:res.rows[item].fId
- })
- }
- })
- }
- if(this.detailOption[li].name == '供应商'){
- //获取供应商
- let queryParams = { pageNum: 1, fTypeid: 1}
- getustomer(queryParams).then(res => {
- for(let item in res.data){
- this.detailOption[li].data.push({
- label:res.data[item].fName,
- value:res.data[item].fId
- })
- }
- })
- }
- if(this.detailOption[li].name == '开票公司'){
- //获取付款单位
- let queryParams = { pageNum: 1, fTypeid: 2}
- getustomer(queryParams).then(res => {
- for(let item in res.data){
- this.detailOption[li].data.push({
- label:res.data[item].fName,
- value:res.data[item].fId
- })
- }
- })
- }
- if(this.detailOption[li].name == '库管员'){
- let queryParams = { pageNum: 1,roleName:'库管'}
- getWarehousekeeper(queryParams).then(res=>{
- for(let item in res.rows){
- this.detailOption[li].data.push({
- label:res.rows[item].userName,
- value:res.rows[item].userId
- })
- }
- })
- }
- if(this.detailOption[li].name == '采购人'){
- getliable().then((res) => {
- for(let item in res.rows){
- this.detailOption[li].data.push({
- label:res.rows[item].userName,
- value:res.rows[item].userId
- })
- }
- })
- }
- }
- //获取计量单位字典表
- this.getDicts('data_unitfees').then((response) => {
- if (response.data) {
- for (let item in response.data) {
- this.listData.fFeeunitid.push({
- label: response.data[item].dictLabel,
- value: response.data[item].dictValue
- })
- }
- }
- })
- //获取浮点单位字典表
- this.getDicts('f_floatunit').then((response) => {
- if (response.data) {
- for (let item in response.data) {
- this.listData.fUnits.push({
- label: response.data[item].dictLabel,
- value: JSON.parse(response.data[item].dictValue)
- })
- }
- }
- })
- //获取存储环境字典表
- this.getDicts('f_StorageEnvironment').then((response) => {
- if (response.data) {
- for (let item in response.data) {
- this.listData.fStoreEnv.push({
- label: response.data[item].dictLabel,
- value: JSON.parse(response.data[item].dictValue)
- })
- }
- }
- })
- this.getDicts('f_evidence').then((response) => {
- if (response.data) {
- for (let item in response.data) {
- this.listData.fIsfilles.push({
- label: response.data[item].dictLabel,
- value: JSON.parse(response.data[item].dictValue)
- })
- }
- }
- })
- //获取品名
- let queryParams = { pageNum: 1 }
- getGoodName(queryParams).then(res=>{
- for(let item in res.rows){
- this.listData.fFeeid.push({
- label:res.rows[item].fName,
- value:res.rows[item].fId,
- fFeeunitid: res.rows[item].fFeeunitid,
- fCurrency: res.rows[item].fCurrency
- })
- }
- })
- //付费方式
- this.getDicts('f_paymode').then((response) => {
- if (response.data) {
- for (let item in response.data) {
- this.listData.fStltypeid.push({
- label: response.data[item].dictLabel,
- value: response.data[item].dictValue
- })
- }
- }
- })
- },
- handleQuery(){
- this.$refs.MainForm.hide()
- this.getList();
- },
- resetQuery(){
- this.queryParms = {}
- this.getList();
- },
- //查询列数据
- getRow() {
- let data = {
- tableName: this.queryList.tableName,
- userId: Cookies.get("userName"),
- };
- select(data).then((res) => {
- if (data.tableName === '仓库入库详情') {
- if (res.data.length != 0) {
- this.detailList.columnList = res.data.filter((e) => e.checked == 0);
- this.detailList.columnList = res.data;
- this.setRowList = res.data
- this.detailList.columnList = this.detailList.columnList.filter((e) => e.checked == 0);
- // this.waitFor = true
- }else {
- // this.waitFor = true
- this.$set(this.detailList,'columnList',this.$options.data().detailStyle)
- this.setRowList = this.$options.data().detailStyle
- }
- this.isItHidden = false
- this.inDex = this.detailOption.length
- }else {
- if (res.data.length != 0) {
- this.queryList.columnList = res.data.filter((e) => e.checked == 0);
- this.queryList.columnList = res.data;
- this.setRowList = res.data
- this.queryList.columnList = this.queryList.columnList.filter((e) => e.checked == 0);
- this.waitFor = true
- }else {
- this.waitFor = true
- this.$set(this.queryList,'columnList',this.$options.data().listStyle)
- this.setRowList = this.$options.data().listStyle
- }
- this.isItHidden = true
- this.inDex = 4
- }
- });
- },
- //选择框
- selectionbox(selection){
- this.selection = selection
- this.ids = selection.map((item) => item.fId)
- this.single = selection.length !== 1
- for(let li in this.customButton){
- if(this.customButton[li].name == '修改' || this.customButton[li].name == '复制新增'){
- this.customButton[li].disabled = this.single
- }
- }
- },
- //查看
- viewMethod(scope,res){
- this.detailList.columnList = this.detailStyle
- let fId = ''
- if(scope){
- fId = scope.row.fId
- }else if(res){
- fId = this.copyeId
- } else{
- fId = this.ids
- }
- getSave(fId).then(res=>{
- if(res.code == 200){
- if(res.data.warehouseBills){
- this.detailForm = res.data.warehouseBills
- this.$set(this.detailForm,'fStorekeeper',JSON.parse(this.detailForm.fStorekeeper))
- }
- if(res.data.tWarehousebillsfees){
- this.detailData = res.data.tWarehousebillsfees
- for(let li in this.detailData){
- this.$set(this.detailData[li],'fFeeunitid',JSON.stringify(this.detailData[li].fFeeunitid))
- this.$set(this.detailData[li],'fStltypeid',JSON.stringify(this.detailData[li].fStltypeid))
- }
- }
- }
- for(let li in this.detailStyle){
- this.detailStyle[li].disabled = true
- }
- for(let item in this.detailOption){
- this.detailOption[item].disabled = true
- }
- for(let li in this.detailButton){
- if(this.detailForm.fBillstatus == '6'){
- if(this.detailButton[li].name == '录入明细' || this.detailButton[li].name == '保存' ||
- this.detailButton[li].name == '入库确认' || this.detailButton[li].name == '刷新' || this.detailButton[li].name == '修改'){
- this.detailButton[li].disabled = true
- }else{
- this.detailButton[li].disabled = false
- }
- } else {
- if(this.detailButton[li].name == '录入明细' || this.detailButton[li].name == '保存' ||
- this.detailButton[li].name == '入库确认' || this.detailButton[li].name == '刷新'){
- this.detailButton[li].disabled = true
- }else{
- this.detailButton[li].disabled = false
- }
- }
- }
- getArea(this.detailForm.fWarehouseid).then(res=>{
- if(res.code == 200){
- this.listData.fWarehouseid = []
- for(let item in res.data){
- this.listData.fWarehouseid.push({
- label:res.data[item].fWarehouseInformation,
- value:res.data[item].id
- })
- }
- }
- })
- this.MainTable = true
- this.inDex = this.detailOption.length
- })
- },
- //修改
- modification(scope){
- },
- //删除
- deletion(scope){
- const fIds = scope.row.fId || this.ids;
- let tips = "";
- deletMain(fIds).then(res=>{
- switch (res.msg) {
- case "0": {
- this.$message.error("当前数据已被其他操作员操作,请刷新页面");
- break;
- }
- case "1": {
- tips = "当前主表有数据,确认是否删除?";
- this.delete_s(fIds, tips);
- break;
- }
- case "2": {
- tips = "当前主表有数据,从表有数据,确认是否删除?";
- this.delete_s(fIds, tips);
- break;
- }
- default: {
- return this.$message.error("未知错误,无状态");
- }
- }
- })
- },
- delete_s(fIds, tips) {
- this.$confirm(tips, "警告", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(function () {
- return delFee(fIds);
- })
- .then(() => {
- this.getList();
- this.msgSuccess("删除成功");
- });
- },
- //删除从表行
- deletRows(index,rows){
- if(rows[index].fId){
- let formData = {
- fId:this.detailForm.fId,
- fDateChanged:this.detailForm.fDateChanged
- }
- canBedelet(formData).then(res=>{
- return delRows(rows[index].fId)
- })
- .then(()=>{
- getSave(this.detailForm.fId).then(res=>{
- if(res.code == 200){
- if(res.data.warehouseBills){
- this.detailForm = res.data.warehouseBills
- this.$set(this.detailForm,'fStorekeeper',JSON.parse(this.detailForm.fStorekeeper))
- }
- if(res.data.tWarehousebillsfees){
- this.detailData = res.data.tWarehousebillsfees
- for(let li in this.detailData){
- this.$set(this.detailData[li],'fFeeunitid',JSON.stringify(this.detailData[li].fFeeunitid))
- this.$set(this.detailData[li],'fStltypeid',JSON.stringify(this.detailData[li].fStltypeid))
- }
- }
- this.msgSuccess("删除成功");
- }
- })
- })
- .catch(res=>{
- this.$message.error(res)
- })
- }else {
- rows.splice(index, 1)
- }
- },
- //必填项新行
- verificationRules(valid){
- if(valid){
- this.detailData.push({
- serialNumber:null,
- fFeeid:null,
- fUnitprice:null,
- fQty:null,
- fFeeunitid:null,
- fWarehouseid:null,
- fAmount:null,
- fStltypeid:'1',
- tProductdate:null,
- fLotno:null,
- fValid:null,
- fUnits:null,
- fStoreEnv:null,
- fIsfilles:0,
- remark:null,
- fReviewDate:null,
- createBy:null,
- })
- }
- },
- //返回列表是否保存
- backRules(){
- for(let li in this.detailOption) {
- if(this.detailOption[li].name == '供应商'){
- if(this.detailOption[li].disabled == true){
- this.inDex = 4
- this.getList();
- this.MainTable = false
- } else {
- this.$confirm("返回列表,是否保存?", "提示", {
- confirmButtonText: "保存",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- this.$refs.detailForm.saveRules('1')
- }).catch(() => {
- this.inDex = 4
- this.MainTable = false
- this.getList();
- });
- }
- }
- }
- },
- backSave(valid,i){
- if(valid){
- this.detailForm.fMoney = 0
- for(let li in this.detailData){
- if(this.detailData[li]){
- this.detailForm.fMoney += Number(this.detailData[li].fAmount)
- }
- }
- let formData = new window.FormData();
- formData.append('tWarehousebills', JSON.stringify(this.detailForm))
- formData.append('tWarehousebillsfees', JSON.stringify(this.detailData))
- formData.append('fBilltype', 'RK')
- addSave(formData).then(res=>{
- if(res.code == 200){
- this.detailForm = res.data.warehouseBills
- this.$set(this.detailForm,'fStorekeeper',JSON.parse(this.detailForm.fStorekeeper))
- this.detailData = res.data.tWarehousebillsCntrs
- for(let li in this.detailData){
- this.$set(this.detailData[li],'fFeeunitid',JSON.stringify(this.detailData[li].fFeeunitid))
- this.$set(this.detailData[li],'fStltypeid',JSON.stringify(this.detailData[li].fStltypeid))
- }
- this.$message.success("保存成功")
- this.getList();
- if(i == 2){
- let data = {
- fBilltype:'RK',
- fId:this.detailForm.fId
- }
- copyNew(data).then(res=>{
- if(res.code == 200) {
- this.$message.success("操作成功")
- this.copyeId = res.data
- this.getList()
- this.viewMethod(null,1)
- }
- })
- }
- if(i == 1){
- this.MainTable = false
- this.inDex = 4
- }
- }
- })
- }
- },
- //所以按钮
- buttonList(row){
- switch (row.name) {
- case '新单':
- this.detailList.columnList = this.detailStyle
- this.detailForm = {}
- this.detailData = []
- this.inDex = this.detailOption.length
- //从表修改按钮
- for(let li in this.detailStyle){
- if(!this.detailStyle[li].doNot){
- this.detailStyle[li].disabled = false
- }
- }
- for(let item in this.detailOption){
- if(!this.detailOption[item].doNot){
- this.detailOption[item].disabled = false
- }
- }
- for(let li in this.detailButton){
- this.detailButton[li].disabled = false
- }
- this.MainTable = true
- break
- case '录入明细':
- this.$refs.detailForm.rules()
- break
- case '返回列表':
- this.backRules()
- break
- case '保存':
- this.$refs.detailForm.saveRules()
- break
- case '入库确认':
- if(this.detailData.length == 0){
- this.$message.error("请维护明细")
- }else{
- for(let item in this.detailData) {
- let num = Number(item) + 1
- if(!this.detailData[item].fQty){
- this.$message.error("请维护第" + num + "数量")
- return false
- }
- if (!this.detailData[item].fWarehouseid) {
- this.$message.error("请维护第" + num + "行库区")
- return false
- }
- }
- this.detailForm.fMoney = 0
- for(let li in this.detailData){
- if(this.detailData[li]){
- this.detailForm.fMoney += Number(this.detailData[li].fAmount)
- }
- }
- let formData = new window.FormData();
- formData.append('tWarehousebills', JSON.stringify(this.detailForm))
- formData.append('tWarehousebillsfees', JSON.stringify(this.detailData))
- formData.append('fBilltype', 'RK')
- addWarehous(formData).then(res=>{
- if(res.data.warehouseBills){
- this.detailForm = res.data.warehouseBills
- this.$set(this.detailForm,'fStorekeeper',JSON.parse(this.detailForm.fStorekeeper))
- }
- if(res.data.tWarehousebillsCntrs){
- this.detailData = res.data.tWarehousebillsCntrs
- for(let li in this.detailData){
- this.$set(this.detailData[li],'fFeeunitid',JSON.stringify(this.detailData[li].fFeeunitid))
- this.$set(this.detailData[li],'fStltypeid',JSON.stringify(this.detailData[li].fStltypeid))
- }
- }
- this.$message.success("操作成功")
- for(let li in this.detailStyle){
- this.detailStyle[li].disabled = true
- }
- for(let item in this.detailOption){
- this.detailOption[item].disabled = true
- }
- for(let li in this.detailButton) {
- if(this.detailButton[li].name == '录入明细' || this.detailButton[li].name == '保存' ||
- this.detailButton[li].name == '入库确认' || this.detailButton[li].name == '刷新' || this.detailButton[li].name == '修改'){
- this.detailButton[li].disabled = true
- }else{
- this.detailButton[li].disabled = false
- }
- }
- })
- }
- break
- case '刷新':
- if(this.detailForm.fId){
- getSave(this.detailForm.fId).then(res=>{
- if(res.data.warehouseBills){
- this.detailForm = res.data.warehouseBills
- this.$set(this.detailForm,'fStorekeeper',JSON.parse(this.detailForm.fStorekeeper))
- }
- if(res.data.tWarehousebillsfees){
- this.detailData = res.data.tWarehousebillsfees
- for(let li in this.detailData){
- this.$set(this.detailData[li],'fFeeunitid',JSON.stringify(this.detailData[li].fFeeunitid))
- this.$set(this.detailData[li],'fStltypeid',JSON.stringify(this.detailData[li].fStltypeid))
- }
- }
- })
- }
- break
- case '复制新增':
- let formDate = {
- fBilltype:'RK',
- fId:this.selection[0].fId
- }
- copyNew(formDate).then(res=>{
- if(res.code == 200) {
- this.$message.success("操作成功")
- this.copyeId = res.data
- this.getList()
- this.viewMethod(null,1)
- }
- })
- break
- case '复制新单':
- this.$refs.detailForm.saveRules('2')
- break
- case '打印':
- this.formList = this.detailForm
- this.dialogVisible = true
- break
- }
- if(row.name == '修改' && row.res == '0'){
- this.viewMethod()
- }
- if(row.res === 1){
- //从表修改按钮
- for(let li in this.detailStyle){
- if(!this.detailStyle[li].doNot){
- this.detailStyle[li].disabled = false
- }
- }
- for(let item in this.detailOption){
- if(!this.detailOption[item].doNot){
- this.detailOption[item].disabled = false
- }
- }
- for(let li in this.detailButton){
- this.detailButton[li].disabled = false
- }
- }
- },
- // 显示搜索条件、点击后会调用此方法
- showSearch(){
- this.getList()
- },
- //点击刷新会调用此方法
- getList(res){
- this.queryParms.fBilltype = 'RK'
- listInStock(this.queryParms).then(response=>{
- this.tableData = response.rows
- this.total = response.total
- if(res == 1){
- this.copyeId = this.tableData[0].fId
- this.viewMethod(null,1)
- }
- })
- },
- }
- }
- </script>
- <style scoped lang="scss">
- .app-container ::v-deep .el-form-item {
- margin-bottom: 4px;
- }
- .app-container ::v-deep .el-table__body-wrapper{
- z-index: 2;
- }
- </style>
|