From c4d4c5d25cd78fa302fe07a824c8d7b3412bd9f1 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期二, 06 五月 2025 16:42:15 +0800
Subject: [PATCH] 修改内容

---
 ruoyi-ui/src/views/clanManager/ancestor/index.vue |   14 
 ruoyi-ui/src/views/qrcode/index.vue               |  738 +++++++++++++++++++++++++++++++++++++++++++++++++
 ruoyi-ui/src/api/fscan/index.js                   |   87 +++++
 ruoyi-ui/vue.config.js                            |    2 
 ruoyi-ui/src/views/system/family/index.vue        |    2 
 ruoyi-ui/src/router/index.js                      |   32 ++
 6 files changed, 866 insertions(+), 9 deletions(-)

diff --git a/ruoyi-ui/src/api/fscan/index.js b/ruoyi-ui/src/api/fscan/index.js
new file mode 100644
index 0000000..7fa0b88
--- /dev/null
+++ b/ruoyi-ui/src/api/fscan/index.js
@@ -0,0 +1,87 @@
+import request from '@/utils/request'
+
+// Familyevent
+
+// 鏌ヨ鎵�鏈夊搴ぇ浜嬶紝鍒嗛〉鏌ヨ
+export function listFScan(query) {
+  return request({
+    url: '/qrCode/all',
+    method: 'get',
+    params: query
+  })
+}
+// 鏍规嵁id鏌ヨ鎵�鏈夊搴祫浜ц缁嗕俊鎭�
+export function getFSInfo(id) {
+  return request({
+    url: '/qrCode/getInf?id=' + id,
+    method: 'get',
+
+  })
+  }
+// 鏍规嵁id鏌ヨ鎵�鏈夊搴祫浜ц缁嗕俊鎭�
+export function getFScanInfo(id) {
+  return request({
+    url: '/qrCode/getInfo?id=' + id,
+    method: 'get',
+
+  })
+}
+
+//澧炲姞璧勪骇淇℃伅
+export function addFScan(data)
+{
+  return request({
+    url: '/qrCode',
+    method: 'post',
+    data: data
+  })
+}
+
+// 鍒犻櫎璧勪骇淇℃伅
+export function delFScan(Ids) {
+  return request({
+    url: '/qrCode/' + Ids,
+    method: 'delete'
+  })
+}
+//淇敼瀹跺ぇ浜嬭
+export function updateFScan(data) {
+  return request({
+    url: '/qrCode',
+    method: 'put',
+    data: data
+  })
+}
+//涓婁紶鏂囦欢
+export function uploadPic(data) {
+  return request({
+    url: '/common/upload',
+    method: 'post',
+    data: data
+  })
+}
+export function uploadPic1(data) {
+  return request({
+    url: '/common/uploads',
+    method: 'post',
+    data: data
+  })
+}
+//涓嬭浇鏂囦欢
+export function download(data) {
+  return request({
+    url: '/common/downLoadFile',
+    method: 'get',
+    params: data,
+    responseType: 'blob'
+  })
+}
+//鐢熸垚浜岀淮鐮�
+export function generateCode(id, uri){
+ // alert(222)
+  return request({
+    url: '/qrCode/generateCode?id='+id+'&uri='+uri,
+    method: 'get',
+
+  })
+}
diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js
index 831e2ff..fec5764 100644
--- a/ruoyi-ui/src/router/index.js
+++ b/ruoyi-ui/src/router/index.js
@@ -124,6 +124,38 @@
     ]
   },
   {
+    path: '/pscan/pscil',
+    component: Layout,
+    // permissions: [],
+    hidden: true,
+  
+  
+    children: [
+      {
+        path: 'pdscanInfo/:id(\\d+)',
+        component: () => import('@/views/qrcode/pdscanInfo'),
+        name: 'pdscanInfo',
+        meta: { title: '浜岀淮鐮佽缁嗕俊鎭�',activeMenu: '/pscan/psci'}
+      }
+    ]
+  },
+  
+  
+  // {
+  //   path: '/pscan',
+  //   component: Layout,
+  //   hidden: true,
+  //   redirect: 'noredirect',
+  //   children: [
+  //     {
+  //       path: 'ancestor',
+  //       component: () => import('@/views/qrcode/index'),
+  //       name: 'ancestor',
+  //       meta: { title: '涓嬭浇瑙嗛绠$悊', icon: 'user' }
+  //     }
+  //   ]
+  // },
+  {
     path: '/clan',
     component: Layout,
     hidden: true,
diff --git a/ruoyi-ui/src/views/clanManager/ancestor/index.vue b/ruoyi-ui/src/views/clanManager/ancestor/index.vue
index 31d67dd..946c591 100644
--- a/ruoyi-ui/src/views/clanManager/ancestor/index.vue
+++ b/ruoyi-ui/src/views/clanManager/ancestor/index.vue
@@ -75,7 +75,7 @@
           <el-table-column label="瀹舵棌鍙�" align="center" key="clanName" prop="clanName"  :show-overflow-tooltip="true" />
 
           <el-table-column label="鐢ㄦ埛瑙掕壊" align="center" key="roleName" prop="roleName" width="120" />
-      <el-table-column label="鎬у埆" align="center" key="sex" prop="sex"  width="120" >
+      <el-table-column label="" align="center" key="sex" prop="sex"  width="120" >
             <template slot-scope="scope">{{scope.row.sex==1? '濂�': '鐢�'}}</template>
             
           </el-table-column>
@@ -161,8 +161,8 @@
             </el-form-item>
           </el-col>
 	<el-col :span="12">
-	  <el-form-item label="绁栧厛鎬у埆">
-	    <el-select v-model="form.sex" placeholder="璇烽�夋嫨绁栧厛鎬у埆">
+	  <el-form-item label="绁栧厛">
+	    <el-select v-model="form.sex" placeholder="璇烽�夋嫨绁栧厛">
 	      <el-option
 	        v-for="dict in dict.type.sys_user_sex"
 	        :key="dict.value"
@@ -181,8 +181,8 @@
             </el-form-item>
           </el-col>
 	<el-col :span="12">
-	  <el-form-item label="绁栧厛鎬у埆">
-	    <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+	  <el-form-item label="绁栧厛">
+	    <el-select v-model="form.sex" placeholder="璇烽�夋嫨">
 	      <el-option
 	        v-for="dict in dict.type.sys_user_sex"
 	        :key="dict.value"
@@ -203,8 +203,8 @@
           </el-form-item>
         </el-col>
   <el-col :span="12">
-    <el-form-item label="绁栧厛鎬у埆">
-      <el-select v-model="form.fsex" placeholder="璇烽�夋嫨鎬у埆">
+    <el-form-item label="绁栧厛">
+      <el-select v-model="form.fsex" placeholder="璇烽�夋嫨">
         <el-option
           v-for="dict in dict.type.sys_user_sex"
           :key="dict.value"
diff --git a/ruoyi-ui/src/views/qrcode/index.vue b/ruoyi-ui/src/views/qrcode/index.vue
new file mode 100644
index 0000000..95471e4
--- /dev/null
+++ b/ruoyi-ui/src/views/qrcode/index.vue
@@ -0,0 +1,738 @@
+<template>
+  <div class="app-container" style="opacity: 1;">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" >
+
+      <el-form-item label="濮撳悕" prop="name">
+        <el-input
+
+          v-model="queryParams.name"
+          placeholder="璇峰鍚�"
+          clearable
+          style="
+              width: 197px;
+              height: 30px;
+              background: #FFFFFF;
+              border-radius: 14px 14px 14px 14px;
+              opacity: 0.5;
+              border: 1px solid rgba(0,0,0,0.25);"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+
+      <el-form-item label="璁㈠崟鏃堕棿" prop="happenTime">
+        <el-date-picker
+          v-model="dateRange"
+          style="width:  240px;
+height: 30px;
+background: #FFFFFF;
+border-radius: 14px 14px 14px 14px;
+opacity: 0.5;
+border: 1px solid rgba(0,0,0,0.25);"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+        ></el-date-picker>
+      </el-form-item><el-form-item>
+      <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " >鎼滅储</el-button>
+      <el-button  size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " >閲嶇疆</el-button>
+    </el-form-item>
+
+    </el-form>
+
+<!--    <div style="width: 72px;-->
+<!--height: 24px;-->
+<!--font-size: 18px;-->
+<!--font-family: Microsoft YaHei-Regular, Microsoft YaHei;-->
+<!--font-weight: 400;-->
+<!--color: #000000;-->
+<!--line-height: 21px;-->
+<!--">瀹跺ぇ浜嬭</div>-->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:role:add']"
+        >鏂板</el-button>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:role:remove']"
+        >鍒犻櫎</el-button>
+        </el-col>
+      <el-col :span="1.5">
+       <el-button
+         type="warning"
+         plain
+         icon="el-icon-download"
+         size="mini"
+         @click="handleExport"
+           v-hasPermi="['system:role:remove']"
+       >瀵煎嚭</el-button>
+      </el-col>
+
+
+
+
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+    <!-- 搴忓彿銆佹椂闂淬�佷汉鐗┿�佸湴鐐广�佸ぇ浜嬫爣棰樸�佺數瀛愭枃浠躲�佸娉� -->
+    <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 -->
+    <el-table v-loading="loading"  :data="familyList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName">
+      <el-table-column type="selection"  :reserve-selection="true" width="50"  align="center" />
+
+      <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/>
+      <el-table-column label="濮撳悕" prop="name" sortable width="180px" align="center">
+      </el-table-column>
+      <el-table-column label="鏍囬" prop="title" sortable width="180px" align="center">
+      </el-table-column>
+
+      <el-table-column label="璁㈠崟鏃堕棿" prop="createTime" sortable width="100px" >
+        <template slot-scope="scope">{{scope.row.createTime}}</template>
+
+</el-table-column>
+
+   
+      <!-- <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" /> -->
+      <el-table-column label="鎿嶄綔" align="center" width="350" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <div class="button-container">
+            <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+
+            @click="handleUpdate(scope.row)"
+
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:role:remove']"
+          >鍒犻櫎</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+
+            @click="generateCode(scope.row)"
+            v-hasPermi="['system:role:remove']"
+          >鐢熸垚浜岀淮鐮�</el-button>
+    
+          <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" >
+            <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button>
+
+          </el-dropdown>
+          </div>
+        </template>
+      </el-table-column>
+
+
+
+
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+      style="background: #FEF7FC;"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
+
+
+        <el-form-item label="濮撳悕" prop="name">
+          <el-input v-model="formDat.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" ></el-input>
+        </el-form-item>
+
+
+   <el-form-item label="鏍囬" prop="title">
+        <el-input v-model="formDat.title" placeholder="璇疯緭鍏ヤ骇鍝佹爣棰�" clearable :style="{width: '100%'}"></el-input>
+      </el-form-item>
+ 
+
+
+
+
+          <el-form-item label="涓婁紶鏂囦欢" prop="cover">
+
+        <el-upload
+        action="#"
+        list-type="picture-card"
+        :http-request="requestUpload"
+        :file-list="fileList1"
+
+
+
+
+
+          class="upload-demo"
+          multiple
+        	ref="upload1"
+        :on-change="handleChange1"
+        :auto-upload="false"
+          :show-file-list="true"
+        >
+      <i slot="default" class="el-icon-plus"></i>
+        <div slot="file" slot-scope="{file}">
+
+
+
+          <span class="el-upload-list__item-actions">
+               <span class="el-upload-list__item-name">{{ file.name }}</span>
+                    <span
+                      class="el-upload-list__item-preview"
+                      @click="handleFileCardPreview(file)"
+                    >
+                      <i class="el-icon-zoom-in"></i>
+                    </span>
+
+                    <span
+
+                      class="el-upload-list__item-delete"
+                      @click="handleRemoveFile(file)"
+                    >
+                      <i class="el-icon-delete"></i>
+                    </span>
+              </span>
+
+        </div>
+
+
+      </el-upload>
+        </el-form-item>
+      </el-form>
+      <el-button
+      		          style="margin-left: 10px"
+      		          size="small"
+      		          type="success"
+      		          @click="fileUpload"
+      		        >涓婁紶鍒版湇鍔″櫒</el-button>
+       </el-form>
+      <h4 class="form-header"> </h4>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button>
+        <el-button @click="cancelData">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
+ <img :src="codeUrl" />
+    </el-dialog>
+
+  </div>
+</template>
+
+
+
+<script>
+import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
+import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
+
+
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
+import store from '@/store'
+
+//鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
+import {listFScan,getFScanInfo,generateCode,addFScan,delFScan,updateFScan, uploadPic1} from "@/api/fscan/index";
+import {getInfo} from "@/api/login";
+export default {
+  name: "Role",
+  dicts: ['sys_normal_disable'],
+  data() {
+     const validateLogo = (rule, value, callback) => {
+          if (!this.form.cover && this.fileListOther.length ===0) {
+          //  console.log(!this.form.cover)
+            callback(new Error('璇蜂笂浼犲浘鐗�'))
+          } else {
+            callback()
+          }
+        }
+
+    return {
+        userid: store.getters.id,
+      // 閬僵灞�
+      disabled: false,
+
+      loading: true,
+      formData:[],
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 瀹跺ぇ浜嬭琛ㄦ牸鏁版嵁
+      familyList: [],
+
+auditShow:false,
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛�
+      openDataScope: false,
+      menuExpand: false,
+      menuNodeAll: false,
+      deptExpand: true,
+      deptNodeAll: false,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 鏁版嵁鑼冨洿閫夐」
+
+      fileList:[],
+	  fileList1:[],
+	  	  uploadFileList: [],
+		uploadFileList1: [],
+      fileListOther:[],
+      dsb:true,
+      codeUrl: undefined,
+      btn:false,
+      uploading: false,
+      formDat: {
+        // type: undefined,
+        comName: undefined,
+        deadTime: undefined,
+        filePath: ""
+      },
+      // 鑿滃崟鍒楄〃
+      menuOptions: [],
+      // 閮ㄩ棬鍒楄〃
+      deptOptions: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        comName: undefined,
+        happenStartDeadTime:undefined,
+        happenEndDeadTime:undefined
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {  cover: null},
+      defaultProps: {
+        children: "children",
+        label: "label"
+      },
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        name: [{
+          required: true,
+          message: '璇疯緭鍏ュぇ浜嬫爣棰�',
+          trigger: 'blur'
+        }],
+
+
+        createTime: [{
+          required: true,
+          message: '璇烽�夋嫨鏃ユ湡',
+          trigger: 'blur'
+        }],
+   cover: [{ required: true, validator: validateLogo, trigger: 'change' }],
+      },
+      typeOptions: [],
+    };
+  },
+  created() {
+  console.log(this.$store.state.user.roles)
+    if(this.$store.state.user.roles=="admin")
+    {
+      this.auditShow = true
+    }
+    console.log("000000000000")
+    this.getList();
+    //   this.getCateInfor()
+    this.getInfo()
+
+  },
+  methods: {
+    handleChange1(file, fileOtherList1) {
+       //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+    this.uploadFileList1.push(file.raw);
+     this.fileListOther.push({name:file.name,url:file.url})
+     // this.uploadFileList.push(file.raw);
+      console.log("=========5555=========")
+      //console.log(file)
+    //  console.log(this.uploadFileList)
+    //  this.fileList = fileList
+    },
+    fileUpload(){
+    //	var file = params.file;
+
+    	var formData = new FormData();
+    	this.$refs.upload1.submit();
+    	// formData.append('uploadFile', file);
+    	if(this.uploadFileList1.length==0){
+    		  this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖!");
+    		  return
+    	}
+    	this.uploadFileList1.forEach((elem)=>{
+    		formData.append("files", elem)
+
+    	})
+
+    	let _this = this
+
+    	this.uploading = true;
+    	uploadPic1(formData).then(response => {
+    	_this.uploadFileList1 = []
+    	_this.formDat.filePath = _this.formDat.filePath+","+response.fileNames
+    	_this.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛!");
+    	  })
+
+    },
+    picUpload()
+    {
+    	var formData = new FormData();
+    	//alert(976)
+    	//this.$refs.upload.submit();
+    	//alert(8)
+    	//alert(this.uploadFileList.length)
+    if(this.uploadFileList.length==0){
+    	  this.$modal.msgSuccess("鍥剧墖涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+    	  return}
+    //console.log(this.uploadFileList)
+    	this.uploadFileList.forEach((elem)=>{
+    		formData.append("files", elem)
+
+    	})
+    			// console.log(formData,'465456456')
+    	//alert(90)
+    	let _this = this
+    	//alert(9)
+        uploadPic1(formData).then(response => {
+    	//	alert("dds")
+    		// console.log(response,'123123123')
+    //     console.log(_this.formDat.url,'666')
+          _this.formDat.filePath = _this.formDat.filePath+","+response.fileNames
+    	  	 // alert(_this.formDat.url)
+    	  _this.uploadFileList = []
+    	  _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+
+      });
+    },
+
+
+
+
+handleFileChange(file, fileList){  //鍥剧墖涓婁紶鍚�
+
+   },
+            handleRemoveFile(file)
+            {
+              this.fileListOther = []
+            },
+    getInfo(){
+     // console.log('-----------------')
+      getInfo().then(response=>{
+        console.log(response)
+      })
+    },
+
+    isImage(fileType) {
+      return fileType.startsWith('image/');
+    },
+    isInFot(fileName) {
+      return this.fot.includes(fileName);
+    },
+    // 鍙栨秷鎸夐挳
+    cancelData() {
+      this.open = false;
+      this.reset();
+    },
+    getRowId(row)
+    {
+      return row.id
+    },
+    //闅旇鍙樿壊
+    tableRowClassName({ row, rowIndex }) {
+      if (rowIndex % 2 == 0) {
+        return "statistics-warning-row1";
+      } else {
+        return "statistics-warning-row";
+      }
+    },
+
+
+    /** 鏌ヨ瑙掕壊鍒楄〃 */
+    //鍒楄〃鏄剧ず瀹跺ぇ浜嬭
+
+    getList() {
+      this.loading = true;
+      console.log(this.queryParams)
+      // this.queryParams.happenStartDeadTime = this.dateRange.length > 0 && this.dateRange[0]
+      // this.queryParams.happenEndDeadTime = this.dateRange.length > 0 && this.dateRange[1]
+
+      // this.queryParams.uid = this.userid
+     // alert(this.userid)
+      let _this = this
+
+      //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+      listFScan(this.queryParams).then(response => {
+          //  alert(123)
+          // alert(response.data.data[1].url)
+          console.log(response.data)
+          _this.familyList = response.data.data;
+
+          _this.total = response.data.total;
+          _this.loading = false;
+
+        }
+      );
+    },
+
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級
+    cancelDataScope() {
+      this.openDataScope = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      if (this.$refs.menu != undefined) {
+        this.$refs.menu.setCheckedKeys([]);
+      }
+      this.menuExpand = false,
+        this.menuNodeAll = false,
+        this.deptExpand = true,
+        this.deptNodeAll = false,
+        this.form = {
+          roleId: undefined,
+          roleName: undefined,
+          roleKey: undefined,
+          roleSort: 0,
+          status: "0",
+          menuIds: [],
+          deptIds: [],
+          menuCheckStrictly: true,
+          deptCheckStrictly: true,
+          remark: undefined
+        };
+      this.resetForm("elForm");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+    //  alert(this.ids)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞涓嬭浇瑙嗛璁板綍";
+    },
+    audit(row)
+    {
+     const id = row.id;
+     //alert(row.codeS)
+     if(row.codeS==null)
+     {
+       //alert(23)
+          this.$modal.msgSuccess("璇峰厛鐢熸垚鏂囦欢浜岀淮鐮�!")
+     }
+     else{
+        this.$router.push({
+          path:"/pdscan/pscil/pdscanInfo/" + id,
+          query:{
+            sh:true
+          }
+        });
+     }
+    },
+    generateCode(row)
+    {
+     alert(row.id)
+
+      const url =  process.env.VUE_APP_BASE_FRONT+row.id;
+      const id = row.id;
+    //  alert(id)
+   // alert(url)
+      generateCode(id, url).then(response => {
+      //  alert(23)
+      this.openDataScope = true;
+      console.log(response)
+       this.codeUrl = "data:image/gif;base64," + response.img;
+        this.$modal.msgSuccess("鐢熸垚浜岀淮鐮佹垚鍔�")
+        this.getList()
+        })
+    },
+  /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+
+      this.download('/coscan/export', {
+        ...this.queryParams
+      }, `zfScode_${new Date().getTime()}.xlsx`)
+
+
+      },
+    /** 鏌ョ湅璇︾粏淇℃伅 */
+    handleCheck(row){
+      const id = row.id;
+      // if(row.codeS==null)
+      // {
+      //   //alert(23)
+      //      this.$modal.msgSuccess("璇峰厛鐢熸垚鏂囦欢浜岀淮鐮�!")
+      // }
+      // else{
+      this.$router.push("/pscan/pscil/pdscanInfo/" + id);
+      // }
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      const id = row.id;
+      let jd = true;
+
+      if(row.codeS=="")
+      {
+        this.$modal.msgSuccess("璇峰厛鐢熸垚鏂囦欢浜岀淮鐮�!")
+      }
+      else{
+      this.$router.push({
+        path:"/pdscan/pscil/pdscanInfo/" + id,
+        query:{
+          detail:jd
+        }
+      });
+      }
+    },
+
+
+
+
+
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
+    submitDataScope: function() {
+
+      // let ul = this.fileList.map(function (elem){
+      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+      // }).join(",")
+      // let uls = this.fileListOther.map(function (elem){
+      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+      // }).join(",")
+      // this.formDat.url = ul+","+uls
+      console.log(this.fileList1)
+   //   alert(19)
+     // this.formDat.filePath = this.fileList1[0]['name']
+      this.formDat.uid = this.userid
+    //  alert(this.formDat.filePath)
+	//  alert(this.formDat.url)
+      this.$refs["elForm"].validate(valid => {
+        if (valid) {
+          this.formDat.approveStatus = 1
+          addFScan(this.formDat).then(response => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.open = false;
+            // 娓呯┖formDat瀵硅薄鐨勬暟鎹�
+            Object.keys(this.formDat).forEach(key => {
+              this.formDat[key] = '';
+            });
+          this.fileList1 = []
+            this.getList();
+          });
+        }
+      });
+
+    },
+
+    requestUpload(params)
+    {
+      // var file = params.file;
+      // var formData = new FormData();
+
+      // formData.append('file', file);
+      // let _this = this
+
+      // uploadPic(formData).then(response => {
+      //   console.log(response)
+      //   let pth = response.originalFilename.substr(response.originalFilename.length-4, response.originalFilename.length)
+      //   _this.fileList1.push({name:response.fileName, url:response.url})
+      //   // _this.fileList2.push({name:response.data.fileName, url:response.data.url})
+      //   this.$modal.msgSuccess("pdf涓婁紶鎴愬姛锛�")
+      //   console("ok")
+      // })
+		//     this.uploadFileList1.push(params.file);
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const Ids = row.id || this.ids;
+
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎵�閫変腑鏁版嵁椤癸紵').then(function() {
+        return delFScan(Ids);
+      }).then(() => {
+        this.getList();
+        this.ids = []
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+
+
+  }
+};
+</script>
+<style scoped="">
+.el-table__row.statistics-warning-row {
+  background: #E0EEFE;
+
+}
+.el-table__row.statistics-warning-row1 {
+  background: #FFEFF2;
+
+}
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
+</style>
diff --git a/ruoyi-ui/src/views/system/family/index.vue b/ruoyi-ui/src/views/system/family/index.vue
index de5de6f..97ae58c 100644
--- a/ruoyi-ui/src/views/system/family/index.vue
+++ b/ruoyi-ui/src/views/system/family/index.vue
@@ -57,7 +57,7 @@
     </el-row>
 
     <el-table v-loading="loading" :data="roleList" :row-key="getRowId" @selection-change="handleSelectionChange">
-    <el-table-column type="selection" width="55"  align="center" />
+<!--    <el-table-column type="selection" width="55"  align="center" /> -->
 
     <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="100"/>
     <el-table-column label="瀹跺涵鍚嶇О" prop="name" sortable :show-overflow-tooltip="true" width="150" />
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 60b6c8c..b779961 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -37,7 +37,7 @@
       // detail: https://cli.vuewww.bendudu.comjs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
    //   target: `https://10.39.18.174:8080/`,
-	//  target: `https://192.168.1.4:8080/`,
+	 // target: `https://192.168.1.7:8080/`,
       target: 'https://www.bendudu.com:8080/',
         changeOrigin: true,
         pathRewrite: {

--
Gitblit v1.9.1