提交 93c4167d authored 作者: 姚鑫国's avatar 姚鑫国
......@@ -32,24 +32,6 @@ export default class AffairPage extends React.Component {
message.error('您的数据未同步,请联系管理员!');
return false;
}
// window.addEventListener(
// 'message',
// (event) => {
// // 和Iframe页进行通迅
// if (event.data === 'returnList') {
// this.returnList(true);
// }
// if (event && event.data && event.data.indexOf && event.data.indexOf('iframeHeight') > -1) {
// let height = Number(event.data.split('-')[1]);
// const iframe = document.getElementById('applyIframeId');
// if (iframe) {
// iframe.height = height;
// }
// }
// },
// false,
// );
return true;
}
......@@ -89,26 +71,8 @@ export default class AffairPage extends React.Component {
{...this.props}
id={workId}
returnList={this.returnList}
init={encodeURIComponent(JSON.stringify(init))}
init={init}
/>
{/* <iframe
src={iframeUrl}
frameBorder={0}
id="applyIframeId"
name="applyIframe"
marginWidth="0"
marginHeight="0"
allowtransparency="yes"
seamless
scrolling={'auto'}
style={{
width: '100%',
minHeight: '800px',
overflowY: 'hidden',
backgroundColor: '#fff',
}}
/>*/}
: null
</div>
</PageHeaderWrapper>
);
......
......@@ -241,9 +241,9 @@ export default class ImportUtil extends React.PureComponent {
fetch(transformApi, {
method: 'POST',
body: FormdataWrapper(newParams.datas),
headers: {
apis: headersApi,
},
// headers: {
// apis: headersApi,
// },
})
.then((res) => {
console.log(res.status);
......
......@@ -35,10 +35,11 @@ function giveKey(key, datas) {
}
export async function countAllValues(datas, item) {
// console.log(datas);
if (item.setNull) {
datas.allValues = JSON.stringify({});
} else {
if (item.query) {
if (item.query && !datas.isMeta) {
if (datas?.sqlKey.length < 13) {
const response = await apiRequest('/SqlManageEntityApi/findParamsKey', {
sqlKey: datas.sqlKey,
......
......@@ -8,7 +8,8 @@ import { countAllValues } from '@/webPublic/one_stop_public/Base16/SplitBase16In
import { getUrlInfo } from '@/webPublic/one_stop_public/DetailForAudit/utils';
import { getTransformApi } from '@/webPublic/one_stop_public/2022beidianke/localstorageTransform';
import { strToBinary } from './strToBinary'; // 字符串转二进制 混淆代码
import { binaryToStr } from './binaryToStr'; // 二进制字符串转JSON字符串 混淆代码
import { binaryToStr } from './binaryToStr';
import { getVisitorToken } from '@/webPublic/zyd_public/utils/getHeaders'; // 二进制字符串转JSON字符串 混淆代码
const test = !!(getUrlInfo().test);
......@@ -93,8 +94,8 @@ export async function requestFileInfo(url, datas) {
// datas = await testPromise(datas);
// }
const formData = new FormData();
if (getToken()) {
datas.token = getToken();
if (getVisitorToken()) {
datas.token = getVisitorToken();
}
for (let key in datas) {
formData.append(key, datas[key]);
......@@ -115,7 +116,7 @@ export async function requestFileInfo(url, datas) {
headers: {
Accept: 'application/json',
...getHeaders(transformApi).headers,
apis: headersApi,
// apis: headersApi,
// axxx: `select * from user123 where id = 1`,
},
method: 'POST',
......
......@@ -3,7 +3,7 @@
* 2019年9月19日
* 查看详情页面
*/
import React, { Component, Fragment } from 'react';
import React, { Component, Fragment, useEffect, useState } from 'react';
import {
Row,
Col,
......@@ -36,7 +36,12 @@ import styles from './styles.less';
import TrunToDetail from './trunToDetail';
import Countersign from './components/Countersign';
import ChildTaskModel from './ChildTaskModel';
import { checkNeedFormValidateFieldsAndScroll, must, submitValues, checkNeedWriteAuditInfo } from './splitDetailSplit';
import {
checkNeedFormValidateFieldsAndScroll,
must,
submitValues,
checkNeedWriteAuditInfo,
} from './splitDetailSplit';
import { queryApiVersion, queryApiActionPath } from '@/webPublic/one_stop_public/utils/queryConfig';
import { isJSON } from '@/webPublic/zyd_public/utils/utils';
import HistoryFormList from '@/webPublic/one_stop_public/DetailForAudit/HistoryFormList';
......@@ -96,7 +101,7 @@ class DetailSplit extends Component {
* @function 同步加签函数
* @param { function } func 打开加签弹框函数
*/
updateCountersignModal = func => {
updateCountersignModal = (func) => {
this.setState({
countersignModal: func,
});
......@@ -139,8 +144,8 @@ class DetailSplit extends Component {
/**
* @function 默认请求
*/
getInit = handleUser => {
const { dispatch } = this.props;
getInit = (handleUser) => {
const { dispatch, formPrepareData } = this.props;
const id = this.props.history.location.state && this.props.history.location.state.id;
const code = this.props.history.location.state && this.props.history.location.state.code;
const queryId = this.props.history.location.query && this.props.history.location.query.id;
......@@ -153,24 +158,15 @@ class DetailSplit extends Component {
return;
}
}
dispatch({
type: 'affair/getIdFormDetail',
payload: {
id: queryId ? queryId : id, // 审批表Id
code: code || null, // 表单值
handleUser: handleUser || null, // 处理人
taskId, // 多任务流程会使用到,后续改为必须传入
lite: true,
},
callback: val => {
const val = formPrepareData;
if (val) {
if (this.props.changeData) {
this.props.changeData(val);
}
const checkListOptions = [];
const checkedConfimList = [];
if (val.hisTaskForm.formKeys) {
val.hisTaskForm.formKeys.map(item => {
val.hisTaskForm.formKeys.map((item) => {
checkListOptions.push({
label: item.taskName,
value: item.formKey,
......@@ -178,11 +174,11 @@ class DetailSplit extends Component {
});
}
if (val && !val.taskInfo) {
permRequest('/UnifiedAppFormApi/getTaskInfos', { // 获取每一步的审核人.
permRequest('/UnifiedAppFormApi/getTaskInfos', {
// 获取每一步的审核人.
id: queryId ? queryId : id, // 审批表Id
code: code || null, // 表单值
})
.then(res => {
}).then((res) => {
val.taskInfo = res.taskInfo;
this.setState(
{
......@@ -211,13 +207,16 @@ class DetailSplit extends Component {
this.props.dispatch({
type: 'urge/GetMyBtn',
payload: {},
callback: arr => {
this.setState({
callback: (arr) => {
this.setState(
{
btnList: arr,
radiovalue: val.formLevelId ? val.formLevelId : arr[arr.length - 1].id,
}, () => {
},
() => {
// this.giveMessageTop();
});
},
);
},
});
} else {
......@@ -225,20 +224,15 @@ class DetailSplit extends Component {
}
},
);
});
}
},
});
}
dispatch({
type: 'emailorphone/GetLogo',
payload: {
configKeys: ['isCloseUserDetail', 'isCloseFlowPath', 'isAllPrint', 'closeAutoSign'],
},
callback: val => {
callback: (val) => {
const closeAutoSign = !!(val[3] && val[3].configValue === 'true');
this.setState({
isCloseUserDetail: !!(val[0] && val[0].configValue === 'true'),
......@@ -246,14 +240,14 @@ class DetailSplit extends Component {
closeAutoSign,
});
if(!closeAutoSign){
if (!closeAutoSign) {
/**
* 获取设置的数据
*/
this.props.dispatch({
type: 'UserSetCenterApi/queryUserSet',
payload: {},
callback: val => {
callback: (val) => {
this.setState({
setData: val,
});
......@@ -277,10 +271,8 @@ class DetailSplit extends Component {
});
}
}
};
/**
* @function 用户点击确认执行相应操作
* @description: 注意 用户点击状态时在点击动态配置按钮时进行了保存,并在该函数中最终提交给后端
......@@ -292,16 +284,7 @@ class DetailSplit extends Component {
*/
affairOk = (oldkey, btnValue, value, checked, callback) => {
const { dispatch } = this.props;
const {
radiovalue,
isSecond,
userInfo,
setData,
data,
btns,
taskId,
code,
} = this.state;
const { radiovalue, isSecond, userInfo, setData, data, btns, taskId, code } = this.state;
const { handleUser } = this.props.history.location.state;
const isCloseFlowPath = sessionStorage.getItem('isCloseFlowPath')
? JSON.parse(sessionStorage.getItem('isCloseFlowPath'))
......@@ -310,12 +293,14 @@ class DetailSplit extends Component {
callback();
}
let checkSumbitInfo = checkNeedFormValidateFieldsAndScroll({ // 检查是否必填表单值
let checkSumbitInfo = checkNeedFormValidateFieldsAndScroll({
// 检查是否必填表单值
btns,
btnValue,
});
let needWriteAuditInfo = checkNeedWriteAuditInfo({ // 检查是否必填审批理由
let needWriteAuditInfo = checkNeedWriteAuditInfo({
// 检查是否必填审批理由
btns,
btnValue,
});
......@@ -345,23 +330,23 @@ class DetailSplit extends Component {
handleUser,
};
if (!checkSumbitInfo) { // 如果不需要校验 直接提交数据
if (!checkSumbitInfo) {
// 如果不需要校验 直接提交数据
const values = this.props.form.getFieldsValue();
argumentsSubmitValue.values = values;
submitValues(argumentsSubmitValue);
} else {
this.props.form.validateFieldsAndScroll((err, values) => { // 校验是否填了必填字段
this.props.form.validateFieldsAndScroll((err, values) => {
// 校验是否填了必填字段
if (!err) {
argumentsSubmitValue.values = values;
submitValues(argumentsSubmitValue);
}
});
}
};
onChange = e => {
onChange = (e) => {
this.setState({
radiovalue: e.target.value,
});
......@@ -371,7 +356,7 @@ class DetailSplit extends Component {
* @function 复选框状态函数
* @event change
*/
onCheckChange = checkedValues => {
onCheckChange = (checkedValues) => {
this.setState({
checkedConfimList: checkedValues,
});
......@@ -388,15 +373,14 @@ class DetailSplit extends Component {
* @function 通过用户复选框选择拼装为对应打印页面
*/
changeTake = checked => {
changeTake = (checked) => {
this.setState({ isTakeFlow: checked });
};
changePadding = value => {
changePadding = (value) => {
this.setState({ paddingBottom: value });
};
render() {
const {
stepFlow,
......@@ -456,29 +440,29 @@ class DetailSplit extends Component {
width: '100%',
display: 'flex',
justifyContent: 'center',
}}
>
}}>
<div style={{ width: '100%' }}>
<div
className={styles.header}
style={{
position: 'relative',
}}
>
}}>
{isCloseFlowPath ? null : ( // 关闭流程紧急度显示
<span
style={{
position: 'absolute',
left: 0,
top: '30%',
}}
>
}}>
{isSecond ? (
<>
<span style={{ marginRight: 12 }}>{must}流程紧急度</span>
<span style={{ marginRight: 12 }}>
{must}
流程紧急度
</span>
<Radio.Group onChange={this.onChange} value={radiovalue}>
{btnList.length > 0
? btnList.map(item => (
? btnList.map((item) => (
<Radio key={item.id + Math.random()} value={item.id}>
<span style={{ color: item.color }}>{item.name}</span>
</Radio>
......@@ -493,8 +477,7 @@ class DetailSplit extends Component {
style={{
color: formColor || '',
marginLeft: 21,
}}
>
}}>
{formLevel || '暂无'}
</span>
</>
......@@ -531,7 +514,7 @@ class DetailSplit extends Component {
表单间距:
<InputNumber
min={0}
size='small'
size="small"
value={paddingBottom}
onChange={this.changePadding}
/>
......@@ -546,9 +529,8 @@ class DetailSplit extends Component {
</div>
</div>
}
okText='确定'
cancelText='取消'
>
okText="确定"
cancelText="取消">
{(data.isPrint == null || data.isPrint || isAllPrint) && showPrint !== false ? (
<Button
style={{
......@@ -556,8 +538,7 @@ class DetailSplit extends Component {
right: 200,
top: '30%',
}}
type='primary'
>
type="primary">
打印预览
</Button>
) : (
......@@ -571,8 +552,7 @@ class DetailSplit extends Component {
</div>
</div>
</div>
{isLoading ?
(
{isLoading ? (
<>
<Card style={{ width: '100%' }}>
{!isCloseUserDetail && (
......@@ -586,72 +566,71 @@ class DetailSplit extends Component {
data.userPhone ||
data.userSchool) && (
<Row className={styles.row}>
{data && data.code && (
{data &&
data.code && (
<Col
style={{
marginBottom: 12,
}}
span={8}
>
span={8}>
<span className={styles.hea_title}>单号</span>
<span className={styles.hew_content}>{data.code}</span>
</Col>
)}
{data && data.userName && (
{data &&
data.userName && (
<Col
style={{
marginBottom: 12,
}}
span={8}
>
span={8}>
<span className={styles.hea_title}>用户姓名</span>
<span className={styles.hew_content}>{data.userName}</span>
</Col>
)}
{data && data.userPosition && (
{data &&
data.userPosition && (
<Col
style={{
marginBottom: 12,
}}
span={8}
>
span={8}>
<span className={styles.hea_title}>职位</span>
<span className={styles.hew_content}>{data.userPosition}</span>
</Col>
)}
{data && data.userSchool && (
{data &&
data.userSchool && (
<Col
span={8}
style={{
marginBottom: 12,
}}
>
}}>
<span className={styles.hea_title}>学院/单位</span>
<span className={styles.hew_content}>{data.userSchool}</span>
</Col>
)}
{data && data.userPhone && (
{data &&
data.userPhone && (
<Col
span={8}
style={{
marginBottom: 12,
}}
>
}}>
<span className={styles.hea_title}>联系电话</span>
<span className={styles.hew_content}>{data.userPhone}</span>
</Col>
)}
{data && data.createTime && (
{data &&
data.createTime && (
<Col
style={{
marginBottom: 12,
}}
span={8}
>
span={8}>
<span className={styles.hea_title}>申请时间</span>
<span className={styles.hew_content}>
{moment(data.createTime)
.format('YYYY-MM-DD HH:mm')}
{moment(data.createTime).format('YYYY-MM-DD HH:mm')}
</span>
</Col>
)}
......@@ -661,26 +640,26 @@ class DetailSplit extends Component {
)}
<div
className={styles.HistoryFormList}
id='card_table'
ref={el => (this.componentRef = el)}
style={{ padding: !isShowTitle ? '50px' : '' }}
>
<HistoryFormList data={data}
id="card_table"
ref={(el) => (this.componentRef = el)}
style={{ padding: !isShowTitle ? '50px' : '' }}>
<HistoryFormList
data={data}
formKeys={hisTaskFormKeys?.formKeys}
isShowTitle={isShowTitle}
routerState={routerState}
formData={hisTaskFormKeys?.formData}
/>
{isHandle === true && !!data.taskFormKey && (
{isHandle === true &&
!!data.taskFormKey && (
<>
{isShowTitle ? (
<h3
style={{
display: 'flex',
alignItems: 'center',
}}
>
<SVG name='vertical' color='#999999' height='24' />
}}>
<SVG name="vertical" color="#999999" height="24" />
当前流程
</h3>
) : (
......@@ -690,9 +669,9 @@ class DetailSplit extends Component {
<ZdyTable
key={data.taskFormKey}
postData={data}
get='web'
get="web"
obj={hisTaskFormKeys.formData}
table='new'
table="new"
form={this.props.form}
routerState={routerState}
/>
......@@ -705,16 +684,15 @@ class DetailSplit extends Component {
</Card>
<Card style={{ width: '100%' }}>
<div className={styles.body_content} style={{ minHeight: '300px' }}>
<div id={'btnsModalMountDiv'}></div>
<div id={'btnsModalMountDiv'} />
<h3>
审批状态 <span onClick={this.examineFlow}>查看流程图</span>
</h3>
<div
ref={el => (this.componentTwoRef = el)}
ref={(el) => (this.componentTwoRef = el)}
style={{
padding: !isShowTitle ? '0 50px 50px 50px' : '',
}}
>
}}>
<Timeline>
{stepFlow !== '' && steps !== ''
? stepFlow.map((item, index) => {
......@@ -726,39 +704,47 @@ class DetailSplit extends Component {
dot={
<Icon
type={
['处理中', '待处理'].includes(item.status) ? 'clock-circle-o' : 'check-circle'
['处理中', '待处理'].includes(item.status)
? 'clock-circle-o'
: 'check-circle'
}
style={{ fontSize: '16px' }}
/>
}
className={styles.steps_step}
key={item.id}
>
key={item.id}>
<p className={styles.steps_title}>
{item.assignee}
<span>
{item.endTime
? moment(item.endTime)
.format('YYYY-MM-DD HH:mm')
? moment(item.endTime).format('YYYY-MM-DD HH:mm')
: '处理中'}
</span>
</p>
{
queryApiVersion() === '2.0' && ['处理中', '待处理'].includes(item.status) && !!data.nextUsers && (
<p>审批人员: {data.nextUsers}</p>
)
}
{queryApiVersion() !== '2.0' && ['处理中', '待处理'].includes(item.status) && !!item.nextUsers && (
<p>审批人员: {item.nextUsers}</p>
)}
<p>审批流程:{item.name}</p>
<p className={styles.steps_body}>审批状态:{item.status}</p>
{queryApiVersion() === '2.0' &&
['处理中', '待处理'].includes(item.status) &&
!!data.nextUsers && <p>审批人员: {data.nextUsers}</p>}
{queryApiVersion() !== '2.0' &&
['处理中', '待处理'].includes(item.status) &&
!!item.nextUsers && <p>审批人员: {item.nextUsers}</p>}
<p>
审批流程:
{item.name}
</p>
<p className={styles.steps_body}>
审批状态:
{item.status}
</p>
{item.taskVariable?.reason ? (
<p>审批原因:{item.taskVariable?.reason}</p>
<p>
审批原因:
{item.taskVariable?.reason}
</p>
) : (
''
)}
{item.childTaskModel && item.childTaskModel.length > 0 && (
{item.childTaskModel &&
item.childTaskModel.length > 0 && (
<ChildTaskModel data={item.childTaskModel} />
)}
......@@ -777,7 +763,7 @@ class DetailSplit extends Component {
? queryApiActionPath() + item.taskVariable?.sign
: ''
}
alt=''
alt=""
/>
) : (
''
......@@ -796,32 +782,40 @@ class DetailSplit extends Component {
''
) : (
<Icon
type='check-circle'
theme='twoTone'
twoToneColor='#52c41a'
type="check-circle"
theme="twoTone"
twoToneColor="#52c41a"
/>
)
}
className={styles.steps_step}
key={item.id}
>
key={item.id}>
<p className={styles.steps_title}>
{item.assignee}
<span>
{item.endTime
? moment(item.endTime)
.format('YYYY-MM-DD HH:mm')
? moment(item.endTime).format('YYYY-MM-DD HH:mm')
: null}
</span>
</p>
<p>审批流程:{item.name}</p>
<p className={styles.steps_body}>审批状态:{item.status}</p>
<p>
审批流程:
{item.name}
</p>
<p className={styles.steps_body}>
审批状态:
{item.status}
</p>
{item.taskVariable?.reason ? (
<p>审批原因:{item.taskVariable.reason}</p>
<p>
审批原因:
{item.taskVariable.reason}
</p>
) : (
''
)}
{item.childTaskModel && item.childTaskModel.length > 0 && (
{item.childTaskModel &&
item.childTaskModel.length > 0 && (
<ChildTaskModel data={item.childTaskModel} />
)}
{item.taskVariable?.sign ? (
......@@ -839,7 +833,7 @@ class DetailSplit extends Component {
? queryApiActionPath() + item.taskVariable?.sign
: ''
}
alt=''
alt=""
/>
) : (
''
......@@ -884,8 +878,7 @@ class DetailSplit extends Component {
data,
);
}}
type='primary'
>
type="primary">
{data.isHandle && data.isOwner
? '转办'
: !data.isHandle && data.isOwner
......@@ -903,8 +896,7 @@ class DetailSplit extends Component {
minWidth: 90,
}}
onClick={this.onClickCountersign}
type='primary'
>
type="primary">
加签
</Button>
)}
......@@ -915,13 +907,15 @@ class DetailSplit extends Component {
) : (
''
)}
{isTrunTo && data.isSecond !== true && !data.isHandle && data.isOwner && (
{isTrunTo &&
data.isSecond !== true &&
!data.isHandle &&
data.isOwner && (
<div
style={{
width: '100%',
textAlign: 'center',
}}
>
}}>
<Button
style={{
minHeight: 32,
......@@ -931,8 +925,7 @@ class DetailSplit extends Component {
onClick={() => {
this.showTrunToModel('撤回', data);
}}
type='primary'
>
type="primary">
撤回
</Button>
</div>
......@@ -947,13 +940,12 @@ class DetailSplit extends Component {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
}}
>
<Spin size='large' spinning={true} />
}}>
<Spin size="large" spinning={true} />
</div>
)}
<PortalFlowExamineModal // 流程图
ref={node => (this.flowExamineModal = node)}
ref={(node) => (this.flowExamineModal = node)}
affairId={id}
id={appId}
code={code}
......@@ -978,10 +970,49 @@ class DetailSplit extends Component {
}
}
export default function Index(props){
console.log(window.zdyTableTemplateWillMountProps?.formCreateOptions);
function Index(props) {
const { dispatch, history } = props;
const [prepare, setPrepare] = useState(false);
useEffect(() => {
const id = history.location.state && history.location.state.id;
const code = history.location.state && history.location.state.code;
const queryId = history.location.query && history.location.query.id;
const taskId = history.location.state && history.location.state.taskId;
if (!id && !code) {
if (queryId) {
} else {
openToast('error', '数据已过期', '当前页面数据已过期,请重新进入');
return;
}
}
message.info('正在加载数据,请等待。');
dispatch({
type: 'affair/getIdFormDetail',
payload: {
id: queryId ? queryId : id, // 审批表Id
code: code || null, // 表单值
handleUser: null, // 处理人
taskId, // 多任务流程会使用到,后续改为必须传入
lite: true,
},
callback: (val) => {
if (val) {
setPrepare(val);
}
},
});
}, []);
if (!prepare) {
return <Spin size="large" spinning={true} />;
}
const DetailSplitFormNew = Form.create(
window.zdyTableTemplateWillMountProps?.formCreateOptions || undefined,
)(DetailSplit);
return <DetailSplitFormNew {...props}/>;
return <DetailSplitFormNew {...props} formPrepareData={prepare} />;
}
export default connect(() => {
return {};
})(Index);
......@@ -49,7 +49,8 @@ export default class IframeForApply extends React.Component {
} = props;
this.state = {
id, // 传入id
init: init && isJSON(init) ? JSON.parse(decodeURIComponent(init)) : undefined,
init: init || undefined,
// 2022年8月9日 发起页面的默认值可以通过这个init 传进来
value: '', // 紧急度选择
btnList: [], // 紧急度按钮返回数据
noNeedApply,
......
......@@ -19,6 +19,7 @@ import getActiveJson from '@/webPublic/one_stop_public/Table/getActiveJson';
export default class ZdyTable extends Component {
constructor(props) {
super(props);
console.log(props);
this.state = {
objRealTime: {},
isChange: false,
......
......@@ -796,9 +796,9 @@ export async function downloadFile(url, params, fileName = '导出文件', ext =
let headers = {
Authorization: `bearer ${localStorage.getItem('antd-pro-token-onestop')}`,
};
if(headersApi){
headers.apis = headersApi;
}
// if(headersApi){
// headers.apis = headersApi;
// }
fetch(transformApi, {
method: 'POST',
body: FormdataWrapper(params),
......@@ -840,9 +840,9 @@ export async function downloadFileAndShowModal(url, params, fileName = '导出
let headers = {
Authorization: `bearer ${localStorage.getItem('antd-pro-token-onestop')}`,
};
if(headersApi){
headers.apis = headersApi;
}
// if(headersApi){
// headers.apis = headersApi;
// }
fetch(transformApi, {
method: 'POST',
body: FormdataWrapper(params),
......
import React from "react";
import { Button, message, Table, Tag } from "antd";
import FormList from "./formList/index";
import { connect } from "dva";
import React from 'react';
import { Button, message, Table, Tag } from 'antd';
import FormList from './formList/index';
import { connect } from 'dva';
import { getModal } from '@/webPublic/one_stop_public/utils/utils';
import TableSelectNormal from '@/webPublic/one_stop_public/libs/Split/TableSelectNormal';
import styles from './Split/styles.less';
const Modal = getModal();
@connect(({ DataColumn, SqlManageEntity, loading }) => ({
@connect(({
DataColumn,
SqlManageEntity,
loading
}) => ({
DataColumn,
SqlManageEntity,
loading: loading.models.DataColumn || loading.models.SqlManageEntity,
......@@ -22,7 +27,7 @@ export default class TableSelect extends React.Component {
try {
this.otherProps = new Function(props.json.otherProps)();
} catch (e) {
console.log('TableSelect组件 otherProps 获取失败')
console.log('TableSelect组件 otherProps 获取失败');
}
}
this.state = {
......@@ -67,7 +72,10 @@ export default class TableSelect extends React.Component {
select = (obj) => {
var { selects } = this.state;
const {
json: { isMultiple, optionType },
json: {
isMultiple,
optionType
},
} = this.props;
let valueName = this.props.json.valueName;
......@@ -81,7 +89,12 @@ export default class TableSelect extends React.Component {
return;
}
if (!isMultiple) {
selects = { [kk]: { ...obj, selectKey: kk } };
selects = {
[kk]: {
...obj,
selectKey: kk
}
};
} else {
selects[kk] = obj;
selects[kk].selectKey = kk;
......@@ -94,8 +107,14 @@ export default class TableSelect extends React.Component {
selectAll = () => {
let { selects } = this.state;
const { dataSource, json } = this.props;
let { valueName, optionType } = json;
const {
dataSource,
json
} = this.props;
let {
valueName,
optionType
} = json;
const { list } = dataSource;
if (optionType == 'reference' && this.props.dataColumn.referenceObjId) {
valueName = this.props.dataColumn.referenceCodeName;
......@@ -122,13 +141,22 @@ export default class TableSelect extends React.Component {
};
close = (i) => {
var { values, labels } = this.state;
var {
values,
labels
} = this.state;
values.splice(i, 1);
labels.splice(i, 1);
if (!('value' in this.props)) {
this.setState({ values, labels });
this.setState({
values,
labels
});
}
this.triggerChange({ values, labels });
this.triggerChange({
values,
labels
});
};
open = () => {
......@@ -150,7 +178,10 @@ export default class TableSelect extends React.Component {
cancelOne = (record) => {
var { selects } = this.state;
const {
json: { isMultiple, optionType },
json: {
isMultiple,
optionType
},
} = this.props;
let valueName = this.props.json.valueName;
......@@ -174,16 +205,25 @@ export default class TableSelect extends React.Component {
render() {
const {
json: { isMultiple, sql, optionType, showTable, isShowQuanXuan },
json: {
isMultiple,
sql,
optionType,
showTable,
isShowQuanXuan
},
dataColumn: { referenceObjId },
sqlModel,
columns,
dataSource,
disabled,
} = this.props;
let disabled = this.props.disabled || this.props.json.disabled; // 禅道 28713
const { cardSelectModalProps = {} } = this.otherProps;
let { valueName, labelName } = this.props.json;
let {
valueName,
labelName
} = this.props.json;
if (optionType == 'reference' && referenceObjId) {
valueName = this.props.dataColumn.referenceCodeName;
labelName = this.props.dataColumn.referenceNameName;
......@@ -191,21 +231,29 @@ export default class TableSelect extends React.Component {
if (valueName == null || valueName == '') {
return <>请指定取值的列名</>;
}
const { selects, visiable, labels } = this.state;
const {
selects,
visiable,
labels
} = this.state;
const keys = [];
for (let i in selects) {
keys.push(selects[i][valueName]);
}
const columns2 = [
...columns,
{
];
if (!disabled) {
columns2.push({
title: '操作',
render: (val, record) => <a onClick={this.remove.bind(this, record.selectKey)}>移除</a>,
},
];
},);
}
const columns3 = [
...columns,
{
];
if (!disabled) {
columns3.push( {
title: '操作',
render: (val, record) =>
keys.includes(record[valueName]) ? (
......@@ -218,8 +266,10 @@ export default class TableSelect extends React.Component {
) : (
<a onClick={this.select.bind(this, record)}>选择</a>
),
},
];
},);
}
const custom = {
isAll: this.state.isAll,
querys: this.state.querys,
......@@ -260,7 +310,8 @@ export default class TableSelect extends React.Component {
pagination={false}
/>
) : (
Object.keys(selects).map((k) => (
Object.keys(selects)
.map((k) => (
<Tag key={k} closable={!disabled} onClose={this.remove.bind(this, k)}>
{selects[k][labelName]}
</Tag>
......
......@@ -248,18 +248,7 @@ class TreeList extends React.Component {
});
},
});
// } else {
// router.push({
// pathname: '/admin/ddl/dataObj/formEdit',
// state: {
// id: this.state.objId,
// recordId: record[this.state.primaryKey],
// recordKey: this.state.primaryKey,
// isAdd: false,
// isView:false
// },
// });
// }
};
view = (record) => {
......@@ -271,18 +260,7 @@ class TreeList extends React.Component {
isAdd: false,
isView: true,
});
// } else {
// router.push({
// pathname: '/admin/ddl/dataObj/formEdit',
// state: {
// id: this.state.objId,
// recordId: record[this.state.primaryKey],
// recordKey: this.state.primaryKey,
// isAdd: false,
// isView:true
// },
// });
// }
};
isJSON = (str) => {
......
......@@ -18,6 +18,9 @@ export default function giveVarcharRules({
res.push({
max: dataColumn.length,
message: `不能超过${dataColumn.length}个字符`,
transform: function(value){
return value + '';
},
});
}
return res;
......
......@@ -20,6 +20,7 @@ import { getUrlInfo } from '@/webPublic/one_stop_public/DetailForAudit/utils';
import { getHeaders, getIsBei_Dian } from '@/webPublic/zyd_public/utils/utils';
import { proxyChangeUrl } from '@/webPublic/zyd_public/request/proxyChangeUrl';
import { getTransformApi } from '@/webPublic/one_stop_public/2022beidianke/localstorageTransform';
import { getVisitorToken } from '@/webPublic/zyd_public/utils/getHeaders';
const codeMessage = {
200: '服务器成功返回请求的数据。',
......@@ -245,7 +246,7 @@ export async function requestOrigin(url, data, options = {}){
});
} else {
const pp = {
token: getToken(), // 部分接口 只需要传入假token 所以这里优先级是 data中的token > getToken;
token: getVisitorToken(), // 部分接口 只需要传入假token 所以这里优先级是 data中的token > getToken;
...data,
version_: version,
};
......@@ -260,10 +261,7 @@ export async function requestOrigin(url, data, options = {}){
// 由于自动添加前缀 这里暂时修改getUrl(url)
let fetchRequest = url.indexOf('UserApi/login') > -1 ? loginUmiRequest : umiRequest;
if (process.env.NODE_ENV !== 'production' && url.indexOf('UserApi/login') > -1) {
url = '/UserApi/login'; // 通过 proxy代理 解决登录接口本地跨域问题
options.prefix = '';
}
if (getToken()) {
options.headers = getHeaders(url).headers;
}
......@@ -273,11 +271,11 @@ export async function requestOrigin(url, data, options = {}){
if(options.headers){
options.headers = {
...options.headers,
apis: headersApi,
// apis: headersApi,
};
}else{
options.headers = {
apis: headersApi,
// apis: headersApi,
};
}
}
......
......@@ -5,8 +5,18 @@ import { getUrlInfo } from '@/webPublic/one_stop_public/DetailForAudit/utils';
const isTest = getUrlInfo().test;
export function getVisitorToken(){
let token = getToken();
const visitor_client = sessionStorage.getItem('visitor_client') === 'true' || !!getUrlInfo().visitor;
if(visitor_client && (token === 'null' || !token)){ // 访客token 欢哥喊加的
token = '704d693b-cc68-49a7-8888-4acc73b5ca73';
}
return token;
}
export function getHeaders(url = '', headersApi = undefined) {
const token = getToken();
let token = getVisitorToken();
const currentInfo = getCurrentUser() || {};
const user = getUserInfo() || {};
const userId = user.id || currentInfo.xgUserId;
......@@ -16,6 +26,9 @@ export function getHeaders(url = '', headersApi = undefined) {
headers: {},
};
if(url && typeof url === 'string' && url.indexOf('oauthPub=true') > -1){ // 公共接口不需要token
return res;
}
if (!token || token === 'null') {
return res;
} else {
......@@ -26,9 +39,9 @@ export function getHeaders(url = '', headersApi = undefined) {
res.headers.Authorization = `bearer ${token}`;
res.headers.auth = gg5xxxxx(secretString);
res.headers.timestamp = timestamp;
if (headersApi) {
res.headers.apis = headersApi;
}
// if (headersApi) {
// res.headers.apis = headersApi;
// }
}
return res;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论