فهرست منبع

修改弹框相关内容

zhaoke 1 سال پیش
والد
کامیت
f8fa3bc415
4فایلهای تغییر یافته به همراه108 افزوده شده و 159 حذف شده
  1. 6 6
      public/staticConfig.js
  2. 6 44
      src/layout/components/Dialog/index.vue
  3. 20 25
      src/layout/index.vue
  4. 76 84
      src/views/table/index.vue

+ 6 - 6
public/staticConfig.js

@@ -51,10 +51,10 @@ switch (baseNewUrl) {
   case 'localhost':
     PLATFROM_CONFIG = {
       ...PLATFROM_CONFIG,
-      baseNewUrl: 'http://192.168.3.79:9500',
-      baseURLCA: 'http://192.168.3.79:9500',
-      fileUrl: 'http://192.168.3.79:9500',
-      expressUrl: 'http://192.168.3.79:9500',
+      baseNewUrl: 'http://120.26.64.82:9500',
+      baseURLCA: 'http://120.26.64.82:9500',
+      fileUrl: 'http://120.26.64.82:9500',
+      expressUrl: 'http://120.26.64.82:9500',
       tempUrl: 'http://10.211.67.163:16300', // 1.0临时地址
       tempToken: 'bb1bcfcb336b40e9b8602e808b053c3b', // 1.0临时token
       tempUserId: '1656481036109',
@@ -65,8 +65,8 @@ switch (baseNewUrl) {
   default:
     PLATFROM_CONFIG = {
       ...PLATFROM_CONFIG,
-      baseNewUrl: 'http://192.168.3.79:9500',
-      baseURLCA: 'http://192.168.3.79:9500',
+      baseNewUrl: 'http://120.26.64.82:9500',
+      baseURLCA: 'http://120.26.64.82:9500',
     }
     break
 }

+ 6 - 44
src/layout/components/Dialog/index.vue

@@ -8,47 +8,13 @@
 -->
 <template>
   <div class="dialog">
-    <!-- <el-dialog
-      :visible.sync="flag"
-      :append-to-body="isBody"
-      ref="dialogTk"
-      :top="top"
-      :custom-class="customClass"
-      :lock-scroll="false"
-      :modal="modal"
-      :before-close="close"
-      :width="width"
-      :show-close="showFlag"
-    >
-      <div
-        :style="{
+    <el-dialog :visible.sync="flag" :append-to-body="isBody" ref="dialogTk" :top="top" :custom-class="customClass" :lock-scroll="false" :modal="modal" :before-close="close" :width="width" :show-close="showFlag">
+      <div :style="{
           height: child ? this.$store.state.settings.dialogHeight - 96 + 'px' : '',
-        }"
-        class="dialog-content"
-      >
+        }" class="dialog-content">
         <slot />
       </div>
-    </el-dialog> -->
-    <el-drawer
-      :visible.sync="flag"
-      :append-to-body="isBody"
-      ref="dialogTk"
-      :custom-class="customClass"
-      :modal="modal"
-      :with-header="false"
-      :before-close="close"
-      :show-close="showFlag"
-      :direction="direction"
-      :width="width">
-      <div
-        :style="{
-          height: child ? this.$store.state.settings.dialogHeight - 96 + 'px' : '',
-        }"
-        class="dialog-content"
-      >
-        <slot />
-      </div>
-    </el-drawer>
+    </el-dialog>
   </div>
 </template>
 
@@ -61,10 +27,6 @@ export default {
       type: Boolean,
       default: false,
     },
-    direction:{
-      type: String,
-      default: "rtl",
-    },
     showFlag: {
       type: Boolean,
       default: false,
@@ -102,7 +64,7 @@ export default {
   // 监听弹框开关
   watch: {
     flag: {
-      handler(val) {
+      handler (val) {
         if (val) {
           this.$nextTick(() => {
             // 获取弹框高度
@@ -121,7 +83,7 @@ export default {
   },
   methods: {
     // 弹框关闭
-    close() {
+    close () {
       this.$emit("closeDialog", false);
     },
   },

+ 20 - 25
src/layout/index.vue

@@ -6,34 +6,27 @@
       <app-main id="main-containers" />
     </div>
     <!--修改密码弹框-->
-    <Dialog width="496px" customClass="dataStoreInfoDialog" :flag="pwdflag">
-      <div class="dialog-public-background">
-        <div class="title">修改密码</div>
-        <div class="content">
-          <div class="ruleZf">
-            特殊字符:`、!、@、#、$、%、^、&、*、(、)、_、+、{、}、"、:、?、>、&lt;、`、,、.、/、'、;、=、-
-          </div>
-          <div class="ruleZf">
-            密码规则:长度为8-20个字符,并且必须包含数字、大写字母、小写字母、特殊字符
-          </div>
-          <el-form :model="dataForm" :rules="dataRules" ref="dataForm" class="demo-dataForm">
-            <el-form-item label="旧密码" prop="old">
-              <el-input size="medium" placeholder="请输入旧密码" show-password v-model="dataForm.old"></el-input>
-            </el-form-item>
-            <el-form-item label="新密码" prop="new">
-              <el-input size="medium" placeholder="请输入新密码" show-password v-model="dataForm.new"></el-input>
-            </el-form-item>
-            <el-form-item label="再次确认新密码" prop="again">
-              <el-input size="medium" placeholder="请再次确认新密码" show-password v-model="dataForm.again"></el-input>
-            </el-form-item>
-          </el-form>
+    <PublicPageDialog dialog-title="修改密码" dialog-size="496px" :dialog-drawer="pwdflag" @handleClose="resetForm('dataForm')" @handleSubmit="addSubmit('dataForm')">
+      <div class="content">
+        <div class="ruleZf">
+          特殊字符:`、!、@、#、$、%、^、&、*、(、)、_、+、{、}、"、:、?、>、&lt;、`、,、.、/、'、;、=、-
         </div>
-        <div class="foot center t30">
-          <el-button size="medium" type="primary" @click="addSubmit('dataForm')" class="r24">保存</el-button>
-          <el-button size="medium" @click="resetForm('dataForm')">取消</el-button>
+        <div class="ruleZf">
+          密码规则:长度为8-20个字符,并且必须包含数字、大写字母、小写字母、特殊字符
         </div>
+        <el-form :model="dataForm" :rules="dataRules" ref="dataForm" class="demo-dataForm">
+          <el-form-item label="旧密码" prop="old">
+            <el-input size="medium" placeholder="请输入旧密码" show-password v-model="dataForm.old"></el-input>
+          </el-form-item>
+          <el-form-item label="新密码" prop="new">
+            <el-input size="medium" placeholder="请输入新密码" show-password v-model="dataForm.new"></el-input>
+          </el-form-item>
+          <el-form-item label="再次确认新密码" prop="again">
+            <el-input size="medium" placeholder="请再次确认新密码" show-password v-model="dataForm.again"></el-input>
+          </el-form-item>
+        </el-form>
       </div>
-    </Dialog>
+    </PublicPageDialog>
     <!--退出弹框-->
     <Dialog :flag="outflag">
       <div class="airportInfoDialog">
@@ -61,6 +54,7 @@ import Dialog from '@/layout/components/Dialog'
 import MD5 from 'blueimp-md5'
 import PassengerDialog from '@/components/PassengerDialog'
 import AbnormalBaggageDialog from '@/components/AbnormalBaggageDialog'
+import PublicPageDialog from '@/components/PublicPageDialog'
 import { resetPasswd } from '@/api/login'
 import JSEncrypt from "jsencrypt"
 export default {
@@ -72,6 +66,7 @@ export default {
     Dialog,
     PassengerDialog,
     AbnormalBaggageDialog,
+    PublicPageDialog
   },
   mixins: [ResizeMixin],
   data () {

+ 76 - 84
src/views/table/index.vue

@@ -36,88 +36,74 @@
     </div>
     <div class="data-table-dialog">
       <!--新增/编辑-->
-      <Dialog :width="width" :isBody="isBody" :flag="flag">
-        <div class="dialog-content">
-          <div class="title">{{ tableTitle }}</div>
-          <div class="contents">
-            <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
-              <el-row :gutter="20">
-                <el-col v-for="(item, index) in formItem" :key="index" :span="rows">
-                  <el-form-item :label="item.columnname">
-                    <template v-if="
+      <Dialog :dialog-title="tableTitle" :dialogSize="width" :dialog-drawer="flag" @handleClose="eledite" @handleSubmit="handleOk">
+        <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
+          <el-row :gutter="20">
+            <el-col v-for="(item, index) in formItem" :key="index" :span="rows">
+              <el-form-item :label="item.columnname">
+                <template v-if="
                         item.dropdownlist ||
                         item.dropdownlist == 0
                       ">
-                      <el-select class="input-shadow" size="small" filterable default-first-option style="width: 100%" v-model="tableForm[item.columncode]" @change="changeSelect(item.columncode, item)" placeholder="请选择" clearable @clear="tableForm[item.columncode] = ''">
-                        <el-option v-for="item in tableOptions[item.columncode]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
+                  <el-select class="input-shadow" size="small" filterable default-first-option style="width: 100%" v-model="tableForm[item.columncode]" @change="changeSelect(item.columncode, item)" placeholder="请选择" clearable @clear="tableForm[item.columncode] = ''">
+                    <el-option v-for="item in tableOptions[item.columncode]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
                             item.setlabel === 'positionDescribe'
                               ? item.v
                               : item.v != undefined
                               ? item.v
                               : item.planDepartureApt
                           ">
-                        </el-option>
-                      </el-select>
-                    </template>
-                    <template v-else-if="fromDataType(item.dataType) == 'text'||fromDataType(item.dataType) == 'VARCHAR'">
-                      <el-input size="small" :rows="1" type="textarea" @change="inputChangeHandler(item.columncode)" v-model="tableForm[item.columncode]"></el-input>
-                    </template>
-                    <template v-else-if="fromDataType(item.dataType) == 'date'">
-                      <el-date-picker class="datetimes" value-format="yyyy-MM-dd" v-model="tableForm[item.columncode]" type="date" placeholder="选择日期" @change="inputChangeHandler(item.columncode)">
-                      </el-date-picker>
-                    </template>
-                    <template v-else-if="fromDataType(item.dataType) == 'datetime'">
-                      <el-date-picker class="datetimes" value-format="yyyy-MM-dd HH:mm:ss" v-model="tableForm[item.columncode]" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columncode)">
-                      </el-date-picker>
-                    </template>
-                    <template v-else-if="fromDataType(item.dataType) == 'INT' || fromDataType(item.dataType) == 'tinyint'">
-                      <el-input size="small" v-model.number="tableForm[item.columncode]" onkeyup="value=value.replace(/[^1-9]/g,'')" @change="inputChangeHandler(item.columncode)"></el-input>
-                    </template>
-                    <template v-else>
-                      <el-input size="small" v-model="tableForm[item.columncode]" @change="inputChangeHandler(item.columncode)"></el-input>
-                    </template>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-          </div>
-          <div class="foot right">
-            <el-button size="medium" @click="handleOk" class="r24" type="primary">确定</el-button>
-            <el-button @click="eledite" size="medium">取消</el-button>
-          </div>
-        </div>
+                    </el-option>
+                  </el-select>
+                </template>
+                <template v-else-if="fromDataType(item.dataType) == 'text'||fromDataType(item.dataType) == 'VARCHAR'">
+                  <el-input size="small" :rows="1" type="textarea" @change="inputChangeHandler(item.columncode)" v-model="tableForm[item.columncode]"></el-input>
+                </template>
+                <template v-else-if="fromDataType(item.dataType) == 'date'">
+                  <el-date-picker class="datetimes" value-format="yyyy-MM-dd" v-model="tableForm[item.columncode]" type="date" placeholder="选择日期" @change="inputChangeHandler(item.columncode)">
+                  </el-date-picker>
+                </template>
+                <template v-else-if="fromDataType(item.dataType) == 'datetime'">
+                  <el-date-picker class="datetimes" value-format="yyyy-MM-dd HH:mm:ss" v-model="tableForm[item.columncode]" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columncode)">
+                  </el-date-picker>
+                </template>
+                <template v-else-if="fromDataType(item.dataType) == 'INT' || fromDataType(item.dataType) == 'tinyint'">
+                  <el-input size="small" v-model.number="tableForm[item.columncode]" onkeyup="value=value.replace(/[^1-9]/g,'')" @change="inputChangeHandler(item.columncode)"></el-input>
+                </template>
+                <template v-else>
+                  <el-input size="small" v-model="tableForm[item.columncode]" @change="inputChangeHandler(item.columncode)"></el-input>
+                </template>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
       </Dialog>
       <!--删除-->
-      <Dialog :isBody="isBody" :flag="rmFlag">
-        <div class="airportInfoDialog">
-          <div class="title del-title">删除</div>
-          <div class="content del-content">
-            <span class="el-icon-error error r10"></span>您是否确认删除<span class="error l10">{{ rmTitle }}</span>
-            ?
-          </div>
-          <div class="foot right Delfoot">
-            <el-button size="medium" class="r24" @click="tableRemove" type="danger">删除</el-button>
-            <el-button size="medium" @click="rmFlag = false">取消</el-button>
-          </div>
+      <Dialog dialog-title="删除" :dialog-drawer="rmFlag" @handleClose="rmFlag = false" @handleSubmit="tableRemove">
+        <div class="content del-content">
+          <span class="el-icon-error error r10"></span>您是否确认删除<span class="error l10">{{ rmTitle }}</span>
+          ?
         </div>
       </Dialog>
       <!--高级查询-->
-      <Dialog :flag="dialogFlag" width="852px">
-        <AdvanceQuery :tableColMunt="tableCols" @getColData="getColData" @dialogHide="dialogHide" />
+      <Dialog dialog-title="高级查询" dialogSize="600px" :dialog-drawer="advancedDrawer" @handleClose="advancedDrawer = false" @handleSubmit="advancedTable('advancedDialogForm')">
+        <AdvancedQuery ref="advancedDialogForm" @getAdvancedQueryData="getAdvancedQueryData" />
+        <template slot="d_foot">
+          <el-button size="small" type="primary">收藏</el-button>
+        </template>
       </Dialog>
     </div>
   </div>
 </template>
 
 <script>
-import Dialog from "@/layout/components/Dialog/index.vue";
+import Dialog from "@/components/PublicPageDialog";
 import NoData from "@/components/nodata";
-import AdvanceQuery from './components/advanceQuery.vue';
 import AuthButton from './components/authButton.vue';
-import { translateDataToTreeAllTreeMsg, getAuthData } from "@/utils/validate";
+import { getAuthData } from "@/utils/validate";
 import { Query, newData, modifyData, moveData, abnormalDataRecovery } from "@/api/webApi";
-import { getToken } from '@/utils/auth';
 import TableHeaderCell from '@/components/TableHeaderCell/index.vue';
+import AdvancedQuery from '@/components/AdvancedQuery'
 export default {
   name: "DataTable",
   props: {
@@ -169,7 +155,7 @@ export default {
       default: "180px",
     },
   },
-  components: { Dialog, NoData, AdvanceQuery, AuthButton, TableHeaderCell },
+  components: { Dialog, NoData, AdvancedQuery, AuthButton, TableHeaderCell },
   data () {
     return {
       pageTitle: '',
@@ -222,7 +208,8 @@ export default {
       authId: '',
       tableDataSortRules: {},
       tableKey: '',
-      dataContent: {}
+      dataContent: {},
+      advancedDrawer: false
     };
   },
   computed: {
@@ -294,10 +281,10 @@ export default {
     const table = arrs.filter(item => item.pagetype == 3)
     const btnArr = arrs.filter(item => item.pagetype == 4)
     if (btnArr && btnArr.length) {
-        btnArr.forEach(item => {
-          this.autoBtnObj(item)
-        })
-      }
+      btnArr.forEach(item => {
+        this.autoBtnObj(item)
+      })
+    }
 
 
     this.urlParams = query
@@ -309,7 +296,7 @@ export default {
       this.pageTitle = obj.pagename;
       this.authId = obj.pageconfigurationid
       this.queryId = obj.serviceid;
-      this.authBtns = arrs.filter(item =>item.superiorid == this.authId && item.pagetype==4)
+      this.authBtns = arrs.filter(item => item.superiorid == this.authId && item.pagetype == 4)
       this.authBtnCol = arrs.filter(item => Number(item.servicetype) == 6)
       if (this.authBtnCol.length) {
         this.authBtnCol.forEach(item => {
@@ -346,16 +333,16 @@ export default {
         const { code, returnData } = await Query({
           "serviceid": 3,
           "datacontent": {
-              "filter": {
-                  "pagecode": pagecode
-              }
+            "filter": {
+              "pagecode": pagecode
+            }
           },
           "event": "0"
         });
         if (code == 0) {
           if (returnData && returnData.length) {
             const titleColumn = returnData.find(
-              (item) => item.isdisplay !=0
+              (item) => item.isdisplay != 0
             );
             const columncode = returnData.find(
               (item) => item.isprimarykey == 1
@@ -433,13 +420,9 @@ export default {
     },
     handleQuery () {
       const { openmode, pageroute } = this.btnQueryObj
-      if (openmode) {
-        if (openmode != 3) {
-          this.autoBtnClick(openmode, pageroute)
-        } else {
-          this.dialogFlag = true
-        }
-      }
+      if (!openmode) return
+      if (openmode != 3) this.advancedDrawer = true // this.autoBtnClick(openmode, pageroute)
+      this.dialogFlag = true
     },
     eledite () {
       this.flag = false;
@@ -544,9 +527,11 @@ export default {
     },
     //获取表格数据
     async getQuery (id, datacontent = this.dataContent) {
-      datacontent = {"filter": {
-        1: 1
-      }}
+      datacontent = {
+        "filter": {
+          1: 1
+        }
+      }
       try {
         this.loading = true;
         const { code, returnData } = await Query({
@@ -629,7 +614,7 @@ export default {
         } else if (event == 2) {
           obj.value = data
           console.log(obj.filter)
-          obj.filter[key]=obj.value[key]
+          obj.filter[key] = obj.value[key]
           console.log(obj.filter)
           if (obj.value[key]) {
             delete obj.value[key]
@@ -692,9 +677,9 @@ export default {
     //初始化表格
     initTableData () {
       console.log(this.tableCols)
-      this.tableColsCopy = this.tableCols.filter((item) => item.isdisplay==2);
+      this.tableColsCopy = this.tableCols.filter((item) => item.isdisplay == 2);
       this.tableColsCopy = _.orderBy(this.tableColsCopy, ['displaynumber'], ['asc']);
-      this.formItem = this.tableCols.filter((item) => item.isdisplay==2 || item.isdisplay==3);
+      this.formItem = this.tableCols.filter((item) => item.isdisplay == 2 || item.isdisplay == 3);
       console.log(this.formItem)
       this.formItem = _.orderBy(this.formItem, ['displaynumber'], ['asc']);
       this.tableDataCopy = _.cloneDeep(this.tableData);
@@ -913,7 +898,7 @@ export default {
         if (openmode != 2) {
           this.autoBtnClick(openmode, pageroute)
         } else {
-      console.log(111)
+          console.log(111)
 
           this.flag = true;
           this.tableType = "edit";
@@ -1032,7 +1017,14 @@ export default {
         return (cellValue ?? '').replace('T', ' ')
       }
       return cellValue
-    }
+    },
+    //高级查询
+    advancedTable (refName) {
+      this.$refs[refName].advancedQueryHandler()
+    },
+    getAdvancedQueryData (dataRules) {
+      console.log(dataRules)
+    },
   },
 };
 </script>