瀏覽代碼

Merge remote-tracking branch 'origin/dev' into dev

jingyuanchao 2 年之前
父節點
當前提交
1b4fb447e2
共有 5 個文件被更改,包括 293 次插入170 次删除
  1. 4 2
      package.json
  2. 8 1
      src/api/system/public.js
  3. 14 5
      src/components/ImageUpload/index.vue
  4. 260 156
      src/views/system/dept/extend.vue
  5. 7 6
      src/views/system/dept/index.vue

+ 4 - 2
package.json

@@ -10,7 +10,8 @@
     "build:prod": "vue-cli-service build",
     "build:stage": "vue-cli-service build --mode staging",
     "preview": "node build/index.js --preview",
-    "lint": "eslint --ext .js,.vue src"
+    "lint": "eslint --ext .js,.vue src",
+    "webpack": "webpack --version"
   },
   "husky": {
     "hooks": {
@@ -81,7 +82,8 @@
     "script-ext-html-webpack-plugin": "2.1.5",
     "svg-sprite-loader": "5.1.1",
     "vue-template-compiler": "2.6.12",
-    "webpack": "^5.88.2"
+    "webpack": "^5.88.2",
+    "webpack-cli": "^5.1.4"
   },
   "engines": {
     "node": ">= 10.0",

+ 8 - 1
src/api/system/public.js

@@ -5,4 +5,11 @@ export function deptTreeSelect() {
       url: '/system/dept/deptTree',
       method: 'get'
     })
-  }
+  }
+// 查询文件
+export function getFile(code) {
+  return request({
+    url: '/file/file/getFile/' +code,
+    method: 'get'
+  })
+}

+ 14 - 5
src/components/ImageUpload/index.vue

@@ -19,7 +19,7 @@
     >
       <i class="el-icon-plus"></i>
     </el-upload>
-    
+
     <!-- 上传提示 -->
     <div class="el-upload__tip" slot="tip" v-if="showTip">
       请上传
@@ -44,6 +44,7 @@
 
 <script>
 import { getToken } from "@/utils/auth";
+import {getFile} from "@/api/system/public";
 
 export default {
   props: {
@@ -76,7 +77,7 @@ export default {
       dialogImageUrl: "",
       dialogVisible: false,
       hideUpload: false,
-      uploadImgUrl: process.env.VUE_APP_BASE_API + "/file/upload", // 上传的图片服务器地址
+      uploadImgUrl: process.env.NODE_ENV === 'development'? '/dev-api'+ "/file/file/upload" : process.env.VUE_APP_BASE_API + "/file/file/upload", // 上传的图片服务器地址
       headers: {
         Authorization: "Bearer " + getToken(),
       },
@@ -136,7 +137,7 @@ export default {
       if (this.fileSize) {
         const isLt = file.size / 1024 / 1024 < this.fileSize;
         if (!isLt) {
-          this.$modal.msgError(`上传头像图片大小不能超过 ${this.fileSize} MB!`);
+          this.$modal.msgError(`上传图片大小不能超过 ${this.fileSize} MB!`);
           return false;
         }
       }
@@ -149,9 +150,17 @@ export default {
     },
     // 上传成功回调
     handleUploadSuccess(res, file) {
+      console.log(res,'res')
       if (res.code === 200) {
-        this.uploadList.push({ name: res.data.url, url: res.data.url });
-        this.uploadedSuccessfully();
+        getFile(res.data.code).then(res=>{
+
+          // let str = res.data.code;
+          // let blob = new Blob([str],{type:'image/jpeg'});
+          // let imgUrl = window.URL.createObjectURL(blob);
+          // debugger
+          this.uploadList.push({ name: res.data.name, url:imgUrl });
+          this.uploadedSuccessfully();
+        })
       } else {
         this.number--;
         this.$modal.closeLoading();

+ 260 - 156
src/views/system/dept/extend.vue

@@ -9,7 +9,7 @@
     </div>
 
     <h3 class="title">补充基础信息</h3>
-    <div class="info-box" style="margin-bottom: 0;">
+    <div class="info-box">
       <el-form inline class="demo-form-inline" label-position="left" label-width="120px">
         <el-row >
           <el-col :span="8">
@@ -37,7 +37,7 @@
               <el-input v-model="premisesArea" placeholder="营业场所面积"></el-input>
             </el-form-item>
           </el-col>
-         <el-col :span="8">
+          <el-col :span="8">
            <el-form-item
              v-if="!orgType"
              label="建设时间"
@@ -69,16 +69,18 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
             <el-form-item v-if="!orgType" label="平台品牌">
-            <el-select v-model="platformBrand" placeholder="平台品牌">
-              <el-option
-                v-for="(platformB, key) in platformBrands"
-                :key="key"
-                :label="platformB.label"
-                :value="platformB.value"
-              ></el-option>
-            </el-select>
-          </el-form-item>
+              <el-select v-model="platformBrand" placeholder="平台品牌">
+                <el-option
+                  v-for="(platformB, key) in platformBrands"
+                  :key="key"
+                  :label="platformB.label"
+                  :value="platformB.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="8">
             <el-form-item
               v-if="!orgType"
@@ -99,6 +101,7 @@
       </el-form>
     </div>
     <div v-if="orgType" class="info-box">
+      <!--  下拉框选择    -->
       <div>
         <el-switch
           v-model="ownership"
@@ -116,9 +119,10 @@
           :inactive-value="0"
         ></el-switch>
       </div>
-      <div>
+      <!--  表格   -->
+      <div  style="margin-top: 30px;">
         <el-button
-          style="margin: 20px 0;"
+          style="margin-bottom: 20px;"
           type="primary"
           plain
           icon="el-icon-plus"
@@ -128,6 +132,7 @@
           >新增</el-button>
         <el-table
           border
+          size="small"
           v-loading="orgloading"
           :data="constructionList"
           @selection-change="handleOrgSelectionChange">
@@ -191,10 +196,9 @@
           </el-table-column>
         </el-table>
       </div>
-
-      <div>
+      <!--   上传   -->
+      <div   style="margin-top: 30px;">
         <el-switch
-          style="margin-right: 100px"
           v-model="askari"
           active-text
           inactive-text="是否有保安"
@@ -202,160 +206,251 @@
           :inactive-value="0"
         ></el-switch>
         <div v-if="askari">
-          <p>上传保安证</p>
           <div class="image-container" style="margin-left: 20px">
-            <el-image class="zoom-image border-color-change" :src="uploadp" fit="contain" @click="triggerFileInput"></el-image>
-            <input type="file"
-                   ref="fileInput"
-                   @change="handleFileChange"
-                   style="display: none;"/>
+            <p style="font-size: 12px;color:#999;">上传保安证正面</p>
+            <image-upload :limit="1" :fileSize="2"></image-upload>
+
+<!--            <el-image class="zoom-image border-color-change" :src="uploadp" fit="contain" @click="triggerFileInput"></el-image>-->
+<!--            <input type="file"-->
+<!--                   ref="fileInput"-->
+<!--                   @change="handleFileChange"-->
+<!--                   style="display: none;"/>-->
           </div>
           <div class="image-container" style="margin-right: 0">
-            <el-image class="zoom-image border-color-change" :src="uplp" fit="contain"></el-image>
+            <p style="font-size: 12px;color:#999;">上传保安证反面</p>
+            <image-upload :limit="1" :fileSize="2"></image-upload>
+<!--            <el-image class="zoom-image border-color-change" :src="uplp" fit="contain"></el-image>-->
           </div>
         </div>
       </div>
     </div>
 
-    <h3 class="title">业务库设置</h3>
-    <div class="info-box" style="margin-top: 20px;">
-      <span>业务库类型:</span>
-      <el-select
-        v-model="businessLibraryType"
-        placeholder="活动区域"
-        style="margin-left: 5px">
-        <el-option
-          v-for="(businessLibraryTy, key) in businessLibraryTypes"
-          :key="key"
-          :label="businessLibraryTy.label"
-          :value="businessLibraryTy.value"
-        ></el-option>
-      </el-select>
-      <span style="margin-left: 50px">值守方式</span>
-      <el-radio-group v-model="dutyMode" style="margin-left: 10px">
-        <el-radio :label="0">同楼异地值守</el-radio>
-        <el-radio :label="1">远程值守</el-radio>
-      </el-radio-group>
-      <el-switch
-        style="margin-left: 50px"
-        v-model="remoteControl"
-        active-text
-        inactive-text="业务库出入口远程控制"
-        :active-value="1"
-        :inactive-value="0"
-      ></el-switch>
-    </div>
-
-    <h3 class="title">在行自助银行设置</h3>
-    <div class="info-box">
-      <el-switch
-        v-model="selfServiceBank"
-        active-text
-        inactive-text="是否有在行自助银行"
-        :active-value="1"
-        :inactive-value="0"
-      ></el-switch>
-      <span style="margin-left: 50px">在行式大堂设备</span>
-      <div style="display: inline-block; width: 200px">
-        <el-input-number
-          style="margin-left: 10px"
-          v-model="lobbyEquipment"
-          controls-position="right"
-          @change="handleChange"
-          :min="1"
-          :max="10"
-        ></el-input-number>
+    <div v-if="orgType">
+      <h3 class="title">业务库设置</h3>
+      <div class="info-box">
+        <el-form inline label-position="left" label-width="100px">
+          <el-row>
+            <el-col :span="7">
+              <el-form-item label="业务库类型">
+                <el-select
+                  v-model="businessLibraryType"
+                  placeholder="活动区域">
+                  <el-option
+                    v-for="(businessLibraryTy, key) in businessLibraryTypes"
+                    :key="key"
+                    :label="businessLibraryTy.label"
+                    :value="businessLibraryTy.value"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="7">
+              <el-form-item label="值守方式">
+                <el-radio-group v-model="dutyMode">
+                  <el-radio :label="0">同楼异地值守</el-radio>
+                  <el-radio :label="1">远程值守</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="7">
+              <el-form-item label="业务库出入口远程控制" label-width="150">
+                <el-switch
+                  v-model="remoteControl"
+                  active-text
+                  inactive-text
+                  :active-value="1"
+                  :inactive-value="0"
+                ></el-switch>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
       </div>
-      <span style="margin-left: 50px">在行式穿墙设备</span>
-      <div style="display: inline-block; width: 200px">
-        <el-input-number
-          style="margin-left: 10px"
-          v-model="wallPenetratingEquipment"
-          controls-position="right"
-          @change="handleChange"
-          :min="1"
-          :max="10"
-        ></el-input-number>
-      </div>
-    </div>
-    <div class="info-box">
-      <el-col :span="1.5">
+      <div class="info-box">
         <el-button
+          style="margin-bottom: 20px;"
           type="primary"
           plain
           icon="el-icon-plus"
           size="mini"
           @click="handleBankAdd"
           v-hasPermi="['system:BankPhysicalDefenseConstruction:add']"
-        >新增</el-button
-        >
-      </el-col>
-      <el-table
-        v-loading="bankloading"
-        :data="BankPhysicalDefenseConstructionList"
-        @selection-change="handleBankSelectionChange"
-      >
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="id" align="center" prop="id" />
-        <el-table-column label="标准" align="center" prop="standard" />
-        <el-table-column
-          label="达标日期"
-          align="center"
-          prop="dateOfCompliance"
-          width="180"
-        >
-          <template slot-scope="scope">
-            <span>{{parseTime(scope.row.dateOfCompliance, "YYYY-MM-dd HH:mm:ss") }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="是否证书佐证"
-          align="center"
-          prop="certificateEvidence"
-        />
-        <el-table-column label="证书" align="center" prop="certificate" />
-        <el-table-column label="佐证" align="center" prop="evidence" />
-        <el-table-column
-          v-if="false"
-          label="机构id"
-          align="center"
-          prop="orgId"
-        />
-        <el-table-column
-          label="操作"
-          align="center"
-          class-name="small-padding fixed-width"
-        >
-          <template slot-scope="scope">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleBankUpdate(scope.row)"
-              v-hasPermi="['system:construction:edit']"
-            >查看证书</el-button
-            >
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleBankUpdate(scope.row)"
-              v-hasPermi="['system:BankPhysicalDefenseConstruction:edit']"
-            >修改</el-button
-            >
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              @click="handleBankDelete(scope.row)"
-              v-hasPermi="['system:BankPhysicalDefenseConstruction:remove']"
-            >删除</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>
+        >新增</el-button>
+        <el-table
+          border
+          size="small"
+          v-loading="bankloading"
+          :data="BankPhysicalDefenseConstructionList"
+          @selection-change="handleBankSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="id" align="center" prop="id" />
+          <el-table-column label="标准" align="center" prop="standard" />
+          <el-table-column
+            label="达标日期"
+            align="center"
+            prop="dateOfCompliance"
+            width="180">
+            <template slot-scope="scope">
+              <span>{{parseTime(scope.row.dateOfCompliance, "YYYY-MM-dd HH:mm:ss") }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="是否证书佐证"
+            align="center"
+            prop="certificateEvidence"
+          />
+          <el-table-column label="证书" align="center" prop="certificate" />
+          <el-table-column label="佐证" align="center" prop="evidence" />
+          <el-table-column
+            v-if="false"
+            label="机构id"
+            align="center"
+            prop="orgId"
+          />
+          <el-table-column
+            label="操作"
+            align="center"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleBankUpdate(scope.row)"
+                v-hasPermi="['system:construction:edit']"
+              >查看证书</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleBankUpdate(scope.row)"
+                v-hasPermi="['system:BankPhysicalDefenseConstruction:edit']"
+              >修改</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleBankDelete(scope.row)"
+                v-hasPermi="['system:BankPhysicalDefenseConstruction:remove']"
+              >删除</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
 
 
+      </div>
+
+      <h3 class="title">在行自助银行设置</h3>
+      <div class="info-box">
+        <el-switch
+          v-model="selfServiceBank"
+          active-text
+          inactive-text="是否有在行自助银行"
+          :active-value="1"
+          :inactive-value="0"
+        ></el-switch>
+        <span style="margin-left: 50px">在行式大堂设备</span>
+        <div style="display: inline-block; width: 200px">
+          <el-input-number
+            style="margin-left: 10px"
+            v-model="lobbyEquipment"
+            controls-position="right"
+            @change="handleChange"
+            :min="1"
+            :max="10"
+          ></el-input-number>
+        </div>
+        <span style="margin-left: 50px">在行式穿墙设备</span>
+        <div style="display: inline-block; width: 200px">
+          <el-input-number
+            style="margin-left: 10px"
+            v-model="wallPenetratingEquipment"
+            controls-position="right"
+            @change="handleChange"
+            :min="1"
+            :max="10"
+          ></el-input-number>
+        </div>
+      </div>
+      <div class="info-box">
+        <el-button
+          style="margin-bottom: 20px;"
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleBankAdd"
+          v-hasPermi="['system:BankPhysicalDefenseConstruction:add']"
+        >新增</el-button>
+        <el-table
+          border
+          size="small"
+          v-loading="bankloading"
+          :data="BankPhysicalDefenseConstructionList"
+          @selection-change="handleBankSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="id" align="center" prop="id" />
+          <el-table-column label="标准" align="center" prop="standard" />
+          <el-table-column
+            label="达标日期"
+            align="center"
+            prop="dateOfCompliance"
+            width="180"
+          >
+            <template slot-scope="scope">
+              <span>{{parseTime(scope.row.dateOfCompliance, "YYYY-MM-dd HH:mm:ss") }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="是否证书佐证"
+            align="center"
+            prop="certificateEvidence"
+          />
+          <el-table-column label="证书" align="center" prop="certificate" />
+          <el-table-column label="佐证" align="center" prop="evidence" />
+          <el-table-column
+            v-if="false"
+            label="机构id"
+            align="center"
+            prop="orgId"
+          />
+          <el-table-column
+            label="操作"
+            align="center"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleBankUpdate(scope.row)"
+                v-hasPermi="['system:construction:edit']"
+              >查看证书</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleBankUpdate(scope.row)"
+                v-hasPermi="['system:BankPhysicalDefenseConstruction:edit']"
+              >修改</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleBankDelete(scope.row)"
+                v-hasPermi="['system:BankPhysicalDefenseConstruction:remove']"
+              >删除</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
     </div>
 
     <div style="margin-top: 50px; margin-left: 42%">
@@ -900,8 +995,18 @@ export default {
 
 <style scoped lang="scss">
 
+.title{
+  font-size: 18px;
+  text-align: left;
+  background: #4f9baabd;
+  color:#fff;
+  height: 36px;
+  line-height: 36px;
+  padding-left: 8px;
+  margin: 0;
+}
 .info-box{
-  margin: 0 30px 30px 30px;
+  margin: 30px;
 }
 .demo-form-inline {
 }
@@ -912,7 +1017,6 @@ export default {
 .image-container {
   display: inline-block;
   width: 200px;
-  height: 200px;
   margin-right: 20px; /* 设置与下一个div的水平间距 */
 }
 .zoom-image {
@@ -920,10 +1024,10 @@ export default {
 }
 
 .zoom-image:hover {
-  transform: scale(1.25);
+  transform: scale(1.02);
 }
 .border-color-change {
-  border: 2px solid #ccc;
+  border: 1px solid #ccc;
   transition: border-color 0.3s ease;
 }
 

+ 7 - 6
src/views/system/dept/index.vue

@@ -92,12 +92,13 @@
 
           <router-link :to="'/system/dept-extend/extend/'+ scope.row.id " class="link-type">
 
-            <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            >扩展</el-button
-          >
+              <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              v-hasPermi="['system:dept:extend']"
+              >扩展</el-button
+            >
           </router-link>
           <el-button
             size="mini"