Prechádzať zdrojové kódy

账号管理,添加新旧版切换

hjs 1 rok pred
rodič
commit
07c57cf05c

+ 2 - 2
public/config.js

@@ -1,5 +1,5 @@
 window.g = {
-  // ApiUrl: 'http://192.168.11.11:9100/yx-fyzd' // 本地
-  ApiUrl: 'https://tx.hz-hanghui.com:8088/yx-fyzd' // 线上
+  ApiUrl: 'http://192.168.11.11:9100/yx-fyzd' // 本地
+  // ApiUrl: 'https://tx.hz-hanghui.com:8088/yx-fyzd' // 线上
 
 }

BIN
src/assets/ui-theme1.jpg


BIN
src/assets/ui-theme2.jpg


+ 270 - 231
src/views/user_manage/index.vue

@@ -766,28 +766,8 @@
             <div class="line"></div>
             <span>功能配置</span>
           </div>
-          <div class="flex"></div>
           <div class="flex">
             <el-form-item
-              label="进出记录保留时间"
-              prop="faceLogHoldDays"
-              class="form-item-style item-margin-bottom"
-            >
-              <el-tooltip
-                class="item"
-                effect="dark"
-                :manual="false"
-                content="单位:天"
-                placement="bottom"
-              >
-                <el-input-number
-                  v-model="user_form.faceLogHoldDays"
-                  size="mini"
-                  :min="1"
-                />
-              </el-tooltip>
-            </el-form-item>
-            <!-- <el-form-item
               label="卡号认证"
               prop="cardPhysics"
               class="form-item-style item-margin-bottom"
@@ -796,7 +776,7 @@
                 <el-radio :label="2">停用</el-radio>
                 <el-radio :label="1">启用</el-radio>
               </el-radio-group>
-            </el-form-item>-->
+            </el-form-item>
             <el-form-item
               label="身份证认证"
               class="form-item-style item-margin-bottom"
@@ -959,119 +939,6 @@
                 </el-radio-group>
               </el-form-item>
             </div>
-            <div class="flex">
-              <el-form-item
-                label="屏保图片配置"
-                prop="screenShowPhotos"
-                class="item-margin-bottom special form-item-style"
-                v-if="dialogType != 'add'"
-              >
-                <el-upload
-                  class="upload-demo"
-                  :multiple="false"
-                  :action="doUpload"
-                  :file-list="user_form.screenShowPhotos"
-                  list-type="picture"
-                  :http-request="doUploadAvatar"
-                  :before-upload="beforeAvatarUpload"
-                  accept="image/png,image/gif,image/jpg,image/jpeg"
-                >
-                  <img
-                    src="../../assets/default-img.png"
-                    alt=""
-                    v-if="user_form.screenShowPhotos.length < 1"
-                    class="upload-img"
-                  />
-
-                  <div v-else class="upload-img">
-                    <img :src="user_form.screenShowPhotos[0].url" alt="" />
-                    <span @click.stop="handleRemove('')" class="del-img"
-                      >x</span
-                    >
-                  </div>
-                </el-upload>
-              </el-form-item>
-            </div>
-            <div class="custom-css" v-if="user_form.placeType != 1">
-              <el-form-item
-                label="打卡方式"
-                class="form-item-style item-margin-bottom"
-                prop="clockWayType"
-              >
-                <el-radio-group v-model="user_form.clockWayType">
-                  <el-radio label="0">关闭</el-radio>
-                  <el-radio label="1" :style="{marginRight: (user_form.clockWayType === '1' && !!user_form.clockWayAdminAuthVO) ? '10px' : '30px'}">通用</el-radio>
-                  <span v-if="user_form.clockWayType === '1' && !!user_form.clockWayAdminAuthVO" style="margin-right: 30px;">
-                    <el-button
-                      class="el-icon-download form-item-style"
-                      type="text"
-                      @click="getAppKeyAndAppSecret2(true)"
-                    >
-                      密钥
-                    </el-button>
-                    <el-button
-                      class="el-icon-download form-item-style"
-                      type="text"
-                      @click="getAppKeyAndAppSecret2(false)"
-                    >
-                      文档
-                    </el-button>
-                  </span>
-                  <el-radio label="2">钉钉</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <div class="flex" v-if="user_form.clockWayType == 1">
-                <el-form-item
-                  label="推送地址"
-                  class="form-item-style special"
-                  prop="clockWayPushUrl"
-                >
-                  <el-input
-                    v-model.trim="user_form.clockWayPushUrl"
-                    placeholder="请选择推送地址"
-                  />
-                </el-form-item>
-                <el-form-item
-                  label="推送字段"
-                  class="form-item-style special"
-                  prop="punchReportFieldsConfig"
-                >
-                  <el-select
-                    filterable
-                    clearable
-                    multiple
-                    collapse-tags
-                    v-model="user_form.punchReportFieldsConfig"
-                    placeholder="请选择推送字段"
-                    style="width: 100%"
-                  >
-                    <el-option
-                      v-for="item in pushField"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </div>
-              <div class="flex" v-if="user_form.clockWayType == 2">
-                <el-form-item
-                  label="AppKey"
-                  class="form-item-style special"
-                  prop="dingtalkAppKey"
-                >
-                  <el-input v-model.trim="user_form.dingtalkAppKey" />
-                </el-form-item>
-                <el-form-item
-                  label="AppSecret"
-                  class="special form-item-style"
-                  prop="dingtalkAppSecret"
-                >
-                  <el-input v-model.trim="user_form.dingtalkAppSecret" />
-                </el-form-item>
-              </div>
-            </div>
           </div>
         </div>
         <!-- 登录配置 -->
@@ -1221,17 +1088,118 @@
           <div class="line"></div>
           <span>进出记录配置</span>
         </div>
+        <div class="flex">
+          <el-form-item
+            label="进出记录保留时间"
+            prop="faceLogHoldDays"
+            class="form-item-style item-margin-bottom"
+          >
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :manual="false"
+              content="单位:天"
+              placement="bottom"
+            >
+              <el-input-number
+                v-model="user_form.faceLogHoldDays"
+                size="mini"
+                :min="0"
+              />
+            </el-tooltip>
+          </el-form-item>
+        </div>
+        <div class="custom-css" v-if="user_form.placeType != 1">
+          <el-form-item
+            label="打卡方式"
+            class="form-item-style item-margin-bottom"
+            prop="clockWayType"
+          >
+            <el-radio-group v-model="user_form.clockWayType">
+              <el-radio label="0">关闭</el-radio>
+              <el-radio label="1" :style="{marginRight: (user_form.clockWayType === '1' && !!user_form.clockWayAdminAuthVO) ? '10px' : '30px'}">通用</el-radio>
+              <span v-if="user_form.clockWayType === '1' && !!user_form.clockWayAdminAuthVO" style="margin-right: 30px;">
+                <el-button
+                  class="el-icon-download form-item-style"
+                  type="text"
+                  @click="getAppKeyAndAppSecret2(true)"
+                >
+                  密钥
+                </el-button>
+                <el-button
+                  class="el-icon-download form-item-style"
+                  type="text"
+                  @click="getAppKeyAndAppSecret2(false)"
+                >
+                  文档
+                </el-button>
+              </span>
+              <el-radio label="2">钉钉</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <div class="flex" v-if="user_form.clockWayType == 1">
+            <el-form-item
+              label="推送地址"
+              class="form-item-style special"
+              prop="clockWayPushUrl"
+            >
+              <el-input
+                v-model.trim="user_form.clockWayPushUrl"
+                placeholder="请选择推送地址"
+              />
+            </el-form-item>
+            <el-form-item
+              label="推送字段"
+              class="form-item-style special"
+              prop="punchReportFieldsConfig"
+            >
+              <el-select
+                filterable
+                clearable
+                multiple
+                collapse-tags
+                v-model="user_form.punchReportFieldsConfig"
+                placeholder="请选择推送字段"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in pushField"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </div>
+          <div class="flex" v-if="user_form.clockWayType == 2">
+            <el-form-item
+              label="AppKey"
+              class="form-item-style special"
+              prop="dingtalkAppKey"
+            >
+              <el-input v-model.trim="user_form.dingtalkAppKey" />
+            </el-form-item>
+            <el-form-item
+              label="AppSecret"
+              class="special form-item-style"
+              prop="dingtalkAppSecret"
+            >
+              <el-input v-model.trim="user_form.dingtalkAppSecret" />
+            </el-form-item>
+          </div>
+        </div>
         <!-- 设备显示配置 -->
         <div v-if="user_form.type === 5">
           <div class="title">
-            <div class="line"></div>
+            <div class="line" />
             <span>设备显示配置</span>
           </div>
-          <div class="flex">
+          <div class="display-config-layout">
             <el-form-item
               label="接入三方api"
               prop="openThirdLinkPlatform"
-              class="form-item-style"
+              class="form-item-style special"
               label-width="120px"
             >
               <el-radio-group v-model="user_form.openThirdLinkPlatform">
@@ -1255,32 +1223,7 @@
                 </el-button>
               </span>
             </el-form-item>
-            <el-form-item
-              label-width="120px"
-              label="顶部标题"
-              class="form-item-style"
-              prop="topTitle"
-            >
-              <el-input
-                v-model="user_form.topTitle"
-                placeholder="请输入顶部标题"
-                maxlength="8"
-                show-word-limit
-              />
-            </el-form-item>
           </div>
-          <el-form-item
-            v-if="false"
-            label-width="120px"
-            label="地址"
-            class="form-item-style"
-            :prop="user_form.openThirdLinkPlatform?'interfaceAddress':''"
-          >
-            <el-input
-              v-model="user_form.interfaceAddress"
-              placeholder="请输入地址"
-            />
-          </el-form-item>
           <div v-if="user_form.openThirdLinkPlatform" class="interfaceAddress-layout">
             <div v-for="(interfaceAddressItem, index) in user_form.interfaceAddresses" :key="index" style="width:100%;display: flex;align-items: center;">
               <el-form-item
@@ -1322,11 +1265,51 @@
               <el-button type="info" icon="el-icon-plus" size="small" circle style="align-self: flex-start;margin:4px 0 0 6px;" @click.prevent="addInterfaceAddress" />
             </div>
           </div>
-          <div class="flex">
+          <div class="display-config-layout">
             <el-form-item
+              label="UI使用版本"
+              prop="latestResultPage"
+              class="form-item-style"
               label-width="120px"
-              label="成功通行结果"
+            >
+              <el-radio-group v-model="user_form.latestResultPage">
+                <el-radio :label="false">
+                  <img src="../../assets/ui-theme1.jpg" width="60px" height="96px" alt="旧版">
+                </el-radio>
+                <el-radio :label="true">
+                  <img src="../../assets/ui-theme2.jpg" width="60px" height="96px" alt="新版">
+                </el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item
+              label-width="120px"
+              label="顶部标题"
               class="form-item-style"
+              prop="topTitle"
+            >
+              <el-input
+                v-model="user_form.topTitle"
+                placeholder="请输入顶部标题"
+                maxlength="8"
+                show-word-limit
+              />
+            </el-form-item>
+            <el-form-item
+              v-if="false && !user_form.latestResultPage"
+              label-width="120px"
+              label="地址"
+              class="form-item-style special"
+              :prop="user_form.openThirdLinkPlatform?'interfaceAddress':''"
+            >
+              <el-input
+                v-model="user_form.interfaceAddress"
+                placeholder="请输入地址"
+              />
+            </el-form-item>
+            <el-form-item
+              label-width="120px"
+              label="成功通行结果"
+              class="form-item-style special"
               prop="subLineSuccess"
             >
               <el-input
@@ -1337,7 +1320,7 @@
             <el-form-item
               label-width="120px"
               label="失败通行结果"
-              class="form-item-style"
+              class="form-item-style special"
               prop="subLineFail"
             >
               <el-input
@@ -1345,12 +1328,33 @@
                 placeholder="请输入失败通行结果"
               />
             </el-form-item>
-          </div>
-          <div class="flex">
             <el-form-item
+              label-width="120px"
+              label="成功语音播报"
+              class="form-item-style special"
+              prop="openVoiceMsgSuccess"
+            >
+              <el-input
+                v-model="user_form.openVoiceMsgSuccess"
+                placeholder="请输入成功语音播报"
+              />
+            </el-form-item>
+            <el-form-item
+              label-width="120px"
+              label="失败语音播报"
+              class="form-item-style special"
+              prop="openVoiceMsgFail"
+            >
+              <el-input
+                v-model="user_form.openVoiceMsgFail"
+                placeholder="请输入失败语音播报"
+              />
+            </el-form-item>
+            <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="左副框上层"
-              class="form-item-style"
+              class="form-item-style special"
               prop="mainLineLeft"
             >
               <el-input
@@ -1359,9 +1363,10 @@
               />
             </el-form-item>
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="左副框下层"
-              class="form-item-style"
+              class="form-item-style special"
               prop="subLineLeft"
             >
               <el-input
@@ -1369,12 +1374,11 @@
                 placeholder="请输入左副框下层"
               />
             </el-form-item>
-          </div>
-          <div class="flex">
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="右副框上层"
-              class="form-item-style"
+              class="form-item-style special"
               prop="mainLineRight"
             >
               <el-input
@@ -1383,9 +1387,10 @@
               />
             </el-form-item>
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="右副框下层"
-              class="form-item-style"
+              class="form-item-style special"
               prop="subLineRight"
             >
               <el-input
@@ -1393,12 +1398,11 @@
                 placeholder="请输入右副框下层"
               />
             </el-form-item>
-          </div>
-          <div class="flex">
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="二维码是否显示"
-              class="el-form-item form-item-style"
+              class="el-form-item form-item-style special"
               prop="showQrcode"
             >
               <el-radio-group
@@ -1410,51 +1414,26 @@
               </el-radio-group>
             </el-form-item>
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               label="二维码码值"
-              class="form-item-style"
+              class="form-item-style special"
               prop="qrcodeText"
             >
               <el-input
                 v-model="user_form.qrcodeText"
                 placeholder="二维码码值"
-              ></el-input>
-            </el-form-item>
-          </div>
-          <div class="flex">
-            <el-form-item
-              label-width="120px"
-              label="成功语音播报"
-              class="form-item-style"
-              prop="openVoiceMsgSuccess"
-            >
-              <el-input
-                v-model="user_form.openVoiceMsgSuccess"
-                placeholder="请输入成功语音播报"
-              ></el-input>
-            </el-form-item>
-            <el-form-item
-              label-width="120px"
-              label="失败语音播报"
-              class="form-item-style"
-              prop="openVoiceMsgFail"
-            >
-              <el-input
-                v-model="user_form.openVoiceMsgFail"
-                placeholder="请输入失败语音播报"
-              ></el-input>
+              />
             </el-form-item>
-          </div>
-
-          <div class="flex">
             <el-form-item
+              v-if="!user_form.latestResultPage"
               label-width="120px"
               :label="
                 user_form.showQrcode
                   ? '广告图片(506*182)'
                   : '广告图片(712*182)'
               "
-              class="el-form-item form-item-style"
+              class="el-form-item form-item-style special"
               prop="advertise"
             >
               <el-upload
@@ -1480,25 +1459,23 @@
                     user_form.showQrcode ? 'upload-img1' : 'upload-img2',
                   ]"
                 >
-                  <i class="el-icon-picture-outline"></i>上传图片
+                  <i class="el-icon-picture-outline" />上传图片
                 </div>
                 <div
+                  v-else
                   :class="[
                     'upload-img',
                     user_form.showQrcode ? 'upload-img1' : 'upload-img2',
                   ]"
-                  v-else
                 >
-                  <img :src="user_form.advertise" />
-                  <span @click.stop="handleRemove('advertise')" class="del-img"
-                    >x</span
-                  >
+                  <img :src="user_form.advertise">
+                  <span class="del-img" @click.stop="handleRemove('advertise')">x</span>
                 </div>
               </el-upload>
             </el-form-item>
             <el-form-item
               label="首页图片配置"
-              class="form-item-style item-margin-bottom"
+              class="form-item-style item-margin-bottom special"
               prop="homeImgUrl"
               label-width="120px"
             >
@@ -1518,16 +1495,43 @@
                 accept="image/png,image/gif,image/jpg,image/jpeg"
               >
                 <img
-                  src="../../assets/default-img-home.jpg"
-                  alt=""
                   v-if="!user_form.homeImgUrl"
                   class="upload-img3"
-                />
+                  src="../../assets/default-img-home.jpg"
+                  alt=""
+                >
                 <div class="upload-img3" v-else>
-                  <img :src="user_form.homeImgUrl" />
-                  <span @click.stop="handleRemove('homeImgUrl')" class="del-img"
-                    >x</span
-                  >
+                  <img :src="user_form.homeImgUrl">
+                  <span class="del-img" @click.stop="handleRemove('homeImgUrl')">x</span>
+                </div>
+              </el-upload>
+            </el-form-item>
+            <el-form-item
+              v-if="dialogType != 'add'"
+              label="屏保图片配置"
+              label-width="120px"
+              prop="screenShowPhotos"
+              class="item-margin-bottom special form-item-style"
+            >
+              <el-upload
+                class="upload-demo"
+                :multiple="false"
+                :action="doUpload"
+                :file-list="user_form.screenShowPhotos"
+                list-type="picture"
+                :http-request="doUploadAvatar"
+                :before-upload="beforeAvatarUpload"
+                accept="image/png,image/gif,image/jpg,image/jpeg"
+              >
+                <img
+                  v-if="user_form.screenShowPhotos.length < 1"
+                  class="upload-img"
+                  src="../../assets/default-img.png"
+                  alt=""
+                >
+                <div v-else class="upload-img">
+                  <img :src="user_form.screenShowPhotos[0].url" alt="">
+                  <span class="del-img" @click.stop="handleRemove('')">x</span>
                 </div>
               </el-upload>
             </el-form-item>
@@ -1798,7 +1802,8 @@ export default {
         isOpenVisitorClear: false, //是否0.清除
         mobileAutoInputFlag: 2, //获取手机号方式
         isOpenHealthCode: 0,
-        topTitle: "",
+        latestResultPage: false, // 设备结果页类型 false:老版 true:新版
+        topTitle: '',
         notAllowAgeMsg: "", //提示信息
         isAlarm: false, //不允许是否报警
         isOpenExam: false, //是否开启考试
@@ -2057,6 +2062,14 @@ export default {
             trigger: "blur",
           },
         ],
+        latestResultPage: [
+          {
+            required: true,
+            type: 'boolean',
+            message: '请选择UI使用版本',
+            trigger: 'blur'
+          }
+        ],
         interfaceAddress: [
           {
             required: true,
@@ -2116,15 +2129,15 @@ export default {
         if (n !== 5) {
           this.user_form.addCustomList = []
         }
-      },
+      }
     },
     'user_form.whiteVisitorType': {
       handler(n, o) {
         if (this.user_form.whiteVisitorType.length === 0) {
           this.user_form.addCustomList = []
         }
-        }
-      },
+      }
+    },
     'user_form.placeType'(n, o) {
       if (n === 1) {
         this.user_form.isShowCustomWord = false
@@ -2357,7 +2370,7 @@ export default {
           if(!this.user_form.openThirdLinkPlatform) {
             this.user_form.interfaceAddresses = null
           }
-          if(this.user_form.interfaceAddresses && this.user_form.interfaceAddresses.length > 0) {
+          if (this.user_form.interfaceAddresses && this.user_form.interfaceAddresses.length > 0) {
             this.user_form.interfaceAddresses = this.user_form.interfaceAddresses.filter(item => {
               return item.interfAddr !== null && item.zoneId !== null
             })
@@ -2365,16 +2378,25 @@ export default {
               this.user_form.interfaceAddresses = null
             }
           }
+          if (this.user_form.latestResultPage) {
+            this.user_form.mainLineLeft = null
+            this.user_form.subLineLeft = null
+            this.user_form.mainLineRight = null
+            this.user_form.subLineRight = null
+            this.user_form.showQrcode = false
+            this.user_form.qrcodeText = null
+            this.user_form.advertise = null
+          }
           doEditAdmin(this.user_form).then((res) => {
-            this.dialogVisible = false;
-            this.fetchData();
+            this.dialogVisible = false
+            this.fetchData()
             this.$message({
               type: "success",
-              message: "添加成功!",
-            });
-          });
+              message: "添加成功!"
+            })
+          })
         }
-      });
+      })
     },
     // 删除账号
     deleteUser(id) {
@@ -2668,6 +2690,23 @@ export default {
 .table {
   margin-top: 15px;
 }
+.display-config-layout {
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0 5px;
+  & > div {
+    width: calc(50% - 30px);
+    flex: none;
+    margin-left: 0;
+    margin-right: 0;
+  }
+  & > div:nth-child(odd) {
+    margin-right: 60px;
+  }
+  ::v-deep .el-radio__input {
+    vertical-align: top;
+  }
+}
 .flex {
   width: 100%;
   display: flex;