index.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. <template>
  2. <div class="app-container">
  3. <div class="search">
  4. <el-select v-model="table.getdataListParm.parammaps.pastureId" filterable placeholder="牧场" class="filter-item" style="width: 150px;" clearable>
  5. <el-option v-for="item in pastureList" :key="item.pastureid" :label="item.pastureName" :value="item.pastureid" />
  6. </el-select>
  7. <el-select v-model="table.getdataListParm.parammaps.msgtype" placeholder="数据类型" class="filter-item" style="width: 150px;" clearable>
  8. <el-option v-for="item in dataTypeList" :key="item.Id" :label="item.value" :value="item.Id" />
  9. </el-select>
  10. <el-date-picker v-model="table.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
  11. <el-button class="successBorder" @click="handleSearch">查询</el-button>
  12. <el-button class="successBorder" @click="handleRefresh">重置</el-button>
  13. </div>
  14. <div class="table">
  15. <el-table
  16. :key="table.tableKey"
  17. v-loading="table.listLoading"
  18. element-loading-text="给我一点时间"
  19. :data="table.list"
  20. border
  21. fit
  22. highlight-current-row
  23. style="width: 100%;"
  24. :row-style="rowStyle"
  25. :cell-style="cellStyle"
  26. class="elTable table-fixed"
  27. >
  28. <el-table-column label="牧场" min-width="90px" align="center" prop="pastureName" />
  29. <el-table-column label="数据类型" min-width="90px" align="center" prop="msgtypeName">
  30. <template slot-scope="scope">
  31. <span >{{scope.row.msgtypeName}}</span>
  32. <!-- <span @click="clickType(scope.row)">{{scope.row.msgtypeName}}</span> -->
  33. </template>
  34. </el-table-column>
  35. <el-table-column label="请求参数" min-width="120px" align="center">
  36. <template slot-scope="scope">
  37. <el-tooltip placement="top" :open-delay="1000">
  38. <div slot="content">
  39. <div> {{ scope.row.request }} </div>
  40. </div>
  41. <div style="width: 100%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">{{ scope.row.request }}</div>
  42. </el-tooltip>
  43. </template>
  44. </el-table-column>
  45. <el-table-column label="响应参数" min-width="120px" align="center">
  46. <template slot-scope="scope">
  47. <el-tooltip placement="top" :open-delay="1000">
  48. <div slot="content">
  49. <div> {{ scope.row.response }} </div>
  50. </div>
  51. <div style="width:100%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">{{ scope.row.response }}</div>
  52. </el-tooltip>
  53. </template>
  54. </el-table-column>
  55. <el-table-column label="返回状态" min-width="90px" align="center" prop="status" />
  56. <el-table-column label="消息文本" min-width="90px" align="center" prop="msgtext" />
  57. <el-table-column label="请求地址" min-width="90px" align="center" prop="url" />
  58. <el-table-column label="创建时间" min-width="90px" align="center" prop="createTime" />
  59. </el-table>
  60. </div>
  61. <!-- 数据类型 -->
  62. <el-dialog :title="textMap[type.dialogStatus]" :visible.sync="type.dialogFormVisible" :close-on-click-modal="false" width="50%">
  63. <div class="app-type">
  64. <div class="table" v-if="type.temp.msgtypeName == '搅拌'">
  65. <el-table
  66. :key="type.table.tableKey"
  67. v-loading="type.table.listLoading"
  68. element-loading-text="给我一点时间"
  69. :data="type.table.list"
  70. border
  71. fit
  72. highlight-current-row
  73. style="width: 100%;"
  74. :row-style="rowStyle"
  75. :cell-style="cellStyle"
  76. class="elTable table-fixed"
  77. >
  78. <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
  79. <el-table-column label="日期" min-width="90px" align="center" prop="status" />
  80. <el-table-column label="班次" min-width="90px" align="center" prop="msgtext" />
  81. <el-table-column label="车次" min-width="90px" align="center" prop="url" />
  82. <el-table-column label="配方" min-width="90px" align="center" prop="createTime" />
  83. <el-table-column label="原料" min-width="90px" align="center" prop="createTime" />
  84. <el-table-column label="原料顺序" min-width="90px" align="center" prop="createTime" />
  85. <el-table-column label="理论重量" min-width="90px" align="center" prop="createTime" />
  86. <el-table-column label="实际重量" min-width="90px" align="center" prop="createTime" />
  87. <el-table-column label="开始时间" min-width="90px" align="center" prop="createTime" />
  88. <el-table-column label="结束时间" min-width="90px" align="center" prop="createTime" />
  89. <el-table-column label="驾驶员" min-width="90px" align="center" prop="createTime" />
  90. <el-table-column label="自拌料-饲料顺序" min-width="90px" align="center" prop="createTime" />
  91. <el-table-column label="自拌料-饲料名称" min-width="90px" align="center" prop="createTime" />
  92. <el-table-column label="自拌料-饲料重量" min-width="90px" align="center" prop="createTime" />
  93. <el-table-column label="实际重量修改记录" min-width="90px" align="center" prop="createTime" />
  94. <el-table-column label="修改时间" min-width="90px" align="center" prop="createTime" />
  95. </el-table>
  96. </div>
  97. <div class="table" v-else-if="type.temp.msgtypeName == '配方'">
  98. <el-table
  99. :key="type.table.tableKey"
  100. v-loading="type.table.listLoading"
  101. element-loading-text="给我一点时间"
  102. :data="type.table.list"
  103. border
  104. fit
  105. highlight-current-row
  106. style="width: 100%;"
  107. :row-style="rowStyle"
  108. :cell-style="cellStyle"
  109. class="elTable table-fixed"
  110. >
  111. <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
  112. <el-table-column label="配方名称" min-width="90px" align="center" prop="status" />
  113. <el-table-column label="原料编码" min-width="90px" align="center" prop="msgtext" />
  114. <el-table-column label="原料名称" min-width="90px" align="center" prop="url" />
  115. <el-table-column label="原料类型" min-width="90px" align="center" prop="createTime" />
  116. <el-table-column label="重量" min-width="90px" align="center" prop="createTime" />
  117. <el-table-column label="顺序" min-width="90px" align="center" prop="createTime" />
  118. <el-table-column label="允许误差" min-width="90px" align="center" prop="createTime" />
  119. </el-table>
  120. </div>
  121. <div class="table" v-else-if="type.temp.msgtypeName == '发料'">
  122. <el-table
  123. :key="type.table.tableKey"
  124. v-loading="type.table.listLoading"
  125. element-loading-text="给我一点时间"
  126. :data="type.table.list"
  127. border
  128. fit
  129. highlight-current-row
  130. style="width: 100%;"
  131. :row-style="rowStyle"
  132. :cell-style="cellStyle"
  133. class="elTable table-fixed"
  134. >
  135. <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
  136. <el-table-column label="日期" min-width="90px" align="center" prop="status" />
  137. <el-table-column label="班次" min-width="90px" align="center" prop="msgtext" />
  138. <el-table-column label="车次" min-width="90px" align="center" prop="url" />
  139. <el-table-column label="栏舍" min-width="90px" align="center" prop="createTime" />
  140. <el-table-column label="存栏" min-width="90px" align="center" prop="createTime" />
  141. <el-table-column label="发料顺序" min-width="90px" align="center" prop="createTime" />
  142. <el-table-column label="理论重量" min-width="90px" align="center" prop="createTime" />
  143. <el-table-column label="实际重量" min-width="90px" align="center" prop="createTime" />
  144. <el-table-column label="开始时间" min-width="90px" align="center" prop="createTime" />
  145. <el-table-column label="结束时间" min-width="90px" align="center" prop="createTime" />
  146. <el-table-column label="驾驶员" min-width="90px" align="center" prop="createTime" />
  147. <el-table-column label="配方名称" min-width="90px" align="center" prop="createTime" />
  148. <el-table-column label="饲料顺序" min-width="90px" align="center" prop="createTime" />
  149. <el-table-column label="饲料名称" min-width="90px" align="center" prop="createTime" />
  150. <el-table-column label="饲料重量" min-width="90px" align="center" prop="createTime" />
  151. <el-table-column label="自拌料-饲料顺序" min-width="90px" align="center" prop="createTime" />
  152. <el-table-column label="自拌料-饲料名称" min-width="90px" align="center" prop="createTime" />
  153. <el-table-column label="自拌料-饲料重量" min-width="90px" align="center" prop="createTime" />
  154. <el-table-column label="实际重量修改记录" min-width="90px" align="center" prop="createTime" />
  155. <el-table-column label="修改时间" min-width="90px" align="center" prop="createTime" />
  156. </el-table>
  157. </div>
  158. <div class="table" v-else>
  159. <el-table
  160. :key="type.table.tableKey"
  161. v-loading="type.table.listLoading"
  162. element-loading-text="给我一点时间"
  163. :data="type.table.list"
  164. border
  165. fit
  166. highlight-current-row
  167. style="width: 100%;"
  168. :row-style="rowStyle"
  169. :cell-style="cellStyle"
  170. class="elTable table-fixed"
  171. >
  172. <el-table-column label="序号" min-width="90px" align="center" prop="pastureName" />
  173. <el-table-column label="日期" min-width="90px" align="center" prop="status" />
  174. <el-table-column label="栏舍" min-width="90px" align="center" prop="msgtext" />
  175. <el-table-column label="重量" min-width="90px" align="center" prop="url" />
  176. </el-table>
  177. </div>
  178. <span v-if="type.table.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ type.table.total }}条</span>
  179. <div slot="footer" class="dialog-footer">
  180. <el-button class="cancelClose1" @click="type.dialogFormVisible = false;getList()">关闭</el-button>
  181. </div>
  182. </div>
  183. </el-dialog>
  184. </div>
  185. </template>
  186. <script>
  187. import { GetDataByName,GetDataByNames } from '@/api/common'
  188. import { parseTime } from '@/utils/index.js'
  189. import Cookies from 'js-cookie'
  190. export default {
  191. name: 'SapLog',
  192. data() {
  193. return {
  194. table:{
  195. getdataListParm:{
  196. name: 'getSaplogList',
  197. page: 1,
  198. offset: 1,
  199. pagecount: parseInt(Cookies.get('pageCount')),
  200. returntype: 'Map',
  201. parammaps: {
  202. pastureid: Cookies.get('pastureid'),
  203. startTime:'',
  204. endTime:'',
  205. inputDatetime:''
  206. }
  207. },
  208. tableKey: 0,
  209. list: [],
  210. total: 0,
  211. listLoading: true,
  212. temp: {}
  213. },
  214. requestParams:[
  215. { name: 'getSapPullDown', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
  216. { name: 'getPastureList', offset: 0, pagecount: 0, parammaps: { pastureid: Cookies.get('pastureid') }},
  217. ],
  218. dataTypeList:[],pastureList:[],
  219. textMap: {
  220. type: '搅拌数据类型详情',
  221. },
  222. type:{
  223. dialogFormVisible: false,
  224. dialogStatus: '',
  225. table:{
  226. tableKey: 0,
  227. list: [],
  228. total: 0,
  229. listLoading: false,
  230. },
  231. temp:{}
  232. },
  233. rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
  234. cellStyle: { padding: 0 + 'px' },
  235. }
  236. },
  237. created() {
  238. this.getDownList()
  239. this.getList()
  240. },
  241. methods: {
  242. getDownList(){
  243. GetDataByNames(this.requestParams).then(response => {
  244. this.dataTypeList = response.data.getSapPullDown.list
  245. this.pastureList = response.data.getPastureList.list
  246. })
  247. },
  248. getList() {
  249. this.table.listLoading = true
  250. GetDataByName(this.table.getdataListParm).then(response => {
  251. console.log('table数据', response.data.list)
  252. if (response.data.list !== null) {
  253. this.table.list = response.data.list
  254. this.table.pageNum = response.data.pageNum
  255. this.table.pageSize = response.data.pageSize
  256. } else {
  257. this.table.list = []
  258. }
  259. this.table.total = response.data.total
  260. setTimeout(() => {
  261. this.table.listLoading = false
  262. }, 100)
  263. })
  264. },
  265. handleSearch(){
  266. if (this.table.getdataListParm.parammaps.inputDatetime !== '' && this.table.getdataListParm.parammaps.inputDatetime !== null) {
  267. this.table.getdataListParm.parammaps.startTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}')
  268. this.table.getdataListParm.parammaps.endTime = parseTime(this.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}')
  269. } else {
  270. this.table.getdataListParm.parammaps.inputDatetime = ''
  271. this.table.getdataListParm.parammaps.startTime = ''
  272. this.table.getdataListParm.parammaps.endTime = ''
  273. }
  274. this.table.getdataListParm.offset = 1
  275. this.getList()
  276. },
  277. handleRefresh(){
  278. },
  279. clickType(row){
  280. this.type.temp = Object.assign({},row)
  281. this.type.temp.msgtypeName = '搅拌'
  282. this.type.dialogStatus = 'type'
  283. this.type.dialogFormVisible = true
  284. }
  285. }
  286. }
  287. </script>