| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478 |
- <template>
- <div class="app-container">
- <div class="search">
- <el-date-picker
- v-model="table.getdataListParm.parammaps.inputDatetime"
- class="inputDatetime filter-item"
- type="daterange"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- style="width: 250px"
- />
- <!-- <el-button class="el-icon-arrow-left elIconArrowLeft" @click="handleBefore" />
- <el-button class="el-icon-arrow-right elIconArrowRight" @click="handleNext" />
- <el-select v-model="table.getdataListParm.parammaps.ftid" filterable placeholder="栏舍名称" class="filter-item" style="width: 120px;" clearable>
- <el-option v-for="item in houseNameList" :key="item.id" :label="item.bname" :value="item.id" />
- </el-select>
- <el-select v-model="record" filterable placeholder="记录" class="filter-item" style="width: 150px;" @change="changeRecord">
- <el-option v-for="item in recordList" :key="item.id" :label="item.name" :value="item.id" />
- </el-select>
- <el-select v-if="record== '1'" v-model="table.getdataListParm.parammaps.eqcode" filterable placeholder="TMR编号" class="filter-item" style="width: 120px;" clearable>
- <el-option v-for="item in TMRNumberList" :key="item.id" :label="item.tname" :value="item.eqcode" />
- </el-select> -->
- <el-button class="successBorder" @click="form_search">查询</el-button>
- <!-- <el-button class="successBorder" @click="handleRefresh">重置</el-button> -->
- </div>
- <div class="operation" v-if="record == '0'">
- <el-button
- v-if="isRoleEdit"
- icon="el-icon-plus"
- class="success"
- @click="handleCreate"
- >新增</el-button
- >
- <el-button
- v-if="isRoleEdit"
- icon="el-icon-delete"
- class="danger"
- @click="form_delete"
- >删除</el-button
- >
- <el-button
- v-if="isRoleEdit"
- class="success"
- icon="el-icon-upload2"
- @click="handleSAPUpload"
- >SAP上传</el-button
- >
- <!-- <el-button v-if="dataSynchronization.isDataSynchronization && isRoleEdit" class="success" @click="handleDataUpload">数据上传</el-button>
- <el-upload v-if="isRoleEdit" style="float: right;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImport" :on-success="handleImportSuccess">
- <el-button class="import" icon="el-icon-download" style="float: right;">导入</el-button>
- </el-upload>
- <el-dropdown style="float: right;margin-right: 10px;">
- <el-button class="export" icon="el-icon-upload2">导出</el-button>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item @click.native="handleExport(1)">导出模板</el-dropdown-item>
- <el-dropdown-item @click.native="handleExport(2)">导出数据</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown> -->
- </div>
- <div class="operation" v-else>
- <el-button
- v-if="dataSynchronization.isDataSynchronization && isRoleEdit"
- class="success"
- @click="handleDataUpload"
- >数据上传</el-button
- >
- <el-button
- style="float: right; margin-right: 10px"
- class="export"
- icon="el-icon-upload2"
- @click="handleExport(3)"
- >导出</el-button
- >
- </div>
- <!-- 剩料使用 table -->
- <div class="table">
- <el-table
- :key="table.tableKey"
- v-loading="table.listLoading"
- element-loading-text="给我一点时间"
- :data="table.list"
- border
- fit
- highlight-current-row
- style="width: 100%"
- :row-style="rowStyle"
- :cell-style="cellStyle"
- class="elTable table-fixed"
- :header-cell-style="{ 'text-align': 'center' }"
- @selection-change="handleSelectionChange"
- :max-height="myHeight"
- >
- <el-table-column type="selection" align="left" width="50" />
- <el-table-column label="序号" align="left" type="index" width="50px">
- <template slot-scope="scope">
- <span>{{
- scope.$index + (table.pageNum - 1) * table.pageSize + 1
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="栏舍名称"
- min-width="120px"
- align="left"
- prop="barname"
- />
- <el-table-column
- label="配方名称"
- min-width="120px"
- align="left"
- prop="ftname"
- />
- <el-table-column
- label="剩料使用时间"
- min-width="150px"
- align="left"
- prop="date"
- />
- <el-table-column
- label="班次"
- min-width="90px"
- align="left"
- prop="timesstr"
- />
- <el-table-column
- label="替代方案"
- min-width="100px"
- align="left"
- prop="surplus"
- />
- <el-table-column
- label="替代重量(Kg)"
- min-width="100px"
- align="left"
- prop="weight"
- />
- <el-table-column
- label="操作"
- align="left"
- width="100"
- class-name="small-padding fixed-width"
- fixed="right"
- >
- <template slot-scope="{ row }">
- <!-- <el-button v-if="isRoleEdit" :disabled="row.emp == '设备采集'" class="miniSuccess" icon="el-icon-edit-outline" @click="handleUpdate(row)" />
- <span v-if="isRoleEdit" class="centerSpan">|</span> -->
- <el-button
- v-if="isRoleEdit"
- :disabled="row.emp == '设备采集'"
- class="miniDanger"
- icon="el-icon-delete"
- @click="handleRowDelete(row)"
- />
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="table.total >= 0"
- :total="table.total"
- :page.sync="table.getdataListParm.offset"
- :limit.sync="table.getdataListParm.pagecount"
- @pagination="getList"
- />
- </div>
- <!-- 新增/编辑 -->
- <el-dialog
- :fullscreen="dialogFull"
- :visible.sync="create.dialogFormVisible"
- :close-on-click-modal="false"
- v-if="create.dialogFormVisible"
- width="40%"
- >
- <template slot="title">
- <div class="avue-crud__dialog__header">
- <span class="el-dialog__title">
- <span
- style="
- display: inline-block;
- width: 3px;
- height: 20px;
- margin-right: 5px;
- float: left;
- margin-top: 2px;
- "
- />
- {{ textMap[create.dialogStatus] }}
- </span>
- <div
- class="avue-crud__dialog__menu"
- @click="dialogFull ? (dialogFull = false) : (dialogFull = true)"
- >
- <svg-icon v-if="dialogFull" icon-class="exit-fullscreen" />
- <svg-icon v-else icon-class="fullscreen" />
- </div>
- </div>
- </template>
- <div class="app-add">
- <el-form
- ref="temp"
- :rules="create.rules"
- :model="create.temp"
- label-position="right"
- label-width="135px"
- style="width: 90%; margin: 0 auto 50px"
- >
- <el-row v-if="create.dialogStatus == 'create'">
- <el-col :span="20">
- <el-form-item label="栏舍名称:" prop="barid">
- <el-select
- ref="ftid"
- v-model="create.temp.barid"
- :disabled="create.dialogStatus == 'update'"
- filterable
- placeholder="栏舍名称"
- class="filter-item"
- style="width: 100%"
- @change="changeBar"
- >
- <el-option
- v-for="item in houseNameList"
- :key="item.id"
- :label="item.bname"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row v-else>
- <el-col :span="20">
- <el-form-item label="栏舍名称:" prop="barname">
- <el-input
- ref="barname"
- v-model="create.temp.barname"
- disabled
- class="filter-item"
- placeholder=""
- />
- </el-form-item>
- </el-col>
- </el-row>
- <!-- TODO: -->
- <el-row>
- <el-col :span="20">
- <el-form-item label="配方名称:">
- <el-input
- v-model="create.temp.ftname"
- class="filter-item"
- placeholder="配方名称"
- disabled
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="20">
- <el-form-item label="剩料使用时间:" prop="date">
- <el-date-picker
- v-model="create.temp.date"
- type="date"
- value-format="yyyy-MM-dd"
- style="width: 100%"
- :picker-options="pickerOptions"
- placeholder="剩料使用时间"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="20">
- <el-form-item label="班次:">
- <el-select
- ref="times"
- v-model="create.temp.times"
- filterable
- placeholder="班次"
- :disabled="create.dialogStatus == 'update'"
- class="filter-item"
- style="width: 100%"
- >
- <el-option
- v-for="item in frequencyList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <!-- -->
- <el-row>
- <el-col :span="20">
- <el-form-item label="替代方案:" prop="surplus">
- <el-select
- style="width: 100%"
- v-model="create.temp.surplus"
- filterable
- clearable
- placeholder="替代方案"
- class="filter-item"
- @change="handlegetSurplus"
- >
- <el-option
- v-for="item in tableData"
- :key="item.id"
- :label="item.surplus"
- :value="item.surplus"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="20">
- <el-form-item label="替代重量(Kg):" prop="weight">
- <el-input
- ref="weight"
- v-model="create.temp.weight"
- class="filter-item"
- placeholder="替代重量"
- type="number"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- class="cancelClose"
- @click="
- create.dialogFormVisible = false;
- getList();
- "
- >关闭</el-button
- >
- <el-button
- v-if="
- create.dialogStatus === 'create' ||
- create.dialogStatus === 'update'
- "
- class="save"
- :disabled="isokDisable"
- @click="
- create.dialogStatus === 'create' ? createData() : updateData()
- "
- >确认</el-button
- >
- </div>
- </div>
- </el-dialog>
- <!-- sap上传 -->
- <el-dialog
- title="SAP上传"
- :destroy-on-close="true"
- :visible.sync="sapUpload.dialogFormVisible"
- :close-on-click-modal="false"
- width="40%"
- >
- <div class="sapUpload">
- <el-form
- ref="sapUpload"
- :rules="sapUpload.rules"
- :model="sapUpload.temp"
- label-position="right"
- label-width="100px"
- style="width: 100%; margin: 0 auto 50px"
- >
- <el-row>
- <el-col :span="24">
- <el-form-item label="时间:" prop="date">
- <el-date-picker
- v-model="sapUpload.temp.date"
- :clearable="false"
- class="filter-item"
- type="date"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer" style="bottom: 20px">
- <el-button
- class="cancelClose"
- @click="
- sapUpload.dialogFormVisible = false;
- getList();
- "
- >取消</el-button
- >
- <el-button
- class="save"
- :disabled="isokDisable"
- @click="sapUploadData()"
- >确认</el-button
- >
- </div>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- import {
- GetDataByName,
- PostDataByName,
- getSurplus,
- GetDataByNames,
- checkButtons,
- postJson2,
- postJson,
- } from "@/api/common";
- import Cookies from "js-cookie";
- import { parseTime, json2excel } from "@/utils/index.js";
- import Pagination from "@/components/Pagination";
- import { MessageBox } from "element-ui";
- import axios from "axios";
- import { getToken } from "@/utils/auth";
- export default {
- name: "MaterialRemainingRecord",
- components: { Pagination },
- data() {
- return {
- pickerOptions: {
- disabledDate(time) {
- return time.getTime() > Date.now() - 8.64e6; //如果没有后面的-8.64e6就是不可以选择今天的
- },
- },
- enterTime: "",
- tableData: [],
- sapUpload: {
- dialogFormVisible: false,
- dialogStatus: "",
- temp: {
- date: parseTime(new Date(), "{y}-{m}-{d}"),
- },
- rules: {
- date: [
- { required: true, message: "原剩料所属时间必填", trigger: "blur" },
- ],
- },
- getdataListParm: {
- name: "getSysoptEnable",
- page: 1,
- offset: 1,
- pagecount: 1,
- returntype: "Map",
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- inforname: "sapupload",
- },
- },
- isSap: false,
- },
- dialogFull: false,
- isRoleEdit: [],
- getParmas: {
- name: "getFPList",
- page: 1,
- offset: 1,
- pagecount: 0,
- returntype: "Map",
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- ftname: "",
- },
- },
- requestParams: [
- {
- name: "getBarListEnable",
- offset: 0,
- pagecount: 0,
- parammaps: { pastureid: Cookies.get("pastureid") },
- },
- {
- name: "getSysoptEnable",
- offset: 0,
- pagecount: 0,
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- inforname: "times",
- },
- },
- {
- name: "getTMRListEnableType",
- offset: 0,
- pagecount: 0,
- parammaps: { pastureid: Cookies.get("pastureid"), eqtype: "1" },
- },
- ],
- houseNameList: [], // 栏舍名称
- frequencyList: [], // 收集
- recordList: [
- { id: "0", name: "手动记录" },
- { id: "1", name: "TMR设备自动记录" },
- ],
- record: "0",
- table: {
- getdataListParm: {
- name: "getWasteuse",
- page: 1,
- offset: 1,
- pagecount: parseInt(Cookies.get("pageCount")),
- returntype: "Map",
- parammaps: {
- pastureId: Cookies.get("pastureid"),
- ftid: "",
- startdate: "",
- enddate: "",
- inputDatetime: "",
- },
- },
- tableKey: 0,
- list: [],
- total: 0,
- listLoading: true,
- temp: {},
- tableKey2: 0,
- listLoading2: false,
- list2: [],
- },
- // 新增/编辑
- create: {
- dialogFormVisible: false,
- dialogStatus: "",
- temp: {
- pastureId: Cookies.get("pastureid"),
- operatetime: parseTime(new Date(), "{y}-{m}-{d} {h}:{i}"),
- emp: Cookies.get("employename"),
- ftid: "",
- ftname: "",
- weight: "",
- times: "1",
- surplusId: "",
- surplus: "",
- },
- rules: {
- ftid: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- weight: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- times: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- ftname: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- surplus: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- date: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- barid: [
- {
- type: "string",
- required: true,
- message: "必填",
- trigger: "blur",
- },
- ],
- },
- getdataListParm: {
- name: "getBarfeedremainEmpHis",
- page: 1,
- offset: 1,
- pagecount: 10,
- returntype: "Map",
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- },
- },
- noteTakerList: [], // 记录人
- },
- textMap: {
- create: "新增",
- update: "编辑",
- },
- requestParam: {},
- download: {
- getdataListParm: {
- name: "getBarfeedremainList",
- page: 1,
- offset: 1,
- pagecount: 0,
- returntype: "Map",
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- ftid: "",
- startdate: "",
- enddate: "",
- inputDatetime: "",
- },
- },
- list: [],
- },
- dataSynchronization: {
- dialogFormVisible: false,
- dialogStatus: "",
- getdataListParm: {
- name: "getSysoptEnable",
- page: 1,
- offset: 1,
- pagecount: 1,
- returntype: "Map",
- parammaps: {
- pastureid: Cookies.get("pastureid"),
- inforname: "wgSap",
- },
- },
- isDataSynchronization: false,
- },
- isokDisable: false,
- selectList: [],
- rowStyle: { maxHeight: 30 + "px", height: 30 + "px" },
- cellStyle: { padding: 0 + "px" },
- myHeight: document.documentElement.clientHeight - 85 - 150 - 45,
- url: "authdata/ImportExcel",
- };
- },
- computed: {
- // 设置请求头
- headers() {
- return {
- token: getToken(),
- };
- },
- uploadData() {
- return {
- name: "checkbarname,checktimes,insertBarfeedremainUpload",
- importParams:
- "栏舍名称,配方名称,原剩料所属时间,剩料量(kg),干物质,班次收集(一天/第一班/第二班/第三班),收集时间,操作人",
- sheetname: "Sheet1",
- // 登录牧场
- pastureid: Cookies.get("pastureid"),
- // 日期参数
- dateParams: "原剩料所属时间",
- // 必填参数
- requiredParams:
- "栏舍名称,剩料量(kg),班次收集(一天/第一班/第二班/第三班)",
- // 为数值的参数
- numParams: "剩料量(kg)",
- };
- },
- // 设置上传地址
- uploadExcelUrl() {
- // return Cookies.get('url') + 'authdata/ImportExcel'
- return Cookies.get("url") + "authdata/ImportExcel";
- },
- // let url = 'authdata/ImportExcel';
- },
- created() {
- console.log(document.querySelector("html").getAttribute("domain"), "7777");
- this.getDataSynchronization();
- this.getList();
- this.getDownList();
- this.getButtons();
- this.getLeftTable();
- },
- mounted() {
- this.$nextTick(() => {
- this.enterTime = Date.now();
- });
- },
- beforeUnmount() {
- const stayTime = Math.round((Date.now() - this.enterTime) / 1000);
- window._hmt?.push([
- "_trackEvent",
- "PageStay",
- "Duration",
- this.$route.path,
- stayTime,
- ]);
- },
- methods: {
- // 获取剩料列表
- async getLeftTable() {
- const { data } = await getSurplus(Cookies.get("pastureid"));
- console.log(data, "table");
- this.tableData = data;
- },
- // 获取替代方案的名字
- handlegetSurplus(val) {
- const id = this.tableData.find((item) => {
- return item.surplus == val;
- }).id;
- this.create.temp.surplusId = id;
- console.log(id, "surplus");
- },
- // 点击sap上传
- handleSAPUpload() {
- this.sapUpload.dialogStatus = "sapUpload";
- this.sapUpload.dialogFormVisible = true;
- },
- sapUploadData() {
- this.$refs["sapUpload"].validate((valid) => {
- if (valid) {
- const url = "authdata/xdmy/sap/wasteuse";
- const data = {
- pastureId: Cookies.get("pastureid"),
- date: parseTime(this.sapUpload.temp.date, "{y}-{m}-{d}"),
- };
- const loading = this.$loading({
- lock: true,
- text: "Loading",
- spinner: "el-icon-loading",
- background: "rgba(0, 0, 0, 0.7)",
- });
- postJson(url, data).then((response) => {
- setTimeout(() => {
- loading.close();
- }, 1000);
- if (response.msg == "ok") {
- this.$notify({
- title: "",
- message: "成功",
- type: "success",
- duration: 2000,
- });
- this.sapUpload.dialogFormVisible = false;
- this.getList();
- } else {
- this.$notify({
- title: "失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- }
- });
- }
- });
- },
- getDataSynchronization() {
- GetDataByName(this.dataSynchronization.getdataListParm).then(
- (response) => {
- // console.log(response.data.list[0])
- if (response.data.list && response.data.list[0].inforvalue == 0) {
- this.dataSynchronization.isDataSynchronization = false;
- } else {
- this.dataSynchronization.isDataSynchronization = true;
- }
- }
- );
- },
- getButtons() {
- const Edit = "MaterialRemainingRecord";
- const isRoleEdit = checkButtons(
- JSON.parse(sessionStorage.getItem("buttons")),
- Edit
- );
- this.isRoleEdit = isRoleEdit;
- },
- getDownList() {
- GetDataByNames(this.requestParams).then((response) => {
- this.houseNameList = response.data.getBarListEnable.list;
- this.TMRNumberList = response.data.getTMRListEnableType.list;
- if (response.data.getSysoptEnable.list !== null) {
- for (
- let i = 1;
- i <= response.data.getSysoptEnable.list[0].inforvalue;
- i++
- ) {
- const obj = {};
- obj.id = String(i);
- if (i == 1) {
- obj.name = "第一班";
- } else if (i == 2) {
- obj.name = "第二班";
- } else if (i == 3) {
- obj.name = "第三班";
- } else if (i == 4) {
- obj.name = "第四班";
- } else if (i == 5) {
- obj.name = "第五班";
- } else if (i == 6) {
- obj.name = "第六班";
- }
- this.frequencyList.push(obj);
- }
- // this.frequencyList.unshift({id:'0',name:"一天"})
- } else {
- this.frequencyList = [];
- }
- });
- },
- handleBefore() {
- if (
- this.table.getdataListParm.parammaps.inputDatetime !== "" &&
- this.table.getdataListParm.parammaps.inputDatetime !== null
- ) {
- var start = new Date(
- this.table.getdataListParm.parammaps.inputDatetime[0].setDate(
- this.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1
- )
- );
- var stop = new Date(
- this.table.getdataListParm.parammaps.inputDatetime[1].setDate(
- this.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1
- )
- );
- this.table.getdataListParm.parammaps.inputDatetime.length = 0;
- this.table.getdataListParm.parammaps.inputDatetime.push(start, stop);
- this.$forceUpdate();
- }
- },
- handleNext() {
- if (
- this.table.getdataListParm.parammaps.inputDatetime !== "" &&
- this.table.getdataListParm.parammaps.inputDatetime !== null
- ) {
- var start = new Date(
- this.table.getdataListParm.parammaps.inputDatetime[0].setDate(
- this.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1
- )
- );
- var stop = new Date(
- this.table.getdataListParm.parammaps.inputDatetime[1].setDate(
- this.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1
- )
- );
- this.table.getdataListParm.parammaps.inputDatetime.length = 0;
- this.table.getdataListParm.parammaps.inputDatetime.push(start, stop);
- this.$forceUpdate();
- }
- },
- getList() {
- this.table.listLoading = true;
- if (
- this.table.getdataListParm.parammaps.inputDatetime !== "" &&
- this.table.getdataListParm.parammaps.inputDatetime !== null
- ) {
- this.table.getdataListParm.parammaps.startdate = parseTime(
- this.table.getdataListParm.parammaps.inputDatetime[0],
- "{y}-{m}-{d}"
- );
- this.table.getdataListParm.parammaps.enddate = parseTime(
- this.table.getdataListParm.parammaps.inputDatetime[1],
- "{y}-{m}-{d}"
- );
- } else {
- this.table.getdataListParm.parammaps.inputDatetime = "";
- this.table.getdataListParm.parammaps.startdate = "";
- this.table.getdataListParm.parammaps.enddate = "";
- }
- GetDataByName(this.table.getdataListParm).then((response) => {
- console.log("table数据", response.data.list);
- if (response.data.list !== null) {
- this.table.list = response.data.list;
- this.table.pageNum = response.data.pageNum;
- this.table.pageSize = response.data.pageSize;
- this.table.total = response.data.total;
- } else {
- this.table.list = [];
- }
- setTimeout(() => {
- this.table.listLoading = false;
- }, 100);
- });
- },
- changeRecord(item) {
- if (item == "0") {
- this.table.getdataListParm.name = "getBarfeedremainList";
- } else {
- this.table.getdataListParm.name = "getRemainplanrecord";
- }
- this.table.getdataListParm.offset = 1;
- this.getList();
- },
- form_search() {
- console.log("点击了查询");
- this.table.getdataListParm.offset = 1;
- this.getList();
- },
- handleRefresh() {
- console.log("点击了重置");
- this.table.getdataListParm.parammaps.ftid = "";
- this.table.getdataListParm.parammaps.startdate = "";
- this.table.getdataListParm.parammaps.enddate = "";
- this.table.getdataListParm.parammaps.inputDatetime = "";
- this.table.getdataListParm.offset = 1;
- this.getList();
- },
- // 新增
- resetTemp() {
- this.create.temp = {
- pastureId: Cookies.get("pastureid"),
- operatetime: parseTime(new Date(), "{y}-{m}-{d} {h}:{i}"),
- emp: Cookies.get("employename"),
- ftid: "",
- ftname: "",
- weight: "",
- times: "1",
- date: "",
- };
- },
- blurEmp(item) {
- this.create.temp.emp = item.target.value;
- },
- // 栏舍名称
- changeBar(item) {
- this.create.temp.ftname = this.houseNameList.find(
- (obj) => obj.id === item
- ).bname;
- this.create.temp.ftid = item;
- this.getParmas.parammaps.barid = item;
- this.chooseftname();
- },
- // 根据栏舍选择配方名称
- chooseftname() {
- GetDataByName(this.getParmas).then((res) => {
- const { data } = res;
- const ftname = data.list.length && data.list[0].ftname;
- this.$set(this.create.temp, "ftname", ftname);
- // this.create.temp.ftname = ftname;
- console.log(this.create.temp.ftname, ftname, "配方名字");
- });
- },
- getNoteTakerList() {
- GetDataByName(this.create.getdataListParm).then((response) => {
- if (response.data.list !== null) {
- for (let i = 0; i < response.data.list.length; i++) {
- response.data.list[i].myId = i;
- }
- this.create.noteTakerList = response.data.list;
- console.log("记录人数据", response.data.list);
- console.log(this.create.noteTakerList);
- } else {
- this.create.noteTakerList = [];
- }
- });
- },
- handleCreate() {
- console.log("点击了新增", this.create);
- this.dialogFull = false;
- this.resetTemp();
- this.getNoteTakerList();
- this.create.dialogStatus = "create";
- this.create.dialogFormVisible = true;
- },
- createData() {
- console.log("点击了新增保存");
- console.log(this.create.temp, "发送数据");
- this.isokDisable = true;
- setTimeout(() => {
- this.isokDisable = false;
- }, 1000);
- this.$refs["temp"].validate((valid) => {
- if (valid) {
- this.isokDisable = true;
- setTimeout(() => {
- this.isokDisable = false;
- }, 1000);
- const weight = /^\d+(\.\d{1,2})?$/;
- // 剩料量
- if (!weight.test(parseFloat(this.create.temp.weight))) {
- this.$message({
- type: "error",
- message: "剩料量请输入自然数并保留两位小数",
- duration: 2000,
- });
- return false;
- }
- this.requestParam.name = "insertWasteuse";
- this.requestParam.parammaps = this.create.temp;
- if (this.create.temp.emp == "") {
- this.create.temp.emp = Cookies.get("employename");
- }
- console.log("新增保存发送参数", this.requestParam);
- PostDataByName(this.requestParam).then((response) => {
- if (response.msg !== "fail") {
- this.$notify({
- title: "成功",
- message: "保存成功",
- type: "success",
- duration: 2000,
- });
- this.create.dialogFormVisible = false;
- this.getList();
- } else {
- const ftid = new RegExp("key 'ftid'");
- if (ftid.test(response.data)) {
- this.$message({
- type: "error",
- message: "该栏舍该班次收集今日剩料量已存在,不可重复生成",
- duration: 2000,
- });
- } else {
- this.$notify({
- title: "保存失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- }
- }
- });
- }
- });
- },
- // 编辑
- handleUpdate(row) {
- console.log("点击了编辑", row);
- console.log(this.frequencyList, "frequencyList");
- this.dialogFull = false;
- row.ftid = String(row.ftid);
- this.create.temp = Object.assign({}, row);
- this.create.temp.id = row.id;
- this.getNoteTakerList();
- this.create.dialogStatus = "update";
- this.create.dialogFormVisible = true;
- },
- updateData() {
- this.isokDisable = true;
- setTimeout(() => {
- this.isokDisable = false;
- }, 1000);
- this.$refs["temp"].validate((valid) => {
- if (valid) {
- this.isokDisable = true;
- setTimeout(() => {
- this.isokDisable = false;
- }, 1000);
- const weight = /^\d+(\.\d{1,2})?$/;
- // 剩料量
- if (!weight.test(parseFloat(this.create.temp.weight))) {
- this.$message({
- type: "error",
- message: "剩料量请输入自然数并保留两位小数",
- duration: 2000,
- });
- return false;
- }
- this.requestParam.name = "editWasteuse";
- this.requestParam.parammaps = this.create.temp;
- if (this.create.temp.emp == "") {
- this.create.temp.emp = Cookies.get("employename");
- }
- PostDataByName(this.requestParam).then((response) => {
- console.log("新增保存发送参数", this.requestParam);
- if (response.msg !== "fail") {
- this.$notify({
- title: "成功",
- message: "保存成功",
- type: "success",
- duration: 2000,
- });
- this.create.dialogFormVisible = false;
- this.getList();
- } else {
- this.$notify({
- title: "保存失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- }
- });
- }
- });
- },
- // 删除
- handleRowDelete(row, type) {
- console.log("点击了行内删除");
- MessageBox.confirm("是否确认删除此信息?", {
- confirmButtonText: "确认",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- this.selectList = [];
- this.requestParam.name = "delWasteuse";
- this.requestParam.parammaps = {};
- this.requestParam.parammaps.pastureId = row.pastureid;
- if (type == 1) {
- this.requestParam.parammaps.id = row;
- } else {
- this.requestParam.parammaps.id = row.id;
- }
- PostDataByName(this.requestParam).then((response) => {
- if (response.msg === "fail") {
- this.$notify({
- title: "删除失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- } else {
- this.$notify({
- title: "成功",
- message: "删除成功",
- type: "success",
- duration: 2000,
- });
- this.getList();
- }
- });
- })
- .catch(() => {
- this.$message({ type: "info", message: "已取消删除" });
- });
- },
- handleSelectionChange(val) {
- console.log("勾选数据", val);
- this.selectList = val;
- },
- form_delete(type) {
- console.log("点击了删除++++++++");
- if (this.selectList.length == 0) {
- this.$message({
- type: "error",
- message: "请选择栏舍剩料记录",
- duration: 2000,
- });
- } else {
- const ids = this.selectList.map((item) => {
- return item.id;
- });
- this.handleRowDelete(ids.toString(), 1);
- }
- },
- // 复制
- handleCopy() {
- console.log("点击了复制");
- if (this.selectList.length == 0) {
- this.$message({
- type: "error",
- message: "请选择栏舍剩料记录",
- duration: 2000,
- });
- } else if (this.selectList.length == 1) {
- MessageBox.confirm("是否确认复制此信息?", {
- confirmButtonText: "确认",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- this.requestParam.name = "copybarfeedremain";
- this.requestParam.parammaps = {};
- this.requestParam.parammaps.pastureid =
- this.selectList[0].pastureid;
- this.requestParam.parammaps.id = this.selectList[0].id;
- PostDataByName(this.requestParam).then((response) => {
- if (response.msg === "fail") {
- const ftid = new RegExp("key 'ftid'");
- if (ftid.test(response.data)) {
- this.$notify({
- type: "warning",
- message: "该栏舍该班次收集今日剩料量已存在,不可重复生成",
- duration: 2000,
- });
- return;
- }
- this.$notify({
- title: "保存失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- } else {
- this.$notify({
- title: "成功",
- message: "保存成功",
- type: "success",
- duration: 2000,
- });
- this.getList();
- }
- });
- })
- .catch(() => {
- this.$message({ type: "info", message: "已取消复制" });
- });
- } else {
- this.$message({
- type: "error",
- message: "请选择一条栏舍剩料记录",
- duration: 2000,
- });
- }
- },
- // 导出
- handleExport(item) {
- if (item == 1) {
- console.log("点击了导出模板");
- console.log("点击了导出模板");
- const requestParam = this.requestParam;
- const url = Cookies.get("url") + "authdata/barfeedremain/excel"; // 请求下载文件的地址
- console.log(url);
- axios({
- method: "POST",
- url: url,
- data: requestParam,
- headers: { token: getToken(), optname: "insertcustomdoc" },
- responseType: "blob",
- }).then((res) => {
- if (!res) return;
- this.percentage = 99;
- setTimeout(() => {
- this.isPercentage = false;
- }, 2000);
- const blob = new Blob([res.data], {
- type: "application/octet-stream;charset=utf-8",
- });
- const url = window.URL.createObjectURL(blob);
- const aLink = document.createElement("a");
- aLink.style.display = "none";
- aLink.href = url;
- const docname = "栏舍剩料记录导入模板.xlsx";
- aLink.setAttribute("download", docname); // 下载的文件
- document.body.appendChild(aLink);
- aLink.click();
- document.body.removeChild(aLink);
- window.URL.revokeObjectURL(url);
- });
- } else {
- console.log("点击了导出数据", item, this.record);
- if (this.record == "0") {
- this.download.getdataListParm.name = "getBarfeedremainList";
- } else {
- this.download.getdataListParm.name = "getRemainplanrecord";
- }
- this.download.getdataListParm.parammaps =
- this.table.getdataListParm.parammaps;
- if (
- this.download.getdataListParm.parammaps.inputDatetime !== "" &&
- this.download.getdataListParm.parammaps.inputDatetime !== null
- ) {
- this.download.getdataListParm.parammaps.startdate = parseTime(
- this.download.getdataListParm.parammaps.inputDatetime[0],
- "{y}-{m}-{d}"
- );
- this.download.getdataListParm.parammaps.enddate = parseTime(
- this.download.getdataListParm.parammaps.inputDatetime[1],
- "{y}-{m}-{d}"
- );
- } else {
- this.download.getdataListParm.parammaps.inputDatetime = "";
- this.download.getdataListParm.parammaps.startdate = "";
- this.download.getdataListParm.parammaps.enddate = "";
- }
- GetDataByName(this.download.getdataListParm).then((response) => {
- if (response.data.list !== null) {
- this.download.list = response.data.list;
- } else {
- this.download.list = [];
- }
- if (item == 2) {
- var excelDatas1 = [
- {
- tHeader: [
- "栏舍名称",
- "配方名称",
- "原剩料所属时间",
- "剩料量(kg)",
- "班次(收集)",
- "收集时间",
- "操作人",
- ],
- filterVal: [
- "ftname",
- "ftname",
- "date",
- "weight",
- "timesstr",
- "operatetime",
- "emp",
- ],
- tableDatas: this.download.list,
- sheetName: "Sheet1",
- },
- ];
- json2excel(excelDatas1, "栏舍剩料记录-手动记录", true, "xlsx");
- } else {
- var excelDatas2 = [
- {
- tHeader: [
- "TMR设备编号",
- "TMR设备名称",
- "TMR设备类型",
- "栏舍名称",
- "收集时间",
- "剩料重量(kg)",
- "开始重量(kg)",
- "结束重量(kg)",
- "驾驶员",
- ],
- filterVal: [
- "eqcode",
- "eqname",
- "tclassname",
- "ftname",
- "createtime",
- "weight",
- "beginweight",
- "endweight",
- "driver",
- ],
- tableDatas: this.download.list,
- sheetName: "Sheet1",
- },
- ];
- json2excel(
- excelDatas2,
- "栏舍剩料记录-TMR设备自动记录",
- true,
- "xlsx"
- );
- }
- });
- }
- },
- beforeImport(file) {
- const isLt2M = file.size / 1024 / 1024 < 2;
- if (!isLt2M) {
- this.$message.error("上传文件大小不能超过 2MB!");
- }
- return isLt2M;
- },
- handleImportSuccess(res, file) {
- this.getList();
- if (res.msg === "ok") {
- this.$message({
- title: "成功",
- message: "导入成功:" + res.data.success + "条!",
- type: "success",
- duration: 2000,
- });
- if (res.data.err_count > 0) {
- this.$notify({
- title: "失败",
- message: "导入失败:" + res.data.err_count + "条!",
- type: "danger",
- duration: 2000,
- });
- import("@/vendor/Export2Excel").then((excel) => {
- const list1 = res.data.result;
- const tHeader = [
- "栏舍名称",
- "配方名称",
- "原剩料所属时间",
- "剩料量(kg)",
- "干物质",
- "班次(收集)",
- "收集时间",
- "操作人",
- "错误信息",
- ];
- const filterVal = [
- "栏舍名称",
- "配方名称",
- "原剩料所属时间",
- "剩料量(kg)",
- "干物质",
- "班次(收集)",
- "收集时间",
- "操作人",
- "error_msg",
- ];
- const data1 = this.formatJson(filterVal, list1);
- excel.export_json_to_excel({
- header: tHeader,
- data: data1,
- filename: "栏舍剩料记录导入报错信息",
- autoWidth: true,
- bookType: "xlsx",
- });
- });
- }
- } else {
- this.$notify({
- title: "失败",
- message: "上传失败",
- type: "danger",
- duration: 2000,
- });
- }
- },
- formatJson(filterVal, jsonData) {
- return jsonData.map((v) =>
- filterVal.map((j) => {
- if (j === "timestamp") {
- return parseTime(v[j]);
- } else {
- return v[j];
- }
- })
- );
- },
- handleDataUpload() {
- let a = Cookies.get("url");
- let b = a.search(8081);
- let c = a.substring(0, a.search(8081)) + "8082";
- let d = a.substring(0, a.lastIndexOf("/"));
- console.log(d);
- let url = "";
- if (b == -1) {
- url = d + ":8082";
- } else {
- url = c;
- }
- console.log(url, "url");
- let _url = url + "/authdata/surplus/push";
- let data = {
- date: parseTime(new Date(), "{y}-{m}-{d}"),
- pastureId: Cookies.get("pastureid"),
- };
- console.log(_url, "_url");
- postJson2(_url, data).then((response) => {
- if (response.msg == "ok") {
- this.$notify({
- title: "",
- message: response.data,
- type: "success",
- duration: 2000,
- });
- } else {
- this.$notify({
- title: "上传失败",
- message: response.data,
- type: "warning",
- duration: 2000,
- });
- }
- });
- },
- },
- };
- </script>
|