血透系统PC前端

City.vue 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <template>
  2. <div class="main-contain">
  3. <div class="cell clearfix">
  4. <el-row :gutter="20">
  5. <el-col :span="24" :offset="6">
  6. <!--<div>质控平台的上报对接,是为了解决手工录入的效率和易出错的问题,对接涉及各种技术,请勿随意配置,联系酷医云客服协助处理。</div>-->
  7. <div>质控平台的上报对接,是为了解决手工录入的效率和易出错的问题,对接涉及各种技术,请勿随意配置,联系酷医云客服协助处理。<br/>&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;微信:11111 电话:13535547901</div>
  8. </el-col>
  9. </el-row>
  10. </div>
  11. <div class="cell clearfix">
  12. <el-row :gutter="20">
  13. <el-col :span="24" :offset="20">
  14. <el-form :model="form" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm" style="text-align: center">
  15. <el-form-item label="省" prop="province">
  16. <el-select v-model="form.province" clearable filterable placeholder="请选择" @change="changeProvince">
  17. <el-option
  18. v-for="item in provinces"
  19. :key="item.id"
  20. :label="item.name"
  21. :value="item.id">
  22. </el-option>
  23. </el-select>
  24. </el-form-item>
  25. <el-form-item label="市" prop="city">
  26. <el-select v-model="form.city" clearable filterable placeholder="请选择" @change="changeCity">
  27. <el-option
  28. v-for="item in citys"
  29. :key="item.id"
  30. :label="item.name"
  31. :value="item.id">
  32. </el-option>
  33. </el-select>
  34. </el-form-item>
  35. <el-form-item label="网关地址" prop="gateway_address" >
  36. <el-input v-model="form.gateway_address"></el-input>
  37. </el-form-item>
  38. <el-form-item label="AppID" prop="app_id">
  39. <el-input v-model="form.app_id"></el-input>
  40. </el-form-item>
  41. <el-form-item label="密钥" prop="key">
  42. <el-input v-model="form.key"></el-input>
  43. </el-form-item>
  44. <el-form-item label="自动上传周期" prop="time_type">
  45. <el-radio-group v-model="form.time_type">
  46. <el-radio label="1">一周</el-radio>
  47. <el-radio label="2">二周</el-radio>
  48. <el-radio label="3">一个月</el-radio>
  49. <el-radio label="4">三个月</el-radio>
  50. </el-radio-group>
  51. </el-form-item>
  52. <el-form-item>
  53. <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
  54. </el-form-item>
  55. </el-form>
  56. </el-col>
  57. </el-row>
  58. </div>
  59. </div>
  60. </template>
  61. <script>
  62. import {GetDistrictsByUpid} from '@/api/district';
  63. import {getConfig,postConfig,postModifyConfig,getIsDocking} from '@/api/config';
  64. export default {
  65. name: 'City',
  66. data() {
  67. return {
  68. signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
  69. provinces:[],
  70. citys:[],
  71. form: {
  72. id:0,
  73. province:'',
  74. city:'',
  75. gateway_address: '',
  76. app_id: '',
  77. key: '',
  78. time_type: '',
  79. config_type: 3,
  80. },rules: {
  81. gateway_address: [
  82. { required: true, message: '请输入网关地址', trigger: 'blur' },
  83. ],
  84. province: [
  85. { required: true, message: '请选择省份', trigger: 'change' }
  86. ],
  87. city: [
  88. { required: true, message: '请选择城市', trigger: 'change' }
  89. ],
  90. app_id: [
  91. { required: true, message: '请输入AppID', trigger: 'blur' },
  92. ],
  93. key: [
  94. { required: true, message: '请输入密钥', trigger: 'blur' },
  95. ],
  96. time_type: [
  97. { required: true, message: '请选择自动上传周期', trigger: 'change' }
  98. ],
  99. },
  100. }
  101. },created(){
  102. this.getDistricts()
  103. this.getConfig()
  104. },methods:{
  105. submitForm: function(formName) {
  106. this.$refs[formName].validate((valid) => {
  107. if (valid) {
  108. if (this.form.id == 0){
  109. postConfig(this.form).then(response=>{
  110. var res = response.data;
  111. console.log(res)
  112. if(res.state==1) {
  113. this.config = res.data.config
  114. this.form.id = this.config.id
  115. this.form.gateway_address = this.config.gateway_address
  116. this.form.app_id = this.config.app_id
  117. this.form.key = this.config.key
  118. this.form.province = this.config.province_id
  119. this.form.time_type = this.config.time_quantum
  120. this.$message.success('提交成功')
  121. }else{
  122. this.$message.error(res.msg)
  123. }
  124. }).catch(e=>{
  125. })
  126. }else{
  127. postModifyConfig(this.form).then(response=>{
  128. var res = response.data;
  129. if(res.state==1) {
  130. this.config = res.data.config
  131. this.form.id = this.config.id
  132. this.form.gateway_address = this.config.gateway_address
  133. this.form.app_id = this.config.app_id
  134. this.form.key = this.config.key
  135. this.form.province = this.config.province_id
  136. this.form.time_type = this.config.time_quantum
  137. this.$message.success('修改成功')
  138. }else{
  139. this.$message.error(res.msg)
  140. }
  141. }).catch(e=>{
  142. })
  143. }
  144. } else {
  145. return false;
  146. }
  147. });
  148. },
  149. getDistricts:function() {
  150. GetDistrictsByUpid({id:0}).then(response=>{
  151. var res = response.data;
  152. if(res.state===1) {
  153. this.provinces = res.data.citys
  154. }
  155. }).catch(e=>{
  156. })
  157. },getConfig:function() {
  158. getConfig({config_type: 3}).then(response=>{
  159. var res = response.data;
  160. if(res.state===1) {
  161. this.config = res.data.config
  162. this.form.id = this.config.id
  163. this.form.gateway_address = this.config.gateway_address
  164. this.form.app_id = this.config.app_id
  165. this.form.key = this.config.key
  166. this.form.time = this.config.time_quantum
  167. this.form.province = this.config.province_id
  168. this.form.city = this.config.city_id
  169. }
  170. }).catch(e=>{
  171. })
  172. },changeProvince(id) {
  173. this.citys = [];
  174. this.form.district = id;
  175. var upid = parseInt(id);
  176. if (isNaN(upid) || upid<=0) {
  177. return false;
  178. }
  179. GetDistrictsByUpid({id:upid}).then(response=>{
  180. var res = response.data;
  181. if(res.state===1) {
  182. this.citys = res.data.citys
  183. }else{
  184. this.$message.error(res.msg)
  185. }
  186. }).catch(e=>{
  187. })
  188. },
  189. changeCity(id) {
  190. getIsDocking({config_type: 2 , province: this.form.province, city:id}).then(response=>{
  191. var res = response.data;
  192. if(res.state==1) {
  193. if (res.data.is_docking == 2){
  194. this.$message.error('该地区尚未对接,请联系客服')
  195. this.form.province = '';
  196. this.form.city = '';
  197. }else{
  198. this.form.city = id;
  199. }
  200. }else{
  201. this.$message.error(res.msg)
  202. }
  203. }).catch(e=>{
  204. })
  205. }
  206. }
  207. }
  208. </script>
  209. <style scoped>
  210. </style>