Commit e15defe3 by tungnq

TODO: Đã dựng xong khung văn bản đi chờ duyệt

parent e68772c1
......@@ -26,6 +26,7 @@ import ListSendDocument from '../screens/list_send_document';
import EditSendDocument from '../screens/list_send_document/edit';
import AddSendDocument from '../screens/list_send_document/add';
import DetailSendDocument from '../screens/list_send_document/detail';
import StatusSendDocument from '../screens/list_send_document/status';
const Stack = createStackNavigator();
function MyStack(props) {
......@@ -60,6 +61,7 @@ function MyStack(props) {
<Stack.Screen name={ScreenName.EDITSENDDOCUMENT} component={EditSendDocument}/>
<Stack.Screen name={ScreenName.ADDSENDOCUMENT} component={AddSendDocument}/>
<Stack.Screen name={ScreenName.DETAILSENDDOCUMENT} component={DetailSendDocument}/>
<Stack.Screen name={ScreenName.STATUSSENDDOCUMENT} component={StatusSendDocument}/>
</Stack.Navigator>
);
}
......
import React from 'react';
import React, {useState} from 'react';
import {Text, View, StyleSheet} from 'react-native';
import EditSendDocumentView from './view';
const EditSendDocument = (props) => {
const [dataList, setDataList] = useState([
{ id: 1, name: 'Nguyễn Minh Đức' },
{ id: 2, name: 'Trần Văn Hùng' },
{ id: 3, name: 'Lê Thị Mai' },
{ id: 4, name: 'Phạm Quốc Khánh' },
{ id: 5, name: 'Hoàng Anh Tuấn' },
{ id: 6, name: 'Vũ Thị Hằng' },
{ id: 7, name: 'Ngô Văn Nam' },
{ id: 8, name: 'Đinh Thị Lan' },
{ id: 9, name: 'Bùi Văn Phúc' },
{ id: 10, name: 'Lý Thị Hoa' },
{ id: 11, name: 'Phan Minh Hoàng' },
{ id: 12, name: 'Tạ Thị Hương' },
{ id: 13, name: 'Đoàn Văn Dũng' },
{ id: 14, name: 'Nguyễn Thị Vân' },
{ id: 15, name: 'Trương Văn Long' },
{ id: 16, name: 'Mai Thị Ngọc' },
{ id: 17, name: 'Huỳnh Quốc Việt' },
{ id: 18, name: 'Lâm Thị Thu' },
{ id: 19, name: 'Nguyễn Hữu Tài' },
{ id: 20, name: 'Phạm Thị Kim' }
]);
return (
<EditSendDocumentView />
<EditSendDocumentView
dataList={dataList}
/>
);
};
......
import { StyleSheet, Text, View } from 'react-native'
import R from '../../../assets/R'
const styles = StyleSheet.create({})
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: R.colors.white,
},
body: {
flex: 1,
backgroundColor: R.colors.white,
marginHorizontal:15,
},
row_1:{
flexDirection: 'row',
justifyContent: 'space-between',
marginBottom: 10,
marginTop: 10,
},
sub_text :{
fontSize: R.fontsize.fontSizeContent,
fontWeight: '500',
fontFamily:R.fonts.fontSemiBold,
color:R.colors.black,
},
text:{
fontSize: R.fontsize.fontSizeContent,
fontWeight: '400',
fontFamily:R.fonts.fontRegular,
color:R.colors.black,
},
containerDropdown:{
marginBottom:10,
position: 'relative',
zIndex: 1000
},
chip: {
flexDirection: 'row',
alignItems: 'center',
// position: 'relative',
paddingLeft: 10,
paddingRight:10,
height: 25,
borderRadius: 10,
marginBottom:10,
marginRight:5,
backgroundColor: R.colors.blue2,
alignSelf:'flex-start'
},
imageIcon: {
width: 15,
height: 15,
},
containerIcon: {
marginRight: 2,
},
flatListSelect:{
flexDirection:'row',
flexWrap:'wrap',
},
textChip:{
fontSize: R.fontsize.fontSizeContent,
fontWeight: '400',
fontFamily:R.fonts.fontRegular,
color:R.colors.blueTextChip,
},
containerBtn:{
flexDirection:'row',
alignItems:'center',
justifyContent:'space-around',
marginVertical:10,
borderRadius:10,
backgroundColor:R.colors.blue1,
padding:10,
width:350
},
button:{
borderRadius:10,
alignItems:'center',
justifyContent:'center',
marginVertical:10,
borderWidth:1,
borderColor:R.colors.blue1,
height:80
}
})
export default styles
\ No newline at end of file
import React from 'react';
import {Text, View, TouchableOpacity, StyleSheet} from 'react-native';
import {
Text,
View,
TouchableOpacity,
StyleSheet,
FlatList,
Image,
ScrollView,
} from 'react-native';
import Header from '../../../components/Header/Header';
import R from '../../../assets/R';
import {useNavigation} from '@react-navigation/native';
import * as ScreenName from '../../../routers/ScreenNames';
import Button from '../../../components/Button';
import Dropdown from '../../../components/DropdownAlert/Dropdown';
import styles from './style';
import TextField from '../../../components/Input/TextField';
import TextMulti from '../../../components/Input/TextMulti';
const EditSendDocumentView = (props) => {
const { } = props;
const EditSendDocumentView = props => {
const {dataList} = props;
const navigation = useNavigation();
const renderItem_1 = ({item, onPress}) => {
return (
<View
style={{
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}}>
<TouchableOpacity>
<Text>EditSendDocument</Text>
<View style={styles.chip}>
<TouchableOpacity style={styles.containerIcon} onPress={onPress}>
<Image
resizeMode="cover"
source={R.images.icCancel}
style={styles.imageIcon}
tintColor={R.colors.blue}
/>
</TouchableOpacity>
<Text style={styles.textChip}> {`${item.id}, ${item.name}`}</Text>
</View>
);
};
const body = () => {
return (
<View style={styles.body}>
<View style={styles.row_1}>
<Text style={styles.sub_text}>
Ngày to: <Text style={styles.sub_text}>29/07/2025</Text>
</Text>
<Text style={styles.sub_text}>
Trng thái:{' '}
<Text style={[styles.sub_text, {color: R.colors.orange}]}>
D tho
</Text>
</Text>
</View>
<TextField
title="Tiêu đề"
required
fontSize={R.fontsize.fontSizeContent}
fontSizeTitle={R.fontsize.fontSizeContent}
fontFamily={R.fonts.fontSemiBold}
placeholder="Nhập tiêu đề"
containerMarginBottom={10}
/>
<TextMulti
title="Nội dung văn bản"
required
fontSize={R.fontsize.fontSizeContent}
titleFontSize={R.fontsize.fontSizeContent}
fontFamily={R.fonts.fontSemiBold}
placeholder="Ban lãnh đạo yêu cầu hoàn thành thời khóa biểu trong tháng cho các đơn vị chuyên môn sắp xếp các công việc và lịch liên quan"
containerMarginBottom={10}
numberOfLines={3}
/>
<TextMulti
title="Ghi chú"
fontSize={R.fontsize.fontSizeContent}
titleFontSize={R.fontsize.fontSizeContent}
fontFamily={R.fonts.fontSemiBold}
placeholder="Ban lãnh đạo yêu cầu hoàn thành thời khóa biểu trong tháng cho các đơn vị chuyên môn sắp xếp các công việc và lịch liên quan"
containerMarginBottom={10}
numberOfLines={3}
/>
<TextField
fontSize={R.fontsize.fontSizeContent}
titleFontSize={R.fontsize.fontSizeContent}
fontFamily={R.fonts.fontSemiBold}
title="Loại văn bản"
required
containerMarginBottom={10}
/>
<TextField
title="Loại vực văn bản"
required
containerMarginBottom={10}
/>
<View style={styles.containerDropdown}>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Chế độ <Text style={{color: R.colors.red}}>*</Text>
</Text>
<Dropdown
title="Chế độ"
required
containerMarginBottom={10}
height={35}
/>
</View>
<View style={styles.containerDropdown}>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Phòng ban nhn <Text style={{color: R.colors.red}}>*</Text>
</Text>
<Dropdown
title="Chế độ"
required
containerMarginBottom={10}
height={35}
/>
</View>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Danh sách phòng ban nhn đã chn :
</Text>
<FlatList
data={dataList}
renderItem={({item}) => renderItem_1({item, onPress: () => {}})}
keyExtractor={(item, index) =>
item.id?.toString() || index.toString()
}
numColumns={2}
style={{maxHeight: 150, marginBottom: 10}}
showsVerticalScrollIndicator={true}
columnWrapperStyle={styles.flatListSelect}
nestedScrollEnabled={true}
scrollEnabled={true}
/>
<View style={styles.containerDropdown}>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Nhóm người nhn <Text style={{color: R.colors.red}}>*</Text>
</Text>
<Dropdown
title="Chế độ"
required
containerMarginBottom={10}
height={35}
/>
</View>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Danh sách nhóm người nhn đã chn :
</Text>
<FlatList
data={dataList}
renderItem={({item}) => renderItem_1({item, onPress: () => {}})}
keyExtractor={(item, index) =>
item.id?.toString() || index.toString()
}
numColumns={2}
style={{maxHeight: 150, marginBottom: 10}}
showsVerticalScrollIndicator={true}
columnWrapperStyle={styles.flatListSelect}
nestedScrollEnabled={true}
scrollEnabled={true}
/>
<View style={styles.containerDropdown}>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Người nhn <Text style={{color: R.colors.red}}>*</Text>
</Text>
<Dropdown
title="Chế độ"
required
containerMarginBottom={10}
height={35}
/>
</View>
<Text style={[{marginBottom: 3}, styles.sub_text]}>
Danh sách người nhn đã chn :
</Text>
<FlatList
data={dataList}
renderItem={({item}) => renderItem_1({item, onPress: () => {}})}
keyExtractor={(item, index) =>
item.id?.toString() || index.toString()
}
numColumns={2}
style={{maxHeight: 150, marginBottom: 10}}
showsVerticalScrollIndicator={true}
columnWrapperStyle={styles.flatListSelect}
nestedScrollEnabled={true}
scrollEnabled={true}
/>
{footer()}
</View>
);
};
const footer = () => {
return (
<View style={styles.footer}>
<Text style={[styles.sub_text, {color: R.colors.blue}]}>
Tài liu đính kèm
</Text>
<TouchableOpacity style={styles.containerBtn}>
<Text style={styles.text}>
Quyết định thông báo đào to - QD347583
</Text>
<Image
source={R.images.icCancel}
style={{width: 20, height: 20}}
resizeMode="contain"
tintColor={R.colors.blue}
/>
</TouchableOpacity>
<TouchableOpacity style={styles.button}>
<Image
source={R.images.icDocument}
style={{width: 35, height: 35}}
resizeMode="contain"
tintColor={R.colors.blue}
/>
<Text style={[styles.sub_text, {color: R.colors.blue}]}>
Thêm tài liu
</Text>
</TouchableOpacity>
<View style={{flexDirection: 'row'}}>
<View style={{flex: 1}}>
<Button
title="Yêu cầu phê duyệt"
onPress={() => navigation.navigate(ScreenName.STATUSSENDDOCUMENT)}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
borderRadius={15}
paddingVertical={3}
fontSize={R.fontsize.fontSizeContent}
containerMarginBottom={10}
/>
</View>
<View style={{flex: 0.1}}></View>
<View style={{flex: 1}}>
<Button
title="Cập nhật"
onPress={() => {}}
backgroundColor={R.colors.blue}
textColor={R.colors.white}
borderRadius={15}
paddingVertical={3}
fontSize={R.fontsize.fontSizeContent}
containerMarginBottom={10}
/>
</View>
</View>
</View>
);
};
return (
<View style={styles.container}>
<Header title={'Tạo mới văn bản đi'} isBack />
<ScrollView showsVerticalScrollIndicator={false}>{body()}</ScrollView>
</View>
);
};
export default EditSendDocumentView;
const styles = StyleSheet.create({})
\ No newline at end of file
import { StyleSheet, Text, View } from 'react-native'
const styles = StyleSheet.create({
})
export default styles
\ No newline at end of file
import React from 'react';
import {Text, View, TouchableOpacity, StyleSheet} from 'react-native';
const DraftView = (props) => {
const { } = props;
return (
<View
style={{
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}}>
<TouchableOpacity>
<Text>Draft</Text>
</TouchableOpacity>
</View>
);
};
export default DraftView;
const styles = StyleSheet.create({})
\ No newline at end of file
import React from 'react';
import {Text, View, StyleSheet} from 'react-native';
import StatusScreenView from './view';
import ApprovalView from './view';
const StatusScreen = (props) => {
const Approval = (props) => {
return (
<StatusScreenView />
<ApprovalView />
);
};
export default StatusScreen;
export default Approval;
import React from 'react';
import {Text, View, TouchableOpacity, StyleSheet} from 'react-native';
const AwaitingApprovalView = (props) => {
import styles from './style';
const ApprovalView = (props) => {
const { } = props;
return (
<View
......@@ -11,12 +11,10 @@ const AwaitingApprovalView = (props) => {
alignItems: 'center',
}}>
<TouchableOpacity>
<Text>AwaitingApproval</Text>
<Text>Approval</Text>
</TouchableOpacity>
</View>
);
};
export default AwaitingApprovalView;
const styles = StyleSheet.create({})
\ No newline at end of file
export default ApprovalView;
......@@ -100,7 +100,7 @@ const ListSendView = (props) => {
<View style={{flex: 0.1}}></View>
<Button
title="Chỉnh sửa"
onPress={() => {}}
onPress={() => navigation.navigate(ScreenName.EDITSENDDOCUMENT)}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
width={150}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment