DefaultPara.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. <template>
  2. <div>
  3. <el-card>
  4. <el-form ref="addFormRef" :rules="addFormRules" :model="addForm" label-position="right" label-width="200px" style="width:70%;">
  5. <el-row>
  6. <el-col :span="12">
  7. <el-form-item label="代乳粉与水的比例:" prop="name">
  8. <el-col :span="11">
  9. <el-form-item prop="milk_replace_min">
  10. <el-input-number v-model="addForm.milk_replace_min" style="width:100%;" :controls="false" placeholder="比例" />
  11. </el-form-item>
  12. </el-col>
  13. <el-col class="line" :span="2">-</el-col>
  14. <el-col :span="11">
  15. <el-form-item prop="milk_replace_max">
  16. <el-input-number v-model="addForm.milk_replace_max" style="width:100%;" :controls="false" placeholder="比例" />
  17. </el-form-item>
  18. </el-col>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="12">
  22. <el-form-item label="饲喂班次数量:" prop="class_number">
  23. <el-select v-model="addForm.class_number" filterable placeholder="请选择" style="width: 98%;" >
  24. <el-option v-for="item in classList" :key="item.id" :label="item.value" :value="item.id" />
  25. </el-select>
  26. </el-form-item>
  27. </el-col>
  28. </el-row>
  29. <el-row>
  30. <el-col :span="12">
  31. <el-form-item label="计量单位小数点位数:" prop="measurement_decimals">
  32. <el-select v-model="addForm.measurement_decimals" filterable placeholder="请选择" style="width: 98%;" >
  33. <el-option v-for="item in unitList1" :key="item.id" :label="item.value" :value="item.id" />
  34. </el-select>
  35. </el-form-item>
  36. </el-col>
  37. <el-col :span="12">
  38. <el-form-item label="比例小数点位数:" prop="ratio_decimals">
  39. <el-select v-model="addForm.ratio_decimals" filterable placeholder="请选择" style="width: 98%;" >
  40. <el-option v-for="item in unitList2" :key="item.id" :label="item.value" :value="item.id" />
  41. </el-select>
  42. </el-form-item>
  43. </el-col>
  44. </el-row>
  45. <el-row>
  46. <el-col :span="12">
  47. <el-form-item label="犊牛断奶提醒:" prop="weaning_reminder">
  48. <el-input v-model="addForm.weaning_reminder" :controls="false" placeholder="比例" >
  49. <template slot="append">天</template>
  50. </el-input>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :span="12">
  54. <el-form-item label="饲喂时间误差范围:" prop="feed_plan_time_rang">
  55. <el-input v-model="addForm.feed_plan_time_rang" :controls="false" placeholder="比例" >
  56. <template slot="append">分钟</template>
  57. </el-input>
  58. </el-form-item>
  59. </el-col>
  60. </el-row>
  61. <el-row>
  62. <el-col :span="12">
  63. <el-button type="warning" v-if="isButtonEdit" @click="reset_save()">恢复默认</el-button>
  64. <el-button type="primary" v-if="isButtonEdit" @click="add_dialog_save()">保存</el-button>
  65. </el-col>
  66. </el-row>
  67. </el-form>
  68. </el-card>
  69. </div>
  70. </template>
  71. <script>
  72. import { ajaxDataGet, ajaxDataPost, ajaxDataPut, ajaxDataDelete, checkButtons} from '@/api/common'
  73. import { parseTime, json2excel } from '@/utils/index.js'
  74. export default {
  75. data() {
  76. return {
  77. //接口 - 获取 - 表格
  78. url_get_table:'/api/v1/ops/base_setting/default_params/list',
  79. //接口 - 新增 - 表格
  80. url_add_table:'/api/v1/ops/base_setting/default_params/edit',
  81. //接口 - 修改 - 表格
  82. //接口 - 下拉框 列表
  83. url_get_select1:'/role/getAll',
  84. //按钮权限
  85. isButtonEdit:false,
  86. //获取 - 表格数据 - 参数
  87. searchData:{
  88. name: "",
  89. page: 1, //页码
  90. page_size: 10, //每页数量
  91. total:0, //总页数
  92. pastureId: ""
  93. },
  94. tableLoading: false,
  95. //表格内容
  96. tableList:[
  97. // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123',roleList:[2,3] },
  98. // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123',roleList:[] },
  99. // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
  100. // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
  101. // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
  102. // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
  103. // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
  104. // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
  105. // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
  106. // { username:"admin", id:100, date:'2023-12-01',email:'测试信息1123' },
  107. // { username:"epans", id:200, date:'2023-12-01',email:'测试信息1123' },
  108. // { username:"derek", id:300, date:'2023-12-01',email:'测试信息1123' },
  109. ],
  110. classList:[
  111. {id: 1, value: 1},
  112. {id: 2, value: 2},
  113. {id: 3, value: 3},
  114. {id: 4, value: 4},
  115. ],
  116. unitList1:[
  117. {id: 1, value: '整数'},
  118. {id: 2, value: '保留1位'},
  119. {id: 3, value: '保留2位'},
  120. {id: 4, value: '保留3位'},
  121. ],
  122. unitList2:[
  123. {id: 1, value: '整数'},
  124. {id: 2, value: '保留1位'},
  125. {id: 3, value: '保留2位'},
  126. {id: 4, value: '保留3位'},
  127. ],
  128. addFormShow:false,
  129. addFormStatus: '',
  130. addFormTxt: { edit: '修改', create: '新增' },
  131. addForm:{
  132. name:'',id:''
  133. },
  134. addFormRules:{
  135. // name: [
  136. // { required: true, message: '类型必填', trigger: 'blur' },
  137. // ],
  138. },
  139. }
  140. },
  141. created(){
  142. //获取按钮权限
  143. const isButtonEdit = checkButtons(this.$store.state.buttonsList, "默认标准参数编辑")
  144. this.isButtonEdit = isButtonEdit
  145. console.log('this.isButtonEdit==========',this.isButtonEdit)
  146. //获取下拉框
  147. // this.get_select_list1()
  148. //表格 - 初始化
  149. this.get_table_data()
  150. },
  151. methods:{
  152. //获取 下拉框
  153. get_select_list1(){
  154. var me = this
  155. ajaxDataGet(me.url_get_select1, {"roleName": "", "page": 1, "page_size": 1000}).then(e => {
  156. console.log("下拉框1:",e)
  157. //打印请求成功结果
  158. if(e.data == null || e.data == undefined ||e.data.length == 0 ){
  159. me.roleList = []
  160. } else {
  161. me.roleList = e.data
  162. }
  163. })
  164. ajaxDataGet('/authdata/pasture', { "page": 1, "page_size": 1000}).then(e => {
  165. console.log("牧场下拉框1:",e)
  166. //打印请求成功结果
  167. if(e.data == null || e.data == undefined ||e.data.length == 0 ){
  168. me.pastureList = []
  169. } else {
  170. me.pastureList = e.data
  171. }
  172. })
  173. },
  174. //获取 表格
  175. get_table_data() {
  176. var me = this
  177. me.tableLoading = true
  178. console.log("searchData======>", me.searchData)
  179. var send_url = me.url_get_table
  180. ajaxDataGet(send_url, {}).then(e => {
  181. console.log("表格请求结果:",e)
  182. //打印请求成功结果
  183. if(e.code == 200 ){
  184. me.addForm = e.data
  185. } else {
  186. me.$message({ type: 'error', message: '请求默认数据失败!' + e.msg, duration: 2000 })
  187. }
  188. })
  189. },
  190. //搜索 查询表格
  191. form_search(){
  192. var me = this
  193. console.log('请求表格列表searchData',me.searchData)
  194. me.get_table_data()
  195. },
  196. //重置 表格
  197. form_clear(){
  198. var me = this
  199. me.searchData.name = ""
  200. me.get_table_data()
  201. },
  202. //监听 page_size 改变的事件
  203. change_size_page(item){
  204. console.log(item)
  205. // this.searchData.page_size = item
  206. // this.getUserList()
  207. },
  208. //监听 page 改变的事件
  209. change_current_page(item){
  210. console.log(item)
  211. this.searchData.page = item
  212. this.get_table_data()
  213. },
  214. //清空弹窗表单信息
  215. reset_form(){
  216. this.addForm.name = ''
  217. },
  218. //新增
  219. form_add() {
  220. this.reset_form()
  221. this.addFormStatus = 'create'
  222. this.addFormShow = true
  223. this.$nextTick(() => {
  224. this.$refs['addFormRef'].clearValidate()
  225. })
  226. },
  227. //编辑
  228. form_edit(row) {
  229. console.log('行内容row=========', row)
  230. //编辑行内容赋值
  231. this.addForm = Object.assign({}, row)
  232. this.addFormStatus = 'edit'
  233. this.addFormShow = true
  234. this.$nextTick(() => {
  235. this.$refs['addFormRef'].clearValidate()
  236. })
  237. },
  238. //新增关闭
  239. add_dialog_close(){
  240. //内容重置
  241. this.$refs['addFormRef'].resetFields()
  242. },
  243. //新增 保存
  244. add_dialog_save() {
  245. var me = this
  246. this.$refs['addFormRef'].validate(valid => {
  247. //验证成功
  248. if (valid) {
  249. //发起请求
  250. var send_data = {
  251. "milk_replace_min": me.addForm.milk_replace_min,
  252. "milk_replace_max": me.addForm.milk_replace_max,
  253. "class_number": me.addForm.class_number,
  254. "measurement_decimals": me.addForm.measurement_decimals,
  255. "ratio_decimals": me.addForm.ratio_decimals,
  256. "weaning_reminder": parseFloat(me.addForm.weaning_reminder),
  257. "feed_plan_time_rang": parseFloat(me.addForm.feed_plan_time_rang)
  258. }
  259. console.log("弹窗参数:", send_data)
  260. //关闭弹窗
  261. // me.addFormShow = false
  262. //加载 - 发送新增保存
  263. ajaxDataPost(me.url_add_table, send_data).then(e => {
  264. console.log("新增结果:",e)
  265. //打印请求成功结果
  266. if(e.code == 200 ){
  267. me.$message({ type: 'success', message: '修改成功!' , duration: 2000 })
  268. me.get_table_data()
  269. } else {
  270. me.$message({ type: 'error', message: '修改失败!' + e.msg, duration: 2000 })
  271. }
  272. })
  273. }
  274. })
  275. },
  276. reset_save(){
  277. var me = this
  278. ajaxDataPost('/api/v1/ops/base_setting/default_params/reset', {}).then(e => {
  279. console.log("新增结果:",e)
  280. //打印请求成功结果
  281. if(e.code == 200 ){
  282. me.$message({ type: 'success', message: '恢复成功!' , duration: 2000 })
  283. me.get_table_data()
  284. } else {
  285. me.$message({ type: 'error', message: '恢复失败!' + e.msg, duration: 2000 })
  286. }
  287. })
  288. },
  289. }
  290. }
  291. </script>
  292. <!-- 加了scoped,则是仅在此组件里生效 -->
  293. <style scoped>
  294. </style>