dev_xd
parent
25e1882b4c
commit
849401501a
|
@ -55,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="craftType != null and craftType != ''"> and psg.craft_type = #{craftType}</if>
|
<if test="craftType != null and craftType != ''"> and psg.craft_type = #{craftType}</if>
|
||||||
<if test="craftPost != null and craftPost != ''"> and psg.craft_post = #{craftPost}</if>
|
<if test="craftPost != null and craftPost != ''"> and psg.craft_post = #{craftPost}</if>
|
||||||
<if test="useStatus != null and useStatus != ''"> and psg.use_status = #{useStatus}</if>
|
<if test="useStatus != null and useStatus != ''"> and psg.use_status = #{useStatus}</if>
|
||||||
|
<if test='activeTags == "finished"'> and ps.approve_status <![CDATA[ >= ]]> 100</if>
|
||||||
and psg.is_del != 2
|
and psg.is_del != 2
|
||||||
</where>
|
</where>
|
||||||
order by psg.id desc
|
order by psg.id desc
|
||||||
|
|
|
@ -56,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="useStatus != null and useStatus != ''"> and ps.use_status = #{useStatus}</if>
|
<if test="useStatus != null and useStatus != ''"> and ps.use_status = #{useStatus}</if>
|
||||||
<if test="approveStatus != null "> and ps.approve_status = #{approveStatus}</if>
|
<if test="approveStatus != null "> and ps.approve_status = #{approveStatus}</if>
|
||||||
<if test="subDeptLeaderPhone != null and subDeptLeaderPhone != ''"> and ps.sub_dept_leader_phone = #{subDeptLeaderPhone}</if>
|
<if test="subDeptLeaderPhone != null and subDeptLeaderPhone != ''"> and ps.sub_dept_leader_phone = #{subDeptLeaderPhone}</if>
|
||||||
|
<if test='activeTags == "finished"'> and ps.approve_status <![CDATA[ >= ]]> 100</if>
|
||||||
and ps.is_del = 0
|
and ps.is_del = 0
|
||||||
</where>
|
</where>
|
||||||
order by ps.id desc
|
order by ps.id desc
|
||||||
|
|
|
@ -197,6 +197,7 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService
|
||||||
this.insertProRole(UserTypeEnums.SJDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.SJDWRY.getInfo(),proProjectInfo.getId(),null);
|
this.insertProRole(UserTypeEnums.SJDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.SJDWRY.getInfo(),proProjectInfo.getId(),null);
|
||||||
this.insertProRole(UserTypeEnums.OTHERS.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.OTHERS.getInfo(),proProjectInfo.getId(),null);
|
this.insertProRole(UserTypeEnums.OTHERS.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.OTHERS.getInfo(),proProjectInfo.getId(),null);
|
||||||
loadingProjectsCache();
|
loadingProjectsCache();
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException("项目信息保存失败!!!");
|
throw new ServiceException("项目信息保存失败!!!");
|
||||||
|
|
|
@ -340,7 +340,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode());
|
GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode());
|
||||||
List<ProProjectInfoSubdeptsGroup> specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query);
|
List<ProProjectInfoSubdeptsGroup> specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query);
|
||||||
|
|
||||||
if(Objects.nonNull(specialGroups) && specialGroups.size()>0){
|
if(StringUtils.isNotEmpty(specialGroups)){
|
||||||
ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0);
|
ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0);
|
||||||
specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName());
|
specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName());
|
||||||
specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode());
|
specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode());
|
||||||
|
@ -504,8 +504,6 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
if(Objects.isNull(parUsers)){
|
if(Objects.isNull(parUsers)){
|
||||||
throw new ServiceException("用户信息异常...请重新扫码");
|
throw new ServiceException("用户信息异常...请重新扫码");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proProjectInfoSubdeptsUsers.setComId(parUsers.getComId());
|
proProjectInfoSubdeptsUsers.setComId(parUsers.getComId());
|
||||||
proProjectInfoSubdeptsUsers.setProjectId(parUsers.getProjectId());
|
proProjectInfoSubdeptsUsers.setProjectId(parUsers.getProjectId());
|
||||||
proProjectInfoSubdeptsUsers.setSubDeptId(parUsers.getSubDeptId());
|
proProjectInfoSubdeptsUsers.setSubDeptId(parUsers.getSubDeptId());
|
||||||
|
@ -548,7 +546,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode());
|
GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode());
|
||||||
List<ProProjectInfoSubdeptsGroup> specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query);
|
List<ProProjectInfoSubdeptsGroup> specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query);
|
||||||
|
|
||||||
if(Objects.nonNull(specialGroups) && specialGroups.size()>0){
|
if(StringUtils.isNotEmpty(specialGroups)){
|
||||||
ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0);
|
ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0);
|
||||||
specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName());
|
specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName());
|
||||||
specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode());
|
specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode());
|
||||||
|
|
|
@ -370,7 +370,7 @@ Page({
|
||||||
},
|
},
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
const filePath = res.tempFilePath
|
const filePath = res.tempFilePath
|
||||||
let fpt = filePath.split(".");
|
let fpt = path.split(".");
|
||||||
wx.openDocument({
|
wx.openDocument({
|
||||||
filePath: filePath,
|
filePath: filePath,
|
||||||
fileType: fpt[fpt.length - 1],
|
fileType: fpt[fpt.length - 1],
|
||||||
|
|
|
@ -299,7 +299,7 @@
|
||||||
<van-col span="8"><text class="color_purple">安全承诺书</text></van-col>
|
<van-col span="8"><text class="color_purple">安全承诺书</text></van-col>
|
||||||
<van-col span="16" class="color_blue">
|
<van-col span="16" class="color_blue">
|
||||||
<view class="files">
|
<view class="files">
|
||||||
<text data-set="{{subDeptUserData.eduFilePath}}" style="word-wrap: break-word;" bindtap='downFile'>点击下载安全承诺书</text>
|
<text data-set="{{subDeptUserData.eduFilePath}}" style="word-wrap: break-word;" bindtap='downFile'>点击查看安全承诺书</text>
|
||||||
</view>
|
</view>
|
||||||
</van-col>
|
</van-col>
|
||||||
</van-row>
|
</van-row>
|
||||||
|
|
|
@ -293,7 +293,7 @@ Page({
|
||||||
},
|
},
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
const filePath = res.tempFilePath
|
const filePath = res.tempFilePath
|
||||||
let fpt = filePath.split(".");
|
let fpt = path.split(".");
|
||||||
wx.openDocument({
|
wx.openDocument({
|
||||||
filePath: filePath,
|
filePath: filePath,
|
||||||
fileType: fpt[fpt.length - 1],
|
fileType: fpt[fpt.length - 1],
|
||||||
|
|
|
@ -826,8 +826,8 @@ if (this.data.userPost == "1") {
|
||||||
// 示例 url,并非真实存在
|
// 示例 url,并非真实存在
|
||||||
url: _baseUrl + '/file/NoSecurity/download?fileName=' + _eduFilePath,
|
url: _baseUrl + '/file/NoSecurity/download?fileName=' + _eduFilePath,
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
const filePath = res.tempFilePath
|
const filePath = res.tempFilePath;
|
||||||
const fileTypes = filePath.split(".");
|
const fileTypes = _eduFilePath.split(".");
|
||||||
wx.openDocument({
|
wx.openDocument({
|
||||||
filePath: filePath,
|
filePath: filePath,
|
||||||
fileType: fileTypes[fileTypes.length - 1],
|
fileType: fileTypes[fileTypes.length - 1],
|
||||||
|
@ -1203,10 +1203,14 @@ if (this.data.userPost == "1") {
|
||||||
let obj = await this.syncUploadImage(item);
|
let obj = await this.syncUploadImage(item);
|
||||||
findCardOcrFront(obj.data.data.url).then(res =>{
|
findCardOcrFront(obj.data.data.url).then(res =>{
|
||||||
if(res.code==200){
|
if(res.code==200){
|
||||||
|
if(res.data.nation.indexOf("族")<0){
|
||||||
|
res.data.nation = res.data.nation+"族";
|
||||||
|
}
|
||||||
this.setData({
|
this.setData({
|
||||||
"form.userName": res.data.name,
|
"form.userName": res.data.name,
|
||||||
"form.cardCode": res.data.cardId,
|
"form.cardCode": res.data.cardId,
|
||||||
"form.nativePlace": res.data.nation,
|
"form.nation": res.data.nation,
|
||||||
|
"form.nativePlace": res.data.native,
|
||||||
"form.address": res.data.address
|
"form.address": res.data.address
|
||||||
})
|
})
|
||||||
if(!res.data.name || !res.data.cardId){
|
if(!res.data.name || !res.data.cardId){
|
||||||
|
|
|
@ -262,7 +262,7 @@
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">地址</view>
|
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">地址</view>
|
||||||
<view class="inspect_info_content">
|
<view class="inspect_info_content">
|
||||||
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
<textarea class="add_textarea" placeholder="请填写地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
|
@ -404,7 +404,7 @@
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">地址</view>
|
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">地址</view>
|
||||||
<view class="inspect_info_content">
|
<view class="inspect_info_content">
|
||||||
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
<textarea class="add_textarea" placeholder="请填写地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
|
@ -526,15 +526,21 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view>
|
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">民族</view>
|
||||||
<view class="inspect_info_content">
|
<view class="inspect_info_content">
|
||||||
<input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nativePlace}}" />
|
<input placeholder="请填写民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNation" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nation}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view>
|
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯</view>
|
||||||
<view class="inspect_info_content">
|
<view class="inspect_info_content">
|
||||||
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
<input placeholder="请填写籍贯" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nativePlace}}" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="inspect_info_list">
|
||||||
|
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">地址</view>
|
||||||
|
<view class="inspect_info_content">
|
||||||
|
<textarea class="add_textarea" placeholder="请填写地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_info_list">
|
<view class="inspect_info_list">
|
||||||
|
|
|
@ -224,6 +224,7 @@ const data = reactive({
|
||||||
craftType: null,
|
craftType: null,
|
||||||
craftPost: null,
|
craftPost: null,
|
||||||
approveStatus: null,
|
approveStatus: null,
|
||||||
|
activeTags: "finished"
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
subDeptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
subDeptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
||||||
|
|
|
@ -92,6 +92,12 @@
|
||||||
<dict-tag :options="pro_craft_post" :value="scope.row.craftPost" />
|
<dict-tag :options="pro_craft_post" :value="scope.row.craftPost" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="二维码" align="center" prop="qrCode" width="80">
|
||||||
|
<template #default="scope">
|
||||||
|
<image-preview v-if="scope.row.qrCode" :src="scope.row.qrCode" :width="50" :height="50" />
|
||||||
|
<span v-if="!scope.row.qrCode"> - </span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="三级安全教育" align="center" class-name="small-padding fixed-width" width="100">
|
<el-table-column label="三级安全教育" align="center" class-name="small-padding fixed-width" width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div v-if="scope.row.subDeptType == '4' || scope.row.subDeptType == '5'">
|
<div v-if="scope.row.subDeptType == '4' || scope.row.subDeptType == '5'">
|
||||||
|
@ -115,7 +121,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="出生日期" align="center" prop="info.birthDayStr" v-if="false" />
|
<!-- <el-table-column label="出生日期" align="center" prop="info.birthDayStr" v-if="false" />
|
||||||
<el-table-column label="籍贯" align="center" prop="info.nativePlace" v-if="false" /> -->
|
<el-table-column label="籍贯" align="center" prop="info.nativePlace" v-if="false" /> -->
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">修改</el-button>
|
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">修改</el-button>
|
||||||
|
@ -125,8 +131,10 @@
|
||||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">离场</el-button>
|
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">离场</el-button>
|
||||||
<el-button link type="primary" icon="Delete" @click="handleEnter(scope.row)" v-else
|
<el-button link type="primary" icon="Delete" @click="handleEnter(scope.row)" v-else
|
||||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">进场</el-button>
|
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">进场</el-button>
|
||||||
|
<el-button link type="primary" icon="Refresh" @click="handleFileSign_0(scope.row)"
|
||||||
|
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">重新生成文件</el-button>
|
||||||
<el-button v-if="isSign(scope.row)" link type="primary" icon="StarFilled" @click="handleFileSign(scope.row)"
|
<el-button v-if="isSign(scope.row)" link type="primary" icon="StarFilled" @click="handleFileSign(scope.row)"
|
||||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">重新签名</el-button>
|
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">文件重新签名</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -494,8 +502,8 @@ function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
queryParams.value.comId = userStore.currentComId;
|
queryParams.value.comId = userStore.currentComId;
|
||||||
queryParams.value.projectId = userStore.currentPrjId;
|
queryParams.value.projectId = userStore.currentPrjId;
|
||||||
|
queryParams.value.activeTags = "finished";
|
||||||
listProProjectInfoSubdeptsUsers(queryParams.value).then(response => {
|
listProProjectInfoSubdeptsUsers(queryParams.value).then(response => {
|
||||||
|
|
||||||
proProjectInfoSubdeptsUsersList.value = (response.rows || []).map(d => {
|
proProjectInfoSubdeptsUsersList.value = (response.rows || []).map(d => {
|
||||||
d.info = tryToJson(d.userInfos || "{}")
|
d.info = tryToJson(d.userInfos || "{}")
|
||||||
d.user = d.user || {};
|
d.user = d.user || {};
|
||||||
|
@ -504,7 +512,6 @@ function getList() {
|
||||||
d.info.birthDayStr = birthDay;
|
d.info.birthDayStr = birthDay;
|
||||||
d.info.age = dayjs(new Date()).diff(d.info.birthDay, 'year');
|
d.info.age = dayjs(new Date()).diff(d.info.birthDay, 'year');
|
||||||
}
|
}
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
});
|
});
|
||||||
total.value = response.total;
|
total.value = response.total;
|
||||||
|
@ -575,7 +582,7 @@ function doSubDeptChange(type) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
listProProjectInfoSubdeptsGroup({ subDeptId: type == "query" ? queryParams.value.subDeptId : form.value.subDeptId, pageNum: 1, pageSize: 100 }).then(d => {
|
listProProjectInfoSubdeptsGroup({ subDeptId: type == "query" ? queryParams.value.subDeptId : form.value.subDeptId, pageNum: 1, pageSize: 100, activeTags: "finished" }).then(d => {
|
||||||
if (type == "query") {
|
if (type == "query") {
|
||||||
data.queryDeptGroups = d.rows || [];
|
data.queryDeptGroups = d.rows || [];
|
||||||
} else {
|
} else {
|
||||||
|
@ -658,7 +665,7 @@ function handleSelectionChange(selection) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadSubDepts(cb) {
|
function loadSubDepts(cb) {
|
||||||
listProProjectInfoSubdepts({ projectId: userStore.currentPrjId, pageNum: 1, pageSize: 100 }).then(d => {
|
listProProjectInfoSubdepts({ projectId: userStore.currentPrjId, pageNum: 1, pageSize: 100, activeTags: "finished" }).then(d => {
|
||||||
data.subdepts = d.rows || [];
|
data.subdepts = d.rows || [];
|
||||||
if (data.subdepts.length > 0) {
|
if (data.subdepts.length > 0) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -785,6 +792,15 @@ function handleFileSign(row){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleFileSign_0(row){
|
||||||
|
fileSign(row.id).then(res =>{
|
||||||
|
if(res.code==200){
|
||||||
|
proxy.$modal.msgSuccess("重新生成文件成功");
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getWorkType(wt) {
|
function getWorkType(wt) {
|
||||||
if (wt) {
|
if (wt) {
|
||||||
let tmps = user_work_type.value.filter(d => d.value == wt);
|
let tmps = user_work_type.value.filter(d => d.value == wt);
|
||||||
|
|
Loading…
Reference in New Issue