Procházet zdrojové kódy

Merge branch 'test' of sckj/mz-cloud into master

NanMing před 2 roky
rodič
revize
ad51d32258

+ 13 - 6
ruoyi-web/src/views/rzyljgsq/index.vue

@@ -90,9 +90,14 @@
       <el-table class="result" v-if="showResult === 1" :data="searchResult">
         <el-table-column label="预约人姓名" align="center" prop="xm" />
         <el-table-column label="预约人身份证号码" align="center" prop="zjhm" width="200" />
-        <!-- <el-table-column label="预约时间" align="center" prop="jgmc" /> -->
         <el-table-column label="预约机构" align="center" prop="jgmc" width="200" />
-        <el-table-column label="预约状态" align="center" prop="yyzt" />
+        <el-table-column label="预约状态" align="center" prop="yyzt" #default="scope">
+          <template v-for="(item,idx) in XZ026" :key="idx">
+            <template v-if="item.value == scope.row.yyzt">
+              <el-tag> {{ item.label }} </el-tag>
+            </template>
+          </template>
+        </el-table-column>
       </el-table>
       <div class="noResult" v-else-if="showResult === 0">暂无查询结果</div>
     </el-dialog>
@@ -100,11 +105,13 @@
 </template>
 
 <script setup>
-import { reactive, ref } from 'vue'
+import { getCurrentInstance, reactive, ref } from 'vue'
 import { useRouter } from 'vue-router'
 import { getOrderOrgResult } from '@/api/home'
 
 let router = useRouter()
+const { proxy } = getCurrentInstance()
+const { XZ026 } = proxy.useDict('XZ026')
 const handleClick = () => { }
 const activeName = ref('1')
 const tabActive = ref('first')
@@ -126,8 +133,8 @@ const search = () => showSearch.value = true
 // 查询结果表单相关
 const formRef = ref()
 const form = reactive({
-  xm: '夏洛',
-  zjhm: '220123194808291226',
+  // xm: '夏洛',
+  // zjhm: '220123194808291226',
 })
 const rules = reactive({
   xm: [
@@ -162,7 +169,7 @@ function resetForm(formEl) {
 }
 
 // 关闭dialog时的回调
-function resetDialog(){
+function resetDialog() {
   showResult.value = ''
 }
 </script>

+ 33 - 12
ruoyi-web/src/views/rzyljgsq/sqzltx/index.vue

@@ -12,7 +12,8 @@
       </div>
     </div>
     <div class="center_box">
-      <el-form ref="formRef" class="applyForm" :model="form" :rules="rules" label-width="191px" size="large">
+      <el-form v-if="showForm" ref="formRef" class="applyForm" :model="form" :rules="rules" label-width="191px"
+        size="large">
         <el-form-item label="老人姓名" prop="xm">
           <el-input v-model="form.xm" placeholder="请输入老人姓名" clearable></el-input>
         </el-form-item>
@@ -38,6 +39,7 @@
             type="danger" @click="onSubmit(formRef)">提 交</el-button>
         </el-form-item>
       </el-form>
+      <div v-else class="backInfo">您已成功提交申请<br /><span>页面即将自动返回上页...</span></div>
     </div>
   </div>
   <!-- 选择养老机构弹出框 -->
@@ -46,20 +48,24 @@
   
   
 <script setup>
-import { reactive, ref } from 'vue'
+import { onBeforeUnmount, reactive, ref } from 'vue'
+import { useRouter } from 'vue-router'
 import { orderOrg } from '@/api/home'
 
-// const showOrg = ref(false)
+const showForm = ref(true)
 const loading = ref(false)
 const formRef = ref()
+let router = useRouter()
+let timer
+
 // 表单数据
 const form = reactive({
-  xm: '夏洛', // 姓名
-  zjhm: '220123194808291226', // 证件号码
-  lrjzdzxzqh: '220102001001', // 居住地行政区划
-  lrjzdz: '前进大街1000号', // 居住地址
-  yyLrRzyddh: '15578176756',  // 联系方式
-  yyLrYljg: '03bc8c3afc1c233a6fd07483193a0014',  // 选择机构
+  // xm: '夏洛', // 姓名
+  // zjhm: '220123194808291226', // 证件号码
+  // lrjzdzxzqh: '220102001001', // 居住地行政区划
+  // lrjzdz: '前进大街1000号', // 居住地址
+  // yyLrRzyddh: '15578176756',  // 联系方式
+  // yyLrYljg: '03bc8c3afc1c233a6fd07483193a0014',  // 选择机构
 })
 // 表单校验规则
 const rules = reactive({
@@ -88,15 +94,20 @@ async function onSubmit(formEl) {
     if (valid) {
       orderOrg(form).then((res) => {
         console.log(res);
-        alert('提交成功')
-      }).finally(() => loading.value = false)
+        showForm.value = false
+        timer = setTimeout(() => router.push('/rzyljgsq'), 2000)
+      }).finally(() => {
+        loading.value = false
+      })
     } else {
-      alert('提交失败', fields)
       loading.value = false
     }
   })
 }
 
+onBeforeUnmount(() => {
+  clearTimeout(timer)
+})
 </script>
   
 
@@ -165,5 +176,15 @@ async function onSubmit(formEl) {
       width: 100%;
     }
   }
+
+  .backInfo {
+    padding: 15% 0;
+    overflow: hidden;
+    color: #606266;
+
+    span {
+      color: #b80100;
+    }
+  }
 }
 </style>

+ 65 - 10
ruoyi-web/src/views/slhgzsq/index.vue

@@ -26,7 +26,8 @@
       </div>
       <div>
         本市户籍的申请对象,改造内容符合要求的,可享受补贴。最低生活保障家庭的老年人、低收入家庭的老年人年满 80 周岁且本人月收入低于上年度城镇企业月平均养老金的老年人,分别按照100%、80%、50%进行补贴;经上海市老年照护
-        统一需求评估具有二级以上照护等级的老年人,以及经街道审核认定的无子女的,高龄独居或者纯老家庭中的老年人,按40%补贴。 民政部门为符合补贴条件的对象提供: 1、“产品包”补贴(每户家庭最高补贴不超过3000元); 2、“一站式服务”(包含申请受理、上门评估、组织管理、质保监管等相关服务)
+        统一需求评估具有二级以上照护等级的老年人,以及经街道审核认定的无子女的,高龄独居或者纯老家庭中的老年人,按40%补贴。 民政部门为符合补贴条件的对象提供: 1、“产品包”补贴(每户家庭最高补贴不超过3000元);
+        2、“一站式服务”(包含申请受理、上门评估、组织管理、质保监管等相关服务)
         3年内已开展过“低保困难老年人家庭适老化改造项目”的不纳入此次补贴范围。
       </div>
       <div class="sqdxTitle">
@@ -39,17 +40,32 @@
     </div>
     <el-dialog v-model="showSearch" title="查询结果" append-to-body :lock-scroll="false">
       <el-form class="searchForm" ref="formRef" :model="form" :rules="rules" size="large" :inline="true">
-        <el-form-item label="姓名" label-width="100px" prop="name">
-          <el-input v-model="form.name" placeholder="请输入申请人姓名" clearable></el-input>
+        <el-form-item label="填报人姓名" label-width="100px" prop="tbrXm">
+          <el-input v-model="form.tbrXm" placeholder="请输入填报人姓名" clearable></el-input>
         </el-form-item>
-        <el-form-item label="手机号" label-width="120px" prop="idNumber">
-          <el-input v-model="form.idNumber" placeholder="请输入申请人手机号" maxlength="11" clearable></el-input>
+        <el-form-item label="填报人手机号" label-width="120px" prop="tbrSjhm">
+          <el-input v-model="form.tbrSjhm" placeholder="请输入填报人手机号" maxlength="11" clearable></el-input>
         </el-form-item>
         <el-form-item class="btn-group">
           <el-button class="submitBtn" type="danger" @click="onSubmit(formRef)">查 询</el-button>
           <el-button class="submitBtn" type="danger" plain @click="resetForm(formRef)">重 置</el-button>
         </el-form-item>
       </el-form>
+      <!-- <el-table class="result" v-if="showResult === 1" :data="searchResult">
+        <el-table-column label="预约人姓名" align="center" prop="xm" />
+        <el-table-column label="预约人身份证号码" align="center" prop="zjhm" width="200" />
+        <el-table-column label="预约机构" align="center" prop="jgmc" width="200" />
+        <el-table-column label="预约状态" align="center" prop="yyzt" #default="scope">
+          <template v-for="(item,idx) in XZ026" :key="idx">
+            <template v-if="item.value == scope.row.yyzt">
+              <el-tag> {{ item.label }} </el-tag>
+            </template>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="noResult" v-else-if="showResult === 0">暂无查询结果</div> -->
+      <div class="noResult">{{resultStr}}</div>
+
     </el-dialog>
   </div>
 </template>
@@ -57,11 +73,18 @@
 <script setup>
 import { reactive, ref } from 'vue'
 import { useRouter } from 'vue-router'
+import { getRetrofitApplyResult } from '@/api/home'
 
 let router = useRouter()
-
 // 查询结果弹出框是否显示
 const showSearch = ref(false)
+// 是否查询到数据
+const showResult = ref()
+// 表格数据
+const searchResult = ref([])
+
+const resultStr = ref()
+
 // 立即申请按钮
 const apply = () => router.push('slhgzsq/sqzltx')
 // 查询结果按钮
@@ -69,12 +92,15 @@ const search = () => showSearch.value = true
 
 // 查询结果表单相关
 const formRef = ref()
-const form = reactive({})
+const form = reactive({
+  tbrXm: '',
+  tbrSjhm: ''
+})
 const rules = reactive({
-  name: [
+  tbrXm: [
     { required: true, message: '请输入申请人姓名', trigger: 'blur' },
   ],
-  idNumber: [
+  tbrSjhm: [
     { required: true, message: '请输入申请人手机号', trigger: 'blur' }
   ],
 })
@@ -82,7 +108,17 @@ async function onSubmit(formEl) {
   if (!formEl) return
   await formEl.validate((valid, fields) => {
     if (valid) {
-      console.log('submit');
+      getRetrofitApplyResult(form).then((res) => {
+        console.log(res);
+        if (res.rows.length > 0) {
+          // showResult.value = 1
+          // searchResult.value = res.rows
+          resultStr.value= '申请已提交成功'
+        } else {
+          // showResult.value = 0
+          resultStr.value= '暂无查询结果'
+        }
+      })
     } else {
       console.log('submit error', fields);
     }
@@ -92,6 +128,11 @@ function resetForm(formEl) {
   if (!formEl) return
   formEl.resetFields()
 }
+
+// 关闭dialog时的回调
+function resetDialog() {
+  showResult.value = ''
+}
 </script>
 
 <style lang="scss" scoped>
@@ -139,6 +180,7 @@ function resetForm(formEl) {
   margin-left: 25px;
   margin-right: 25px;
 }
+
 .sqdxTitle {
   display: flex;
   justify-content: space-between;
@@ -148,10 +190,12 @@ function resetForm(formEl) {
   font-weight: 600;
   margin: 40px 0;
 }
+
 .line {
   width: 92%;
   border-top: 1px solid #dedede;
 }
+
 .sqlc {
   width: 90%;
 }
@@ -170,4 +214,15 @@ function resetForm(formEl) {
     }
   }
 }
+
+.result {
+  margin: 25px 0;
+}
+
+.noResult {
+  font-size: 18px;
+  text-align: center;
+  color: #c0292e;
+  margin: 25px 0;
+}
 </style>

+ 126 - 52
ruoyi-web/src/views/slhgzsq/sqzltx/index.vue

@@ -12,21 +12,14 @@
       </div>
     </div>
     <div class="center_box">
-      <el-form ref="formRef" class="applyForm" :model="form" :rules="rules" label-width="191px" size="large">
+      <el-form v-if="showForm" ref="formRef" class="applyForm" :model="form" :rules="rules" label-width="191px"
+        size="large" :inline="true">
         <el-form-item label="改造对象姓名" prop="xm">
           <el-input v-model="form.xm" placeholder="请输入改造对象姓名" clearable />
         </el-form-item>
         <el-form-item label="改造对象联系电话" prop="lxdh">
           <el-input v-model="form.lxdh" placeholder="请输入改造对象联系电话" clearable />
         </el-form-item>
-        <el-form-item label="是否特殊困难老年人" prop="isTsknlr">
-          <el-radio-group v-model="form.isTsknlr">
-            <el-radio :label="1">是</el-radio>
-            <el-radio :label="0">否</el-radio>
-            <!-- <el-radio v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.value">{{dict.label}}
-            </el-radio> -->
-          </el-radio-group>
-        </el-form-item>
         <el-form-item label="改造资金" prop="gzzj">
           <el-input v-model="form.gzzj" type="number" placeholder="请输入改造资金" clearable></el-input>
           <!-- <number placeholder="请输入改造资金" v-model="form.gzzj" :min="0" :max="10000000000" :precision="2" /> -->
@@ -36,33 +29,35 @@
           <!-- <number placeholder="其中财政补助资金" v-model="form.czbtzjQt" :min="0" :max="10000000000" :precision="2" /> -->
         </el-form-item>
         <el-form-item label="改造住房地址" prop="zfdz">
-          <el-input v-model="form.zfdz" placeholder="请输入财政补助资金" clearable></el-input>
+          <el-input v-model="form.zfdz" placeholder="请输入改造住房地址" clearable></el-input>
           <!-- <RegionCascaderSelect v-model="form.zfdz" style="width: 100%"></RegionCascaderSelect> -->
         </el-form-item>
         <el-form-item label="详细地址" prop="xxdz">
           <el-input v-model="form.xxdz" type="textarea" maxlength="400" show-word-limit placeholder="请输入详细地址" />
         </el-form-item>
-        <el-form-item label="改造对象身份" prop="sfdm">
-          <el-radio-group v-model="form.sfdm">
-            <el-radio :label="1">是</el-radio>
-            <el-radio :label="0">否</el-radio>
+        <el-form-item label="是否特殊困难老年人" prop="isTsknlr">
+          <el-radio-group v-model="form.isTsknlr">
+            <el-radio v-for="dict in CZ035" :key="dict.value" :label="dict.value">{{dict.label}}
+            </el-radio>
           </el-radio-group>
-          <!-- <el-radio-group v-model="form.sfdm" @change="changeQT(form.sfdm,'99','sfQt')">
-            <el-radio v-for="dict in dict.type.CH048" :key="dict.value" :label="dict.value">{{dict.label}}
+        </el-form-item>
+        <el-form-item class="el-form-item1" label="改造对象身份" prop="sfdm">
+          <el-radio-group v-model="form.sfdm" @change="changeQT(form.sfdm,'99','sfQt')">
+            <el-radio v-for="dict in CH048" :key="dict.value" :label="dict.value">{{dict.label}}
             </el-radio>
-          </el-radio-group> -->
+          </el-radio-group>
         </el-form-item>
-        <el-form-item label="其他身份" prop="sfQt" v-if="form.sfdm=='99'">
+        <el-form-item class="el-form-item1" label="其他身份" prop="sfQt" v-if="form.sfdm=='99'">
           <el-input v-model="form.sfQt" placeholder="请输入其他身份" />
         </el-form-item>
-        <el-form-item label="改造内容" prop="gznr">
-          <el-checkbox-group v-model="form.gznr" @change="changeQTS(form.gznr,'99','gznrQt')">
-            <el-checkbox v-for="dict in dict.type.CH049" :key="dict.value" :label="dict.value">
+        <el-form-item class="el-form-item1" label="改造内容" prop="gznr">
+          <el-checkbox-group v-model="form.gznr" @change="changeQT(form.gznr,'99','gznrQt')">
+            <el-checkbox v-for="dict in CH049" :key="dict.value" :label="dict.value">
               {{dict.label}}
             </el-checkbox>
           </el-checkbox-group>
         </el-form-item>
-        <el-form-item label="其他改造内容" prop="gznrQt" v-if="ifQTS(form.gznr,'99')">
+        <el-form-item class="el-form-item1" label="其他改造内容" prop="gznrQt" v-if="ifQTS(form.gznr,'99')">
           <el-input v-model="form.gznrQt" placeholder="请输入其他改造内容" />
         </el-form-item>
         <el-form-item label="填报人姓名" prop="tbrXm">
@@ -71,60 +66,120 @@
         <el-form-item label="填报人手机号码" prop="tbrSjhm">
           <el-input v-model="form.tbrSjhm" placeholder="请输入填报人手机号码" />
         </el-form-item>
-        <el-form-item label="相关材料" prop="xgcl">
-          <file-upload v-model="form.xgcl" />
+        <el-form-item class="el-form-item1" label="相关材料" prop="xgcl">
+          <!-- <file-upload v-model="form.xgcl" /> -->
+          <FileUpload v-model="form.xgcl"></FileUpload>
         </el-form-item>
-        <el-form-item label="">
+        <el-form-item class="el-form-item1">
           <el-button v-loading="loading" element-loading-background="rgba(255, 255, 255, 0.3)" class="submitBtn"
             type="danger" @click="onSubmit(formRef)">提 交</el-button>
         </el-form-item>
       </el-form>
+      <div v-else class="backInfo">您已成功提交申请<br /><span>页面即将自动返回上页...</span></div>
     </div>
   </div>
 </template>
   
   
 <script setup>
-import { reactive, ref } from 'vue'
+import { getCurrentInstance, reactive, ref } from 'vue'
+import { useRouter } from 'vue-router'
+import { retrofitApply } from '@/api/home'
 
+let router = useRouter()
+let timer
+const { proxy } = getCurrentInstance()
+const { CZ035, CH048, CH049 } = proxy.useDict('CZ035', 'CH048', 'CH049')
 const loading = ref(false)
 const formRef = ref()
+const showForm = ref(true)
 // 表单数据
 const form = reactive({
-  name: '',
-  idNumber: '',
-  szxzqh: '',
-  address: '',
-  phoneNumber: '',
-  organization: '',
+  // xm: '夏洛',
+  // lxdh: '15512341234',
+  // isTsknlr: '1',
+  // gzzj: '10000',
+  // czbtzjQt: '5000',
+  // zfdz: '220102001001',
+  // xxdz: '详细地址',
+  // sfdm:'01',
+  // gznr:'03',
+  // tbrXm: '填报人',
+  // tbrSjhm: '15512341234',
 })
-// 表单校验规则
+// 表单校验
 const rules = reactive({
-  name: [
-    { required: true, message: '请输入老人姓名', trigger: 'blur' },
+  xm: [
+    { required: true, message: '改造对象姓名不能为空', trigger: 'blur' },
+    { max: 72, message: '改造对象姓名不能超过72个字符', trigger: 'blur' },
   ],
-  idNumber: [
-    { required: true, message: '请输入老人身份证号码', trigger: 'blur' },
-    { max: 18, message: '身份证号码不能超过18位', trigger: 'blur' },
+  lxdh: [
+    { required: true, message: '改造对象联系电话不能为空', trigger: 'blur' },
   ],
-  szxzqh: [
-    { required: true, message: '请输入老人居住地址', trigger: 'blur' },
+  isTsknlr: [
+    { required: true, message: '是否特殊困难老年人不能为空', trigger: 'blur' }
   ],
-  phoneNumber: [
-    { required: true, message: '请输入填报人手机号码', trigger: 'blur' },
+  gzzj: [
+    { required: true, message: '改造资金不能为空', trigger: 'blur' }
   ],
-  organization: [
-    { required: true, message: '请选择机构', trigger: 'blur' },
+  czbtzjQt: [
+    { required: true, message: '其中财政补助资金不能为空', trigger: 'blur' }
   ],
+  zfdz: [
+    { required: true, message: '改造住房地址不能为空', trigger: 'blur' },
+  ],
+  xxdz: [
+    { required: true, message: '详细地址不能为空', trigger: 'blur' }
+  ],
+  sfdm: [
+    { required: true, message: '改造对象身份不能为空', trigger: 'change' }
+  ],
+  sfQt: [
+    { required: true, message: '其他身份不能为空', trigger: 'blur' },
+    { max: 120, message: '其他身份不能超过120个字符', trigger: 'blur' }
+  ],
+  gznr: [
+    { required: true, message: '改造内容不能为空', trigger: 'change' }
+  ],
+  gznrQt: [
+    { required: true, message: '其他改造内容不能为空', trigger: 'blur' },
+    { max: 120, message: '其他改造内容不能超过120个字符', trigger: 'blur' }
+  ],
+  tbrXm: [
+    { required: true, message: '填报人姓名不能为空', trigger: 'blur' },
+    { max: 72, message: '填报人姓名不能超过72个字符', trigger: 'blur' },
+  ],
+  tbrSjhm: [
+    { required: true, message: '填报人手机号码不能为空', trigger: 'blur' },
+  ]
 })
 
+function changeQT(value, value2, value3) {
+  if (value != value2) {
+    this.form[value3] = "";
+  }
+}
+
+function ifQTS(value, value2) {
+  if (value && value.indexOf(value2) !== -1) {
+    return true
+  }
+  return false
+}
+
 async function onSubmit(formEl) {
   if (!formEl) return
   await formEl.validate((valid, fields) => {
     loading.value = true
     if (valid) {
-
-      loading.value = false
+      form.gznr = form.gznr.join(',')
+      retrofitApply(form).then((res) => {
+        console.log(res);
+        showForm.value = false
+        timer = setTimeout(() => router.push('/slhgzsq'), 2000)
+      }).finally(() => {
+        loading.value = false
+      })
     } else {
       loading.value = false
     }
@@ -183,20 +238,39 @@ async function onSubmit(formEl) {
   background-size: 100%;
 
   .applyForm {
-    width: 43%;
+    width: 90%;
     margin: 0 auto;
+    text-align: left;
 
     :deep(.el-cascader--large) {
       width: 100%;
     }
 
-    // .yljg-ipt {
-    //   width: 72%;
-    //   margin-right: 6%;
-    // }
+    :deep(.el-form-item) {
+      width: 45%;
+    }
 
-    .submitBtn {
+    .el-form-item1 {
       width: 100%;
+
+      .el-input {
+        width: 32.6%;
+      }
+    }
+
+    .submitBtn {
+      width: 12%;
+      margin: 0 auto;
+    }
+  }
+
+  .backInfo {
+    padding: 15% 0;
+    overflow: hidden;
+    color: #606266;
+
+    span {
+      color: #b80100;
     }
   }
 }