1.人员信息编辑,科室名称如果过长会被遮盖
2.手机号正则验证 3.人员管理密码正则验证 4.上传图片,附件提示信息优化 5.后台和登陆页字眼修改 6.后台左上角导航遮挡问题 7.系统管理-人员管理,查询问题 8.登陆日志显示问题 9.首页公告查看详情问题 10.数据导出问题处理 11.二维码扫描问题
This commit is contained in:
		
							parent
							
								
									93e3eab6bf
								
							
						
					
					
						commit
						9df40c01c7
					
				@ -4,7 +4,7 @@
 | 
				
			|||||||
    <meta charset="UTF-8" />
 | 
					    <meta charset="UTF-8" />
 | 
				
			||||||
    <link rel="icon" href="/favicon.ico" />
 | 
					    <link rel="icon" href="/favicon.ico" />
 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
				
			||||||
    <title>医风医德考评系统</title>
 | 
					    <title>医风医德管理系统</title>
 | 
				
			||||||
    <style>
 | 
					    <style>
 | 
				
			||||||
      body {
 | 
					      body {
 | 
				
			||||||
        margin: 0;
 | 
					        margin: 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -10,7 +10,7 @@
 | 
				
			|||||||
      <div v-if="!appStore.collapse" class="layui-layer-shade hidden-sm-and-up" @click="collapse"></div>
 | 
					      <div v-if="!appStore.collapse" class="layui-layer-shade hidden-sm-and-up" @click="collapse"></div>
 | 
				
			||||||
      <!-- 核心菜单  -->
 | 
					      <!-- 核心菜单  -->
 | 
				
			||||||
      <lay-side :width="sideWidth" :class="appStore.sideTheme == 'dark' ? 'dark changeBgc' : 'light'">
 | 
					      <lay-side :width="sideWidth" :class="appStore.sideTheme == 'dark' ? 'dark changeBgc' : 'light'">
 | 
				
			||||||
        <lay-logo v-if="appStore.logo">医风医德考评系统</lay-logo>
 | 
					        <lay-logo v-if="appStore.logo && !appStore.collapse">医风医德考评系统</lay-logo>
 | 
				
			||||||
        <div class="side-menu-wrapper">
 | 
					        <div class="side-menu-wrapper">
 | 
				
			||||||
          <div class="side-menu1" v-if="appStore.subfield && appStore.subfieldPosition == 'side'">
 | 
					          <div class="side-menu1" v-if="appStore.subfield && appStore.subfieldPosition == 'side'">
 | 
				
			||||||
            <global-main-menu :collapse="true" :menus="mainMenus" :selectedKey="mainSelectedKey"
 | 
					            <global-main-menu :collapse="true" :menus="mainMenus" :selectedKey="mainSelectedKey"
 | 
				
			||||||
@ -219,6 +219,8 @@ export default {
 | 
				
			|||||||
    const currentIndex = ref('1')
 | 
					    const currentIndex = ref('1')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const collapse = () => {
 | 
					    const collapse = () => {
 | 
				
			||||||
 | 
					      console.log(appStore.collapse);
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
      appStore.collapse = !appStore.collapse
 | 
					      appStore.collapse = !appStore.collapse
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -63,8 +63,8 @@
 | 
				
			|||||||
          <lay-form-item required label="处理结果:" prop="acceptance_content">
 | 
					          <lay-form-item required label="处理结果:" prop="acceptance_content">
 | 
				
			||||||
            <lay-textarea placeholder="请输入处理结果" v-model="addData.acceptance_content"></lay-textarea>
 | 
					            <lay-textarea placeholder="请输入处理结果" v-model="addData.acceptance_content"></lay-textarea>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="附件" mode="block">
 | 
					          <lay-form-item label="附件" mode="block" tips="大小限制1M">
 | 
				
			||||||
            <lay-upload ref="uploadRef" :number="1" field="file" :size="1000" :headers="{ token: userStore.token }"
 | 
					            <lay-upload ref="uploadRef" :beforeUpload="beforeUpload" :number="1" field="file" :headers="{ token: userStore.token }"
 | 
				
			||||||
              :url="baseURL + '/api/common/upload'" @cutdone="getCutDone" v-model="file1" :auto="true" :cut="false"
 | 
					              :url="baseURL + '/api/common/upload'" @cutdone="getCutDone" v-model="file1" :auto="true" :cut="false"
 | 
				
			||||||
              :cutOptions="cutOptions" @done="getFileDone">
 | 
					              :cutOptions="cutOptions" @done="getFileDone">
 | 
				
			||||||
              <template #preview>
 | 
					              <template #preview>
 | 
				
			||||||
@ -152,7 +152,7 @@ const addData = reactive({
 | 
				
			|||||||
})
 | 
					})
 | 
				
			||||||
// 回访表导出
 | 
					// 回访表导出
 | 
				
			||||||
const upPdf = (row: any) => {
 | 
					const upPdf = (row: any) => {
 | 
				
			||||||
  window.open(baseURL + '/api/backend/pdf/exportPdf?id=' + row.id, '_blank')
 | 
					  window.open(baseURL + '/api/backend/pdf/exportPdf?id=' + row.id + '&token=' + userStore.token, '_blank')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
// 添加详情弹窗相关变量和方法
 | 
					// 添加详情弹窗相关变量和方法
 | 
				
			||||||
const detailShow = ref(false)
 | 
					const detailShow = ref(false)
 | 
				
			||||||
@ -174,6 +174,15 @@ const getCutDone = (res) => {
 | 
				
			|||||||
  console.log("getCutDone", res);
 | 
					  console.log("getCutDone", res);
 | 
				
			||||||
  cutUrl.value = res.msg;
 | 
					  cutUrl.value = res.msg;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					const beforeUpload = (file) => {
 | 
				
			||||||
 | 
					  var isOver = true;
 | 
				
			||||||
 | 
					  console.log(file);
 | 
				
			||||||
 | 
					  if(file.size > 1048576) {
 | 
				
			||||||
 | 
					    isOver = false;
 | 
				
			||||||
 | 
					    layer.msg(`文件最大上传为: 1MB`, { icon: 2,time: 2000})
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					  return new Promise((resolver) => resolver(isOver));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
const getFileDone = (res) => {
 | 
					const getFileDone = (res) => {
 | 
				
			||||||
  var date = JSON.parse(res.data);
 | 
					  var date = JSON.parse(res.data);
 | 
				
			||||||
  console.log("getFileDone", date);
 | 
					  console.log("getFileDone", date);
 | 
				
			||||||
 | 
				
			|||||||
@ -67,7 +67,7 @@ const columns = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    title: "工号",
 | 
					    title: "工号",
 | 
				
			||||||
    width: "120px",
 | 
					    width: "120px",
 | 
				
			||||||
    key: "work_number"
 | 
					    key: "code"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    title: "登录IP",
 | 
					    title: "登录IP",
 | 
				
			||||||
 | 
				
			|||||||
@ -40,8 +40,8 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <lay-layer v-model="showQrCode" title="二维码" :area="['400px', '400px']">
 | 
					        <lay-layer v-model="showQrCode" title="二维码" :area="['400px', '400px']">
 | 
				
			||||||
            <div style="text-align: center">
 | 
					            <div style="text-align: center">
 | 
				
			||||||
                <lay-qrcode :text="baseURL+'/h5/pages/index/hospital'" :width="300" v-if="qeCode == 1"></lay-qrcode>
 | 
					                <lay-qrcode :text="baseURL+'/h5/#/pages/index/hospital'" :width="300" v-if="qeCode == 1"></lay-qrcode>
 | 
				
			||||||
                <lay-qrcode :text="baseURL+'/h5/pages/index/hospital_nei'" :width="300" v-if="qeCode == 2"></lay-qrcode>
 | 
					                <lay-qrcode :text="baseURL+'/h5/#/pages/index/hospital_nei'" :width="300" v-if="qeCode == 2"></lay-qrcode>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </lay-layer>
 | 
					        </lay-layer>
 | 
				
			||||||
        <lay-layer v-model="showInfo" title="意见详情" :type="4" :area="['600px', '100%']">
 | 
					        <lay-layer v-model="showInfo" title="意见详情" :type="4" :area="['600px', '100%']">
 | 
				
			||||||
 | 
				
			|||||||
@ -378,10 +378,10 @@ const addButton = ref([
 | 
				
			|||||||
        layer.msg('请选择考评类型!', {icon: 2, time: 1000})
 | 
					        layer.msg('请选择考评类型!', {icon: 2, time: 1000})
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (addData.time <= 0) {
 | 
					      // if (addData.time <= 0) {
 | 
				
			||||||
        layer.msg('请填写时间(天)!', {icon: 2, time: 1000})
 | 
					      //   layer.msg('请填写时间(天)!', {icon: 2, time: 1000})
 | 
				
			||||||
        return;
 | 
					      //   return;
 | 
				
			||||||
      }
 | 
					      // }
 | 
				
			||||||
      if (addData.evaluation_start_type == null) {
 | 
					      if (addData.evaluation_start_type == null) {
 | 
				
			||||||
        layer.msg('请选择考评开始类型!', {icon: 2, time: 1000})
 | 
					        layer.msg('请选择考评开始类型!', {icon: 2, time: 1000})
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
 | 
				
			|||||||
@ -162,7 +162,7 @@ const exportExcel = () => {
 | 
				
			|||||||
  const ids = selectedKeys.value.join(',');
 | 
					  const ids = selectedKeys.value.join(',');
 | 
				
			||||||
  console.log(ids);
 | 
					  console.log(ids);
 | 
				
			||||||
  //导出Excel
 | 
					  //导出Excel
 | 
				
			||||||
  window.open(baseURL + '/api/backend/excel_controller/dailyexport?ids=' + ids)
 | 
					  window.open(baseURL + '/api/backend/excel_controller/dailyexport?ids=' + ids + '&token=' + userStore.token)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
const batchAudit = (type: number) => {
 | 
					const batchAudit = (type: number) => {
 | 
				
			||||||
 | 
				
			|||||||
@ -92,8 +92,8 @@
 | 
				
			|||||||
                </lay-select-option>
 | 
					                </lay-select-option>
 | 
				
			||||||
              </lay-select>
 | 
					              </lay-select>
 | 
				
			||||||
            </lay-form-item>
 | 
					            </lay-form-item>
 | 
				
			||||||
            <lay-form-item label="附件" mode="block">
 | 
					            <lay-form-item label="附件" mode="block" tips="大小限制1M">
 | 
				
			||||||
                    <lay-upload ref="uploadRef" :number="1" field="file" :size="1000"
 | 
					                    <lay-upload ref="uploadRef" :beforeUpload="beforeUpload" :number="1" field="file"
 | 
				
			||||||
                        :headers="{ token: userStore.token }" url="/api/common/upload" @cutdone="getCutDone"
 | 
					                        :headers="{ token: userStore.token }" url="/api/common/upload" @cutdone="getCutDone"
 | 
				
			||||||
                        v-model="file1" :auto="true" :cut="false" :cutOptions="cutOptions" @done="getFileDone">
 | 
					                        v-model="file1" :auto="true" :cut="false" :cutOptions="cutOptions" @done="getFileDone">
 | 
				
			||||||
                        <template #preview>
 | 
					                        <template #preview>
 | 
				
			||||||
@ -134,8 +134,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          <lay-descriptions title="其他信息" :column="2" border style="margin-top: 20px">
 | 
					          <lay-descriptions title="其他信息" :column="2" border style="margin-top: 20px">
 | 
				
			||||||
            <lay-descriptions-item label="状态">
 | 
					            <lay-descriptions-item label="状态">
 | 
				
			||||||
              <lay-tag size="sm" type="primary">
 | 
					              <lay-tag size="sm" type="warm" v-if="detailData.status == 1">
 | 
				
			||||||
                {{ detailData.status == 1 ? '待审核' : '审核通过' }}
 | 
					                待审核
 | 
				
			||||||
 | 
					              </lay-tag>
 | 
				
			||||||
 | 
					              <lay-tag size="sm" type="primary" v-if="detailData.status == 2">
 | 
				
			||||||
 | 
					                审核通过
 | 
				
			||||||
 | 
					              </lay-tag>
 | 
				
			||||||
 | 
					              <lay-tag size="sm" type="danger" v-if="detailData.status == 3">
 | 
				
			||||||
 | 
					                已驳回
 | 
				
			||||||
              </lay-tag>
 | 
					              </lay-tag>
 | 
				
			||||||
            </lay-descriptions-item>
 | 
					            </lay-descriptions-item>
 | 
				
			||||||
            <lay-descriptions-item label="备注" :span="2">
 | 
					            <lay-descriptions-item label="备注" :span="2">
 | 
				
			||||||
@ -237,7 +243,15 @@ const handleItemChange = (value: string | number | object) => {
 | 
				
			|||||||
    selectedItemTipsScore.value = selectedItem.single_score_max + '分,最低' + selectedItem.single_score_min + '分';
 | 
					    selectedItemTipsScore.value = selectedItem.single_score_max + '分,最低' + selectedItem.single_score_min + '分';
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					const beforeUpload = (file) => {
 | 
				
			||||||
 | 
					  var isOver = true;
 | 
				
			||||||
 | 
					  console.log(file);
 | 
				
			||||||
 | 
					  if(file.size > 1048576) {
 | 
				
			||||||
 | 
					    isOver = false;
 | 
				
			||||||
 | 
					    layer.msg(`文件最大上传为: 1MB`, { icon: 2,time: 2000})
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					  return new Promise((resolver) => resolver(isOver));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
onMounted(() => {
 | 
					onMounted(() => {
 | 
				
			||||||
  getAdditionList()
 | 
					  getAdditionList()
 | 
				
			||||||
  getHierarchicalData()
 | 
					  getHierarchicalData()
 | 
				
			||||||
 | 
				
			|||||||
@ -89,7 +89,7 @@ const exportExcel = () => {
 | 
				
			|||||||
    console.log(ids);
 | 
					    console.log(ids);
 | 
				
			||||||
    console.log(searchForm.value.month)
 | 
					    console.log(searchForm.value.month)
 | 
				
			||||||
    //导出Excel
 | 
					    //导出Excel
 | 
				
			||||||
    window.open(baseURL+`/api/backend/excel_controller/groupIndexrecordsex?ids=${ids}&month=${searchForm.value.month}`)
 | 
					    window.open(baseURL+`/api/backend/excel_controller/groupIndexrecordsex?ids=${ids}&month=${searchForm.value.month}&token=${userStore.token}`)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
const selectedKeys = ref()
 | 
					const selectedKeys = ref()
 | 
				
			||||||
const isFold = ref(false)
 | 
					const isFold = ref(false)
 | 
				
			||||||
 | 
				
			|||||||
@ -245,7 +245,7 @@
 | 
				
			|||||||
        </lay-card>
 | 
					        </lay-card>
 | 
				
			||||||
        <lay-layer v-model="showQrCode" title="二维码" :area="['400px', '400px']">
 | 
					        <lay-layer v-model="showQrCode" title="二维码" :area="['400px', '400px']">
 | 
				
			||||||
            <div style="text-align: center">
 | 
					            <div style="text-align: center">
 | 
				
			||||||
                <lay-qrcode :text="baseURL+'/h5/pages/index/user_license?id='+userInfo.id" :width="300"></lay-qrcode>
 | 
					                <lay-qrcode :text="baseURL+'/h5/#/pages/index/user_license?id='+userInfo.id" :width="300"></lay-qrcode>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </lay-layer>
 | 
					        </lay-layer>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,15 @@
 | 
				
			|||||||
        </lay-card>
 | 
					        </lay-card>
 | 
				
			||||||
      </lay-col>
 | 
					      </lay-col>
 | 
				
			||||||
    </lay-row>
 | 
					    </lay-row>
 | 
				
			||||||
 | 
					    <lay-layer title="通知公告详情" v-model="showInfoDetail" :type="4" :area="['700px', '100%']">
 | 
				
			||||||
 | 
					      <div class="notice-detail">
 | 
				
			||||||
 | 
					        <div class="notice-info">
 | 
				
			||||||
 | 
					          <span>时间:{{ currentNotice.createtime }}</span>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="notice-content" v-html="currentNotice.content">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </lay-layer>
 | 
				
			||||||
    <lay-row :space="10">
 | 
					    <lay-row :space="10">
 | 
				
			||||||
      <lay-col :md="24" :sm="24" :xs="24">
 | 
					      <lay-col :md="24" :sm="24" :xs="24">
 | 
				
			||||||
        <lay-card>
 | 
					        <lay-card>
 | 
				
			||||||
@ -158,6 +166,7 @@ const msgColumns = [
 | 
				
			|||||||
    fixed: 'right'
 | 
					    fixed: 'right'
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					const showInfoDetail = ref(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dataSource = ref<Notice[]>([]);
 | 
					const dataSource = ref<Notice[]>([]);
 | 
				
			||||||
const dataMsgSource = ref<Message[]>([]);
 | 
					const dataMsgSource = ref<Message[]>([]);
 | 
				
			||||||
@ -190,8 +199,9 @@ const changePage = (ppc) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 查看详情
 | 
					// 查看详情
 | 
				
			||||||
const handleViewDetail = (row: Notice) => {
 | 
					const handleViewDetail = (row: Notice) => {
 | 
				
			||||||
 | 
					  console.log(row);
 | 
				
			||||||
  currentNotice.value = row;
 | 
					  currentNotice.value = row;
 | 
				
			||||||
  showDetail.value = true;
 | 
					  showInfoDetail.value = true;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 获取站内信列表
 | 
					// 获取站内信列表
 | 
				
			||||||
@ -218,13 +228,11 @@ const handleViewMessage = (row: Message) => {
 | 
				
			|||||||
  currentMessage.value = row;
 | 
					  currentMessage.value = row;
 | 
				
			||||||
  showDetail.value = true;
 | 
					  showDetail.value = true;
 | 
				
			||||||
  // 更新消息状态为已读
 | 
					  // 更新消息状态为已读
 | 
				
			||||||
  if (row.notify_status === 1) {
 | 
					 | 
				
			||||||
    getMailUpdateMail({ id: row.id }).then((res) => {
 | 
					    getMailUpdateMail({ id: row.id }).then((res) => {
 | 
				
			||||||
      if (res.code == 1) {
 | 
					      if (res.code == 1) {
 | 
				
			||||||
        getMessageList(); // 刷新列表
 | 
					        getMessageList(); // 刷新列表
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
onMounted(() => {
 | 
					onMounted(() => {
 | 
				
			||||||
 | 
				
			|||||||
@ -9,10 +9,10 @@
 | 
				
			|||||||
        <div class="login-container">
 | 
					        <div class="login-container">
 | 
				
			||||||
          <div class="login-side">
 | 
					          <div class="login-side">
 | 
				
			||||||
            <div class="login-bg-title">
 | 
					            <div class="login-bg-title">
 | 
				
			||||||
              <h1>信 阳 市 传 染 病 医 院</h1>
 | 
					              <h1>信 阳 市 第 五 人 民 医 院</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              <h3 style="margin: 20px auto">
 | 
					              <h3 style="margin: 20px auto">
 | 
				
			||||||
                医 德 医 风 管 理 系 统
 | 
					                医 风 医 德 管 理 系 统
 | 
				
			||||||
              </h3>
 | 
					              </h3>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -124,8 +124,8 @@
 | 
				
			|||||||
                        <lay-select-option :value="2" label="转账"></lay-select-option>
 | 
					                        <lay-select-option :value="2" label="转账"></lay-select-option>
 | 
				
			||||||
                    </lay-select>
 | 
					                    </lay-select>
 | 
				
			||||||
                </lay-form-item>
 | 
					                </lay-form-item>
 | 
				
			||||||
                <lay-form-item label="附件" mode="block">
 | 
					                <lay-form-item label="附件" mode="block" tips="大小限制1M">
 | 
				
			||||||
                    <lay-upload ref="uploadRef" :number="1" field="file" :size="1000"
 | 
					                    <lay-upload :beforeUpload="beforeUpload" ref="uploadRef" :number="1" field="file"
 | 
				
			||||||
                        :headers="{ token: userStore.token }" url="/api/common/upload" @cutdone="getCutDone"
 | 
					                        :headers="{ token: userStore.token }" url="/api/common/upload" @cutdone="getCutDone"
 | 
				
			||||||
                        v-model="file1" :auto="true" :cut="false" :cutOptions="cutOptions" @done="getFileDone">
 | 
					                        v-model="file1" :auto="true" :cut="false" :cutOptions="cutOptions" @done="getFileDone">
 | 
				
			||||||
                        <template #preview>
 | 
					                        <template #preview>
 | 
				
			||||||
@ -213,6 +213,15 @@ const searchForm = ref({
 | 
				
			|||||||
    user_id: '',
 | 
					    user_id: '',
 | 
				
			||||||
    status: ''
 | 
					    status: ''
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					const beforeUpload = (file) => {
 | 
				
			||||||
 | 
					  var isOver = true;
 | 
				
			||||||
 | 
					  console.log(file);
 | 
				
			||||||
 | 
					  if(file.size > 1048576) {
 | 
				
			||||||
 | 
					    isOver = false;
 | 
				
			||||||
 | 
					    layer.msg(`文件最大上传为: 1MB`, { icon: 2,time: 2000})
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					  return new Promise((resolver) => resolver(isOver));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 修改分页参数的定义方式
 | 
					// 修改分页参数的定义方式
 | 
				
			||||||
const page = reactive({
 | 
					const page = reactive({
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@
 | 
				
			|||||||
          <lay-icon v-else class="layui-icon-right"></lay-icon>
 | 
					          <lay-icon v-else class="layui-icon-right"></lay-icon>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div style="flex: 1; padding: 10px; over-flow: auto">
 | 
					      <div style="flex: 1; padding: 10px; overflow: auto">
 | 
				
			||||||
        <!-- table -->
 | 
					        <!-- table -->
 | 
				
			||||||
        <lay-card>
 | 
					        <lay-card>
 | 
				
			||||||
          <lay-form>
 | 
					          <lay-form>
 | 
				
			||||||
@ -36,16 +36,6 @@
 | 
				
			|||||||
                    style="width: 98%"></lay-input>
 | 
					                    style="width: 98%"></lay-input>
 | 
				
			||||||
                </lay-form-item>
 | 
					                </lay-form-item>
 | 
				
			||||||
              </lay-col>
 | 
					              </lay-col>
 | 
				
			||||||
              <lay-col :md="5">
 | 
					 | 
				
			||||||
                <lay-form-item label="性别" label-width="80">
 | 
					 | 
				
			||||||
                  <lay-select class="search-input" size="sm" v-model="searchQuery.gender" :allow-clear="true"
 | 
					 | 
				
			||||||
                    placeholder="请选择">
 | 
					 | 
				
			||||||
                    <lay-select-option :value="0" label="未知"></lay-select-option>
 | 
					 | 
				
			||||||
                    <lay-select-option :value="1" label="男"></lay-select-option>
 | 
					 | 
				
			||||||
                    <lay-select-option :value="2" label="女"></lay-select-option>
 | 
					 | 
				
			||||||
                  </lay-select>
 | 
					 | 
				
			||||||
                </lay-form-item>
 | 
					 | 
				
			||||||
              </lay-col>
 | 
					 | 
				
			||||||
              <lay-col :md="5">
 | 
					              <lay-col :md="5">
 | 
				
			||||||
                <lay-form-item label-width="20">
 | 
					                <lay-form-item label-width="20">
 | 
				
			||||||
                  <lay-button style="margin-left: 20px" type="normal" size="sm" @click="toSearch">
 | 
					                  <lay-button style="margin-left: 20px" type="normal" size="sm" @click="toSearch">
 | 
				
			||||||
@ -82,11 +72,11 @@
 | 
				
			|||||||
        </lay-table>
 | 
					        </lay-table>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <lay-layer v-model="addShow" :title="title" :area="['750px', '100%']" :type="4" :shade="true" :btn="addButton">
 | 
					    <lay-layer v-model="addShow" :title="title" :area="['850px', '100%']" :type="4" :shade="true" :btn="addButton">
 | 
				
			||||||
      <div style="padding: 20px">
 | 
					      <div style="padding: 20px">
 | 
				
			||||||
        <lay-form :model="model11" ref="layFormRef11" mode="inline">
 | 
					        <lay-form :model="model11" ref="layFormRef11" mode="inline">
 | 
				
			||||||
          <lay-form-item label="证件照" prop="username">
 | 
					          <lay-form-item label="证件照" prop="username" tips="大小限制1MB">
 | 
				
			||||||
            <lay-upload style="width:180px;" ref="uploadRefA" :number="1" field="file" :size="1000"
 | 
					            <lay-upload :beforeUpload="beforeUpload" style="width:180px;" ref="uploadRefA" :number="1" field="file"
 | 
				
			||||||
              :headers="{ token: userStore.token }" :url="baseURL+'/api/common/upload'"
 | 
					              :headers="{ token: userStore.token }" :url="baseURL+'/api/common/upload'"
 | 
				
			||||||
              @cutdone="getCutDone2" v-model="file2" :auto="true" acceptMime="images" :cut="false"
 | 
					              @cutdone="getCutDone2" v-model="file2" :auto="true" acceptMime="images" :cut="false"
 | 
				
			||||||
              :cutOptions="cutOptions" @done="getFileDone2">
 | 
					              :cutOptions="cutOptions" @done="getFileDone2">
 | 
				
			||||||
@ -101,13 +91,13 @@
 | 
				
			|||||||
            <lay-input v-model="model11.code" size="lg" placeholder="请输入工号"></lay-input>
 | 
					            <lay-input v-model="model11.code" size="lg" placeholder="请输入工号"></lay-input>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="密码" prop="password" required>
 | 
					          <lay-form-item label="密码" prop="password" required>
 | 
				
			||||||
            <lay-input v-model="model11.password" size="lg" placeholder="请输入密码"></lay-input>
 | 
					            <lay-input v-model="model11.password" @change="inputPassword" size="lg" placeholder="请输入密码"></lay-input>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="姓名" prop="nickname" required>
 | 
					          <lay-form-item label="姓名" prop="nickname" required>
 | 
				
			||||||
            <lay-input v-model="model11.nickname" size="lg" placeholder="请输入姓名"></lay-input>
 | 
					            <lay-input v-model="model11.nickname" size="lg" placeholder="请输入姓名"></lay-input>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="手机号" prop="mobile" required>
 | 
					          <lay-form-item label="手机号" prop="mobile" required>
 | 
				
			||||||
            <lay-input v-model="model11.mobile" size="lg" placeholder="请输入手机号"></lay-input>
 | 
					            <lay-input v-model="model11.mobile" @change="inputMobile" size="lg" placeholder="请输入手机号"></lay-input>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="身份证号" prop="member_code" required>
 | 
					          <lay-form-item label="身份证号" prop="member_code" required>
 | 
				
			||||||
            <lay-input v-model="model11.member_code" size="lg" placeholder="请输入身份证号"></lay-input>
 | 
					            <lay-input v-model="model11.member_code" size="lg" placeholder="请输入身份证号"></lay-input>
 | 
				
			||||||
@ -133,11 +123,11 @@
 | 
				
			|||||||
          <lay-form-item label="业务性质" prop="business_nature">
 | 
					          <lay-form-item label="业务性质" prop="business_nature">
 | 
				
			||||||
            <lay-input v-model="model11.business_nature" size="lg" placeholder="请输入业务性质"></lay-input>
 | 
					            <lay-input v-model="model11.business_nature" size="lg" placeholder="请输入业务性质"></lay-input>
 | 
				
			||||||
          </lay-form-item>
 | 
					          </lay-form-item>
 | 
				
			||||||
          <lay-form-item label="资格证图片" prop="username">
 | 
					          <lay-form-item label="资格证图片" prop="username" tips="大小限制1MB">
 | 
				
			||||||
            <lay-upload style="width:180px;" ref="uploadRef" :number="1" field="file" :size="1000"
 | 
					            <lay-upload style="width:180px;" ref="uploadRef" :number="1" field="file" 
 | 
				
			||||||
              :headers="{ token: userStore.token }" :url="baseURL+'/api/common/upload'"
 | 
					              :headers="{ token: userStore.token }" :url="baseURL+'/api/common/upload'"
 | 
				
			||||||
              @cutdone="getCutDone" v-model="file1" :auto="true" acceptMime="images" :cut="false"
 | 
					              @cutdone="getCutDone" v-model="file1" :auto="true" acceptMime="images" :cut="false"
 | 
				
			||||||
              :cutOptions="cutOptions" @done="getFileDone">
 | 
					              :cutOptions="cutOptions" :beforeUpload="beforeUpload" @done="getFileDone" @error="getFileError">
 | 
				
			||||||
              <template #preview>
 | 
					              <template #preview>
 | 
				
			||||||
                <div class="easy-wrap" v-if="model11.license_image">
 | 
					                <div class="easy-wrap" v-if="model11.license_image">
 | 
				
			||||||
                  <img :src="model11.license_image" style="width: 100px;" />
 | 
					                  <img :src="model11.license_image" style="width: 100px;" />
 | 
				
			||||||
@ -222,6 +212,16 @@ const getFileDone2 = (res) => {
 | 
				
			|||||||
  //uploadRef.value.submit()
 | 
					  //uploadRef.value.submit()
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const beforeUpload = (file) => {
 | 
				
			||||||
 | 
					  var isOver = true;
 | 
				
			||||||
 | 
					  console.log(file);
 | 
				
			||||||
 | 
					  if(file.size > 1048576) {
 | 
				
			||||||
 | 
					    isOver = false;
 | 
				
			||||||
 | 
					    layer.msg(`文件最大上传为: 1MB`, { icon: 2,time: 2000})
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					  return new Promise((resolver) => resolver(isOver));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const file1 = ref([]);
 | 
					const file1 = ref([]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getCutDone = (res) => {
 | 
					const getCutDone = (res) => {
 | 
				
			||||||
@ -234,6 +234,9 @@ const getFileDone = (res) => {
 | 
				
			|||||||
  model11.license_image = date.data.fullurl;
 | 
					  model11.license_image = date.data.fullurl;
 | 
				
			||||||
  //uploadRef.value.submit()
 | 
					  //uploadRef.value.submit()
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					const getFileError = (res) => {
 | 
				
			||||||
 | 
					  console.log("getFileError", res);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
onMounted(() => {
 | 
					onMounted(() => {
 | 
				
			||||||
  //getUserList();
 | 
					  //getUserList();
 | 
				
			||||||
  getLeftList();
 | 
					  getLeftList();
 | 
				
			||||||
@ -243,7 +246,7 @@ onMounted(() => {
 | 
				
			|||||||
const dataSource = ref([])
 | 
					const dataSource = ref([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getUserList = () => {
 | 
					const getUserList = () => {
 | 
				
			||||||
  userData({ group_id: leftId.value, size: page.limit, page: page.current }).then((res) => {
 | 
					  userData({ group_id: leftId.value, size: page.limit, page: page.current, ...searchQuery.value }).then((res) => {
 | 
				
			||||||
    console.log(res)
 | 
					    console.log(res)
 | 
				
			||||||
    if (res.code == 1) {
 | 
					    if (res.code == 1) {
 | 
				
			||||||
      dataSource.value = res.data.data;
 | 
					      dataSource.value = res.data.data;
 | 
				
			||||||
@ -305,15 +308,14 @@ const isFold = ref(false)
 | 
				
			|||||||
const searchQuery = ref({
 | 
					const searchQuery = ref({
 | 
				
			||||||
  nickname: '',
 | 
					  nickname: '',
 | 
				
			||||||
  mobile: '',
 | 
					  mobile: '',
 | 
				
			||||||
  gender: 0
 | 
					 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function toReset() {
 | 
					function toReset() {
 | 
				
			||||||
  searchQuery.value = {
 | 
					  searchQuery.value = {
 | 
				
			||||||
    nickname: '',
 | 
					    nickname: '',
 | 
				
			||||||
    mobile: '',
 | 
					    mobile: '',
 | 
				
			||||||
    gender: 0
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  getUserList();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function handleClick(node: any) {
 | 
					function handleClick(node: any) {
 | 
				
			||||||
@ -398,6 +400,32 @@ const changeAddShow = () => {
 | 
				
			|||||||
  addShow.value = true;
 | 
					  addShow.value = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//验证密码
 | 
				
			||||||
 | 
					const inputPassword = (value) => {
 | 
				
			||||||
 | 
					  console.log(value);
 | 
				
			||||||
 | 
					  if(value.length < 6) {
 | 
				
			||||||
 | 
					      layer.msg('密码长度不能小于6位!', { icon: 2 });
 | 
				
			||||||
 | 
					      model11.password = '';
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  //正则匹配只能数字和英文字母
 | 
				
			||||||
 | 
					  const reg = /^[0-9a-zA-Z]+$/;
 | 
				
			||||||
 | 
					  if(!reg.test(value)) {
 | 
				
			||||||
 | 
					    layer.msg('密码只能包含数字和英文字母!', { icon: 2 });
 | 
				
			||||||
 | 
					    model11.password = '';
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					//验证手机号
 | 
				
			||||||
 | 
					const inputMobile = (value) => {
 | 
				
			||||||
 | 
					  console.log(value);
 | 
				
			||||||
 | 
					  if(!/^\d{11}$/.test(value)) {
 | 
				
			||||||
 | 
					    layer.msg('手机号格式不正确!', { icon: 2 });
 | 
				
			||||||
 | 
					    model11.mobile = '';
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const addIsEdit = ref(1)
 | 
					const addIsEdit = ref(1)
 | 
				
			||||||
const addButton = ref([
 | 
					const addButton = ref([
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -483,7 +511,7 @@ const addButton = ref([
 | 
				
			|||||||
// 搜索功能
 | 
					// 搜索功能
 | 
				
			||||||
const toSearch = () => {
 | 
					const toSearch = () => {
 | 
				
			||||||
  page.current = 1;
 | 
					  page.current = 1;
 | 
				
			||||||
  change(page);
 | 
					  getUserList();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 删除用户
 | 
					// 删除用户
 | 
				
			||||||
@ -532,7 +560,7 @@ const edit = (row: any) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style scoped>
 | 
					<style>
 | 
				
			||||||
.organization-box {
 | 
					.organization-box {
 | 
				
			||||||
  width: calc(100vw - 240px);
 | 
					  width: calc(100vw - 240px);
 | 
				
			||||||
  height: calc(100vh - 110px);
 | 
					  height: calc(100vh - 110px);
 | 
				
			||||||
@ -584,4 +612,10 @@ const edit = (row: any) => {
 | 
				
			|||||||
  background-color: #e8f1ff;
 | 
					  background-color: #e8f1ff;
 | 
				
			||||||
  color: red;
 | 
					  color: red;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					::v-deep .layui-cascader-panel-list {
 | 
				
			||||||
 | 
					  max-width: 300px !important;
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					::v-deep .layui-cascader-panel-item{
 | 
				
			||||||
 | 
					 padding: 8px 10px 8px 16px!important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 | 
				
			|||||||
@ -46,7 +46,7 @@ const dataSource = ref([]);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const viewDetail = (data: any) => {
 | 
					const viewDetail = (data: any) => {
 | 
				
			||||||
  console.log(data)
 | 
					  console.log(data)
 | 
				
			||||||
  window.open(baseURL+"/api/backend/automatic_publicity/dailyexport?id="+data.id, '_blank')
 | 
					  window.open(baseURL+"/api/backend/automatic_publicity/dailyexport?id="+data.id + '&token=' + userStore.token, '_blank')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 修改分页参数定义
 | 
					// 修改分页参数定义
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user