haodingding 1 سال پیش
والد
کامیت
1a28c72f88

+ 1 - 1
.env.development

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE = 若依管理系统
+VUE_APP_TITLE = 易益康养智慧养老系统
 
 # 开发环境配置
 ENV = 'development'

+ 1 - 1
.env.production

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE = 若依管理系统
+VUE_APP_TITLE = 易益康养智慧养老系统
 
 # 生产环境配置
 ENV = 'production'

+ 1 - 1
.env.staging

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE = 若依管理系统
+VUE_APP_TITLE = 易益康养智慧养老系统
 
 NODE_ENV = production
 

BIN
public/favicon.ico


BIN
src/assets/logo/logo.png


+ 4 - 4
src/views/login.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">若依后台管理系统</h3>
+      <h3 class="title">易益康养智慧养老系统</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"
@@ -56,7 +56,7 @@
     </el-form>
     <!--  底部  -->
     <div class="el-login-footer">
-      <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>
+      <!-- <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span> -->
     </div>
   </div>
 </template>
@@ -72,8 +72,8 @@ export default {
     return {
       codeUrl: "",
       loginForm: {
-        username: "admin",
-        password: "admin123",
+        username: "",
+        password: "",
         rememberMe: false,
         code: "",
         uuid: ""

+ 84 - 13
src/views/system/device/index.vue

@@ -51,6 +51,14 @@
         <el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleUpload"
           v-hasPermi="['system:manage:add']">导入</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-circle-close" size="mini" @click="closePhone"
+          v-hasPermi="['system:manage:add']">关闭拨号盘</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-circle-check" size="mini" @click="openPhone"
+          v-hasPermi="['system:manage:add']">打开拨号盘</el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -818,7 +826,8 @@ export default {
       fenceList: [],
       fenceName: null,
       add_flag: true,
-      checkedFence: null
+      checkedFence: null,
+      items: []
     };
   },
   created() {
@@ -858,6 +867,64 @@ export default {
     },
   },
   methods: {
+    async closePhone() {
+      let success = 0
+      if (this.items.length > 0) {
+        await Promise.allSettled(this.items.map(async item => {
+          let obj = {}
+          obj.facility_id = item.fid
+          obj.device_id_code = item.deviceId
+          obj.command = 'keybrd'
+          obj.param = { is_open: 0 }
+          await axios({
+          method: 'POST',
+          url: 'http://43.138.30.29:4200/index.php/api/shouhuan/createcommand',
+          headers: {
+            Authorization: getToken(),
+          },
+          data: obj,
+        }).then(res => {
+          if (res.data && res.data.code == 200) {
+            success += 1
+          } else {
+            this.$modal.msgError(`${item.name}设置失败`)
+          }
+        })
+        }))
+        if (success == this.items.length) {
+          this.$modal.msgSuccess('关闭成功')
+        }
+      }
+    },
+    async openPhone() {
+      let success = 0
+      if (this.items.length > 0) {
+        await Promise.allSettled(this.items.map(async item => {
+          let obj = {}
+          obj.facility_id = item.fid
+          obj.device_id_code = item.deviceId
+          obj.command = 'keybrd'
+          obj.param = { is_open: 1 }
+          await axios({
+          method: 'POST',
+          url: 'http://43.138.30.29:4200/index.php/api/shouhuan/createcommand',
+          headers: {
+            Authorization: getToken(),
+          },
+          data: obj,
+        }).then(res => {
+          if (res.data && res.data.code == 200) {
+            success += 1
+          } else {
+            this.$modal.msgError(`${item.name}设置失败`)
+          }
+        })
+        }))
+        if (success == this.items.length) {
+          this.$modal.msgSuccess('关闭成功')
+        }
+      }
+    },
     subDeviceInterval() {
       setDeviceInterval(this.deviceInterval).then(res => {
         if (res.code == 200) {
@@ -1363,6 +1430,7 @@ export default {
         addFence(this.fenceInfo).then(res => {
           if (res.code == 200) {
             this.$modal.msgSuccess('添加成功')
+            this.fence = {}
             this.getFence()
           }
         })
@@ -1496,11 +1564,11 @@ export default {
       if (this.fenceList.length < 3) {
         this.fenceEdit = true
         this.add_flag = true
-        // this.fenceInfo.name = null
-        // this.fenceInfo.start_time = null
-        // this.fenceInfo.end_time = null
-        // this.fenceInfo.type = null
-        // this.fenceInfo.state = null
+        this.fenceInfo.name = null
+        this.fenceInfo.start_time = null
+        this.fenceInfo.end_time = null
+        this.fenceInfo.type = null
+        this.fenceInfo.state = null
         if (this.fence) {
           this.map.remove(this.fence)
           this.fence = null
@@ -1580,6 +1648,7 @@ export default {
             this.fenceEditor.close()
             this.fenceEditor = null
           }
+          this.fenceName = null
         }
       })
     },
@@ -1593,7 +1662,7 @@ export default {
           if (this.fenceEditor) {
             this.fenceEditor.close()
           }
-          this.fenceInfo = item
+          this.fenceInfo = JSON.parse(JSON.stringify(item))
           this.getFenceInfo(item.key, item.sid, item.gfid).then(res => {
             if (res.data.results[0].shape.radius) {
               this.fenceInfo.center = res.data.results[0].shape.center
@@ -1708,7 +1777,6 @@ export default {
           res.rows.map(item => {
             item.start_time = item.startTime
             item.end_time = item.endTime
-            item.type = 0
           })
           this.fenceList = res.rows
         }
@@ -1722,6 +1790,13 @@ export default {
         this.loading = false;
       });
     },
+    beforeClose(done) {
+      this.map.destroy()
+      this.fenceName = null
+      this.fenceEdit = false
+      this.fenceInfo = {}
+      done()
+    },
     searchUser() {
       this.userForm.pageNum = 1
       this.getUserList()
@@ -1834,11 +1909,6 @@ export default {
         this.logTotal = res.total
       })
     },
-    beforeClose(done) {
-      this.map.destroy()
-      this.fenceName = null
-      done()
-    },
     /** 查询设备列列表 */
     async getList() {
       this.loading = true;
@@ -1902,6 +1972,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
+      this.items = selection.map(item => item)
       this.single = selection.length !== 1
       this.multiple = !selection.length
     },

+ 41 - 10
src/views/system/manage/index.vue

@@ -86,12 +86,12 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="150px" :inline="true">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="*商家名称" prop="storeName">
+            <el-form-item label="商家名称" prop="storeName">
               <el-input v-model="form.storeName" placeholder="请输入商家名称" style="width: 350px;" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="*商家性质" prop="storeNature">
+            <el-form-item label="商家性质" prop="storeNature">
               <el-select v-model="form.storeNature" placeholder="请选择商家性质" style="width: 350px;">
                 <el-option v-for="item in selectInfo" :key="item.dictValue" :label="item.dictLabel"
                   :value="item.dictValue">
@@ -102,31 +102,31 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="*登录账号" prop="username">
+            <el-form-item label="登录账号" prop="username">
               <el-input v-model="form.username" placeholder="请输入登录账号" style="width: 350px;"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="*登录密码" prop="password">
+            <el-form-item label="登录密码" prop="password">
               <el-input v-model="form.password" placeholder="请输入登录密码" style="width: 350px;"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="*负责人" prop="leader">
+            <el-form-item label="负责人" prop="leader">
               <el-input v-model="form.leader" placeholder="请输入负责人" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="*联系方式" prop="leaderTel">
+            <el-form-item label="联系方式" prop="leaderTel">
               <el-input v-model="form.leaderTel" placeholder="请输入联系方式" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="*服务状态" prop="serviceStatus">
+            <el-form-item label="服务状态" prop="serviceStatus">
               <el-radio-group v-model="form.serviceStatus">
                 <el-radio :label="1">正常</el-radio>
                 <el-radio :label="0">停止</el-radio>
@@ -134,7 +134,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="*经营时间" prop="date">
+            <el-form-item label="经营时间" prop="date">
               <el-date-picker v-model="form.date" type="daterange" range-separator="至" start-placeholder="开始日期"
                 end-placeholder="结束日期" value-format="yyyy-MM-dd"></el-date-picker>
             </el-form-item>
@@ -142,7 +142,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="*周末服务" prop="weekendStatus">
+            <el-form-item label="周末服务" prop="weekendStatus">
               <el-radio-group v-model="form.weekendStatus">
                 <el-radio :label="1">是</el-radio>
                 <el-radio :label="0">否</el-radio>
@@ -150,7 +150,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="*假日服务" prop="holidayStatus">
+            <el-form-item label="假日服务" prop="holidayStatus">
               <el-radio-group v-model="form.holidayStatus">
                 <el-radio :label="1">是</el-radio>
                 <el-radio :label="0">否</el-radio>
@@ -483,6 +483,37 @@ export default {
       form: {},
       // 表单校验
       rules: {
+        storeName: [
+          { required: true, message: '请输入商家名称', trigger: 'blur' }
+        ],
+        storeNature: [
+          { required: true, message: '请选择商家性质', trigger: 'change' }
+        ],
+        username: [
+          { required: true, message: '请输入账号', trigger: 'blur' }
+        ],
+        password: [
+          { required: true, message: '请输入密码', trigger: 'blur' }
+        ],
+        leader: [
+          { required: true, message: '请输入负责人', trigger: 'blur' }
+        ],
+        leaderTel: [
+          { required: true, message: '请输入联系方式', trigger: 'blur' },
+          {type: 'number', message: '必须为数字'}
+        ],
+        serviceStatus: [
+          { required: true, message: '请选择服务状态', trigger: 'change' }
+        ],
+        date: [
+          { required: true, message: '请选择经营时间', trigger: 'change' }
+        ],
+        weekendStatus: [
+          { required: true, message: '请选择周末是否服务', trigger: 'change' }
+        ],
+        holidayStatus: [
+          { required: true, message: '请选择假日是否服务', trigger: 'change' }
+        ],
       },
       selectInfo: [],
       storeStatus: [

+ 17 - 0
src/views/system/profile/index.vue

@@ -795,6 +795,23 @@ export default {
       form: {},
       // 表单校验
       rules: {
+        name: [
+          { required: true, message: '请输入姓名', trigger: 'blur' }
+        ],
+        gender: [
+          { required: true, message: '请选择性别', trigger: 'change' }
+        ],
+        sfzid: [
+          { required: true, message: '请输入身份证号', trigger: 'blur' },
+          { type: 'number', message: '必须为数字' }
+        ],
+        telOne: [
+          { required: true, message: '请输入电话', trigger: 'blur' },
+          { type: 'number', message: '必须为数字' }
+        ],
+        birthday: [
+          {required: true, message: '请选择出生日期', trigger: 'change'}
+        ]
       },
       marryStatus: [],
       userType: [],

+ 2 - 2
src/views/system/region/index.vue

@@ -336,10 +336,10 @@ export default {
     },
     getLocation(lnglat) {
       window._AMapSecurityConfig = {
-        securityJsCode: '6aaa52f268bd774edcc494a7055cf167',
+        securityJsCode: 'e91e92cbd76e89c48f3ff1d6180f288c',
       }
       AMapLoader.load({
-        key: "533a73da5000e2db8d89b8fda02f33bf",       // 申请好的Web端开发者Key,首次调用 load 时必填
+        key: "c968deab485d6e688e7c68689722ffb4",       // 申请好的Web端开发者Key,首次调用 load 时必填
         version: "2.0",                 // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
       }).then((AMap) => {
         this.map = new AMap.Map('map', {

+ 7 - 5
src/views/system/solve/index.vue

@@ -176,11 +176,11 @@
       <el-row v-if="deal_flag">
         <el-col class="user-table">
           <div class="label">处理状态:</div>
-          <el-radio-group v-model="form.solve_status">
-            <el-radio label="0">未处理</el-radio>
-            <el-radio label="2">在处理</el-radio>
-            <el-radio label="1">已处理</el-radio>
-          </el-radio-group>
+          <!-- <el-radio-group> -->
+            <el-radio v-model="form.solve_status" label="0">未处理</el-radio>
+            <el-radio v-model="form.solve_status" label="2">在处理</el-radio>
+            <el-radio v-model="form.solve_status" label="1">已处理</el-radio>
+          <!-- </el-radio-group> -->
         </el-col>
       </el-row>
       <el-row v-if="deal_flag" style="margin-bottom: 20px;">
@@ -305,6 +305,7 @@ export default {
         })
         this.total = response.total;
         this.loading = false;
+        console.log(this.solveList);
       });
     },
     // 取消按钮
@@ -373,6 +374,7 @@ export default {
       const id = row.aid
       this.solveList.map(item => {
         if (item.aid == id) {
+          console.log(item);
           this.form = item
           this.open = true;
           this.deal_flag = false